Програмування (і бізнес програми) зазвичай мають справу з такими простими типами даних: число, рядок, дата. Значення цих типів для різних країн, стандартів і просто звичок можуть мати різне уявлення.
Ймовірно найвідоміший приклад, це різне уявлення часу - в Росії звично використовувати 9:00 і 21.00, а в англомовних країнах 9am і 9pm. Різниця як в логіці (12ти годинна система або 24х годинна), так і в написанні.
Подання значення називається «формат» і сьогодні ми обговоримо зміна формату дати і формату числа в 1С.
Використовувати форматування можна як програмісту в мові 1С, так і візуально, без програмування, наприклад при створенні друкарської форми або звіту, під час налаштування елементів на формі.
Що таке форматування
Число і дата незалежно від його уявлення на екрані або на друку - залишається самим собою. Форматування має на увазі собою виключно перетворення до строковому значенням - тобто як він буде «виглядати» на екрані комп'ютера або на папері.
Основні відмінності форматів 1С уявлення чисел і дат:
- число
o «.» або «,» для відділення дробової частини
o кількість знаків після коми
o угруповання цифр у числі по 3 (1 000 000, а не 1000000) - дата та час
o порядок року, місяця, дня
o символ-роздільник
o формат 1С часу (12 або 24 години)
o деталі написання.
Також в форматі 1С можуть бути вказані додаткові «зручності», наприклад негативні числа виводити червоним кольором, або вистава «порожнього значення» у вигляді «0» або «не заповнено».
Форматування за замовчуванням працює, наприклад, коли потрібно перевести число в рядок. У деяких випадках такі установки можуть служити погану службу там, де програміст цього і не чекає.
Наприклад, коли потрібно перевести число в рядок воно перекладається з урахуванням угруповання цифр (а ви цього очікуєте?):
ЧіслоСтрокой = СокрЛП (2400); // дорівнюватиме «2 400"
Для точної вказівки формату в мові 1С є функція Формат (), за допомогою якої можливо вказати необхідну уявлення.
ЧіслоСтрокой = Формат (2400, «Налаштування»)
Як рядки «Налаштування» потрібно вказати необхідний формат 1С. Такі настройки вказуються в спеціальному закодованому вигляді. Розглянемо найбільш часто використовувані настройки:
Формат 1С дати і числа за замовчуванням
Якщо Вам потрібно вивести дату або число і не хочеться морочитися зі знанням як вони повинні бути представлені за правилами потрібної країни, є просте налаштування, яка дозволить Вам це зробити:
Як не важко помітити, назви країн - інтуїтивні.
Формат дати в мові 1С
Якщо настройки за замовчуванням Вам недостатньо і хотілося б самостійно вказати порядок частин дати і символи їх поділу, необхідно використовувати налаштування:
ДФ = «ДМГ ЧМС»
Відповідно «ДМГ» - це день, місяць і рік, а «ЧМС» - це годинник, хвилини і секунди. Будь-яку з цих частин можливо пропустити. Порядок проходження - будь-хто. Символи, зазначені між частинами будуть використані як символи поділу.
Символ частині дати може бути вказаний кілька разів поспіль, від цього залежить вид цієї частини дати, наприклад «д» або «дд» або «дддд».
Розшифровка частин дати:
- д - день
o маленька «д»
o може бути вказана від 1 до 4 разів - М - місяць
o велика «М»
o може бути вказана від 1 до 4 разів - г - рік
o маленька «г»
o може бути вказана 1 або 2 або 4 рази - ч - годинник
o маленька «ч» - 12ті годинному форматі
o велика «Ч» - 24х годинний формат
o може бути вказана 1 або 2 рази - м - хвилини
o маленька «м»
o може бути вказана 1 або 2 рази - с - секунди
o маленька «с»
o може бути вказана 1 або 2 рази - ст - відображення AM / PM для 12ти годинного формату
- до - квартал.
Формат числа в мові 1С
На відміну від форматування дати, де все досить просто, для форматування числа є багато параметрів. Ми розглянемо ті, які нам здалися корисними - тобто на нашу думку часто застосовуються.
Перша «проблема» пов'язана з угрупованням за замовчуванням цифр в числах по 3 і поділом груп прогалиною, наприклад:
СтрЧісло = Рядок (22300500)
> 22 300 500
Це незручно, коли число перетворюється до рядка не для красивого і зрозумілого виведення користувачеві, а для службових потреб. На це можна вплинути за допомогою параметра «ЛР», наприклад:
Формат (22300500, "ЧГ = 100")
> 22300500 // взагалі прибрали нулі
Формат (22300500, "ЧГ = 6")
> 22 300500 // зробили угруповання тільки мільйонів
Параметр, який дозволяє округлити число при виведенні до потрібної кількості цифр після коми «ЧДЦ»:
Формат (3.535353, "ЧДЦ =" "2" "")
> 3,54
Параметр, який дозволяє вказати символ-роздільник цілої та дробової частини «ЧРД»:
Формат (3.535353, "ЧРД =" "." "")
> 3.535353
Для деяких випадків буває корисно мати можливість замість числа «0» відображати щось інше: порожній рядок або «не заповнено». Це дозволяє робити параметр «ЧН»:
Формат 1С поля на формі
Ми розглянули з Вами прийоми, які дозволяють програмісту форматувати значення в мови 1С. Також є механізми, які дозволяють вказати необхідний формат візуально, без програмування.
Наприклад, користувач працює з формою. На формі є поле, яке відображає дату. Ми можемо вплинути на подання цієї дати.
Відкрийте властивості цього поля. Для цього - в товстому клієнті натисніть правою кнопкою на поле, а в тонкому - правою кнопкою на імені поля у списку полів, виберіть пункт Властивості.
У поля є властивість «Формат».
Натисніть кнопку «...», щоб налаштувати його. Для настройки формату дати використовуйте ятати Дата (для числа - ятати Число). Ви можете вибрати необхідний формат зі списку.
Формат 1С осередки в друкованій формі
Коли потрібно розробити друковану форму (звіт або друк документа), можна призначити формат комірки точно таким же способом, як і для поля документа.
Вибираємо комірку (або кілька осередків одночасно), заходимо в властивості, властивість «Формат», вибираємо необхідний формат.
Формат 1С в СКД
Звіти СКД дозволяють налаштувати формат 1С як програмісту (в момент створення звіту), так і користувачеві (при використанні звіту). Також можливостей більше за рахунок використання умовного форматування.
Це означає Ви не тільки вказуєте яке поле як форматувати, а й за якої умови (наприклад, якщо значення цього поля - негативне).
У режимі Підприємство виберіть пункт меню на формі звіту «Змінити варіант». У звіті СКД в товстому клієнті цей пункт в меню «Дії / Налаштування».
У формі всіх налаштувань СКД є закладка «Умовне форматування». Додайте нову сходинку. У рядку три колонки:
- Оформлення. Вкажіть необхідний формат 1С - шрифт, колір фону або тексту, формат 1С відображення числа і дати
- Умова. Якщо дане оформлення застосовувати завжди - то залиште це поле порожнім. Інакше - вкажіть поле і його значення. Тоді форматування буде застосовано тільки в тих рядках, в яких ці значення збігаються. Якщо потрібно вказати значення декількох полів одночасно і умов «і / або» - додайте групу і згрупуйте поля за допомогою груп.
- Оформляються поля. Список полів, для яких буде застосовано форматування.
Формат 1С в керованих формах
Аналогічні правила форматування діють в будь-якій формі списку керованого клієнта. У формі списку виберіть пункт меню «Всі дії / Налаштувати список».
Закладка Умовне оформлення.
Вибираємо необхідну оформлення та формат.
Вказуємо список полів, на які буде застосовано це оформлення.