Інтернет Windows Android

Некоректний формат дати в 1с 8.3. форматна рядок

Основні типи даних в 1С - число, логічне і дата, можуть бути представлені безліччю форматів. Програмісти часто стикаються з тим, що вимоги до виду даних сильно розрізняються в різних звітах і таблицях. Розробники 1С подумали про зручність програмістів і створили спеціальну функцію, істотно полегшує процес зміни зовнішнього вигляду даних. Основне завдання функції - привести число, дату або логічний тип до потрібного вигляду строкового типу.

Опис функції «Формат»

Синтаксис цієї функції простий - в якості параметрів ви можете передати два параметри. Спочатку розробник вказує значення, яке має піддатися форматування. Щоб 1С зрозуміла, як потрібно змінити значення, програміст вказує другий параметр у вигляді строкового значення, що містить зумовлені операнди. Саме значення цього рядка і визначає, якими постануть перед користувачами дані в звіті.

ОтформатірованноеЗначеніе = Формат (ПеременнаяДляФорматірованія, ТекстоваяФорматнаяСтрока);

Якщо параметр «ФорматнаяСтрока» не заданий, то 1С перетворює задане значення в рядок. Пам'ятайте, що порожня дата і 0 будуть перетворені до порожньому рядку, що може не сподобатися користувачам. Кожен параметр в форматної рядку являє собою комбінацію з найменування, символу «=» і значення, зазначених вище в лапках. Це дозволяє передбачати вкраплення символів, використовуваних в написанні рядка формату функції Формат в 1С.

В відображення даних ви можете вставити довільний символ за винятком використовуваних в синтаксисі написання рядка формату. Якщо є необхідність обійти це обмеження - використовуйте одинарні лапки. Це рішення також допоможе в ситуаціях, коли символ може бути витлумачений компілятором невірно.

Для зручності розробників в 1С вбудований конструктор рядка формату. До нього можна звернутися в модулях через контекстне менюабо в СКД через передбачені розробниками місця. Наприклад, таку можливість можна виявити в списку полів для запиту в розділі «Оформлення».

Найважливіша перевага конструктора в тому, що ви відразу ж можете побачити, як будуть в підсумку виглядати ваші дані. Після того як ви виставили необхідні настройки по конкретному типу даних в розділі «Приклад», вам демонструють результат ваших установок. У безіменному текстовому полі внизу ви виявите форматну рядок, за допомогою якої отримано результат. Її можна скопіювати і використовувати в подальшому, якщо результат вас повністю влаштує.

Конструктор рядка формату може стати відмінною підмогою початківцям розробникам, але досвідчені програмісти вважають за краще не витрачати час на нього. Розробка піде набагато швидше, якщо ви будете знати основні ключові параметри рядка формату і використовувати їх без виклику конструктора.

Основні параметри рядка формату

Вивчити всі доступні команди не вийде, і в цьому немає необхідності. Розробнику достатньо лише знати деякі популярні операції і як їх застосовувати. У будь-який момент ви зможете в синтаксис-помічника відкрити повний перелік параметрів рядка формату і вибрати потрібний. Програмісту 1С можуть стати в нагоді в щоденній роботі наступні параметри:

  • Л - формат країни, для представників якої будуть виводитися дані;
  • ЧГ - задає угруповання розрядів числа;
  • ЧЦ - встановлює загальну кількість груп символів цілої і дробової частини числа, які будуть виводитися на перегляд. Якщо в форматної рядку з цим ключем не задано значення параметра ЧДЦ, то дрібна частина не буде висвітлена;
  • ЧДЦ - параметр, що задає число символів в частині числа після коми. Округлення відбувається у відповідності зі стандартними правилами математики;
  • НС - параметр, зсувний розряди числа. Значення може бути позитивним - множення на 10, або негативним - поділ. Корисна команда, якщо вам потрібно вивести в одному виді, а продовжити роботу з числом в іншому;
  • ЧРД - задає символ, що розділяє дробову і цілу частини числа. Щоб встановити символ, що розділяє групи цілої частини, використовуйте «ЧРГ». для застосування нерозривного пробілувикористовуйте порожній рядок;
  • ЧВН - показує використання лідируючих нулів. Значення цього параметра не ставить;
  • ДФ - один з найбільш часто зустрічаються параметрів рядка формату. Управляє форматом дати. В 1С за допомогою команди «Формат» можна вивести дату практично в будь-якому форматі, включаючи написання назви місяця. Можливих значень багато, їх перелік можна побачити в синтаксис-помічника;
  • БЛ і БІ - встановлюють уявлення для логічного типуданих, відповідаючи, відповідно, за брехню і правду. Таким чином, стандартну «галочку» ви зможете замінити будь-яким словом або фразою, більш дохідливій для користувачів.

Універсалізм і зручність конструктора стали ключовими причинами популярності функції «Формат» серед розробників 1С. гнучкі настройкидопоможуть вам задати будь-яке зовнішній виглядданими за бажанням клієнта.

Програмування (і бізнес програми) зазвичай мають справу з такими простими типами даних: число, рядок, дата. Значення цих типів для різних країн, Стандартів і просто звичок можуть мати різне уявлення.

Ймовірно найвідоміший приклад, це різне уявлення часу - в Росії звично використовувати 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С дати і числа за замовчуванням

Якщо Вам потрібно вивести дату або число і не хочеться морочитися зі знанням як вони повинні бути представлені за правилами потрібної країни, є просте налаштування, Яка дозволить Вам це зробити:

L = КраткоеНаіменованіеНужнойСтрани

Приклад виведення дати за правилами деяких країн:
Формат (ТекущаяДата (), «L = ru»)
> 28.03.2012 14:21:32

Формат (ТекущаяДата (), «L = en»)
> 3/28/2012 2:21:24 PM

Формат (ТекущаяДата (), «L = fr»)
> 28/03/2012 14:22:08

Як не важко помітити, назви країн - інтуїтивні.

Формат дати в мові 1С

Якщо настройки за замовчуванням Вам недостатньо і хотілося б самостійно вказати порядок частин дати і символи їх поділу, необхідно використовувати налаштування:
ДФ = «ДМГ ЧМС»

Відповідно «ДМГ» - це день, місяць і рік, а «ЧМС» - це годинник, хвилини і секунди. Будь-яку з цих частин можливо пропустити. Порядок проходження - будь-хто. Символи, зазначені між частинами будуть використані як символи поділу.

Символ частині дати може бути вказаний кілька разів поспіль, від цього залежить вид цієї частини дати, наприклад «д» або «дд» або «дддд».

Розшифровка частин дати:

  • д - день
    o маленька «д»
  • М - місяць
    o велика «М»
    o може бути вказана від 1 до 4 разів
  • г - рік
    o маленька «г»
    o може бути вказана 1 або 2 або 4 рази
  • ч - годинник
    o маленька «ч» - 12ті годинному форматі
    o велика «Ч» - 24х годинний формат
  • м - хвилини
    o маленька «м»
    o може бути вказана 1 або 2 рази
  • с - секунди
    o маленька «с»
    o може бути вказана 1 або 2 рази
  • ст - відображення AM / PM для 12ти годинного формату
  • до - квартал.

Приклад виведення дати із зазначенням правил:
Формат (ТекущаяДата (), "ДФ =" "дд.мм.рррр гг: мм: сс" "")
> 28.03.2012 02:44:44

Формат (ТекущаяДата (), "ДФ =" "М / д / рррр ч: м: з ст" "")
> 3/28/2012 2:44:44 PM

Формат (ТекущаяДата (), "ДФ =" "дд / ММ / рррр гг: мм: сс" "")
> 28/03/2012 02:44:44

Формат числа в мові 1С
На відміну від форматування дати, де все досить просто, для форматування числа є багато параметрів. Ми розглянемо ті, які нам здалися корисними - тобто на нашу думку часто застосовуються.

Перша «проблема» пов'язана з угрупованням за замовчуванням цифр в числах по 3 і поділом груп прогалиною, наприклад:
СтрЧісло = Рядок (22300500)
> 22 300 500

Це незручно, коли число перетворюється до рядка не для красивого і зрозумілого виведення користувачеві, а для службових потреб. На це можна вплинути за допомогою параметра «ЛР», наприклад:

Формат (22300500, "ЧГ = 100")
> 22300500 // взагалі прибрали нулі

Формат (22300500, "ЧГ = 6")
> 22 300500 // зробили угруповання тільки мільйонів

Параметр, який дозволяє округлити число при виведенні до потрібної кількості цифр після коми «ЧДЦ»:

Формат (3.535353, "ЧДЦ =" "2" "")
> 3,54

Параметр, який дозволяє вказати символ-роздільник цілої та дробової частини «ЧРД»:

Формат (3.535353, "ЧРД =" "." "")
> 3.535353

Для деяких випадків буває корисно мати можливість замість числа «0» відображати щось інше: порожній рядок або «не заповнено». Це дозволяє робити параметр «ЧН»:

Формат (0, "ЧН =" "" "")
>

Формат 1С поля на формі

Ми розглянули з Вами прийоми, які дозволяють програмісту форматувати значення в мови 1С. Також є механізми, які дозволяють вказати необхідний формат візуально, без програмування.

Наприклад, користувач працює з формою. На формі є поле, яке відображає дату. Ми можемо вплинути на подання цієї дати.

Відкрийте властивості цього поля. Для цього - в товстому клієнті натисніть правою кнопкою на поле, а в тонкому - правою кнопкою на імені поля у списку полів, виберіть пункт Властивості.
У поля є властивість «Формат».

Натисніть кнопку «...», щоб налаштувати його. Для настройки формату дати використовуйте ятати Дата (для числа - ятати Число). Ви можете вибрати необхідний формат зі списку.

Формат 1С осередки в друкованій формі

Коли потрібно розробити друковану форму (звіт або друк документа), можна призначити формат комірки точно таким же способом, як і для поля документа.
Вибираємо комірку (або кілька осередків одночасно), заходимо в властивості, властивість «Формат», вибираємо необхідний формат.

Формат 1С в СКД

Звіти СКД дозволяють налаштувати формат 1С як програмісту (в момент створення звіту), так і користувачеві (при використанні звіту). Також можливостей більше за рахунок використання умовного форматування.

Це означає Ви не тільки вказуєте яке поле як форматувати, а й за якої умови (наприклад, якщо значення цього поля - негативне).

У режимі Підприємство виберіть пункт меню на формі звіту «Змінити варіант». У звіті СКД в товстому клієнті цей пункт в меню «Дії / Налаштування».

У формі всіх налаштувань СКД є закладка « Умовне форматування». Додайте нову сходинку. У рядку три колонки:

  • Оформлення. Вкажіть необхідний формат 1С - шрифт, колір фону або тексту, формат 1С відображення числа і дати
  • Умова. Якщо дане оформлення застосовувати завжди - то залиште це поле порожнім. Інакше - вкажіть поле і його значення. Тоді форматування буде застосовано тільки в тих рядках, в яких ці значення збігаються. Якщо потрібно вказати значення декількох полів одночасно і умов «і / або» - додайте групу і згрупуйте поля за допомогою груп.
  • Оформляються поля. Список полів, для яких буде застосовано форматування.

Формат 1С в керованих формах

Аналогічні правила форматування діють в будь-якій формі списку керованого клієнта. У формі списку виберіть пункт меню «Всі дії / Налаштувати список».

Закладка Умовне оформлення.

Вибираємо необхідну оформлення та формат.

Вказуємо список полів, на які буде застосовано це оформлення.

Докладний опис. Натисніть щоб розгорнути

форматна рядокє строкове значення, що включає параметри форматування.

Параметри форматування перераховуються через символ ";". Наявність параметра означає відміну форматування від стандартного.

Якщо параметр не заданий, то застосовується стандартне форматування, яке в основному відповідає перетворенню значення до рядка. Однак для значень типу Число і Дата за замовчуванням (0 і 01.01.0001 00:00:00 відповідно) буде видаватися порожній рядок.

Кожен параметр задається ім'ям параметра, символом "=" і значенням параметра. Значення параметра може вказуватися в одинарних або подвійних лапках. Це необхідно, якщо значення параметра містить символи, які використовуються в синтаксисі рядка формату.

Усередині значення параметра можуть зазначатися довільні символи, які при формуванні результуючого рядка будуть відображатися як є. Таким чином, наприклад, можна вказувати роздільники годин, хвилин і секунд при форматуванні часу. Якщо ці символи збігаються зі значеннями рядка формату, їх необхідно укладати в одинарні лапки.

Імена та значення параметрів рядка формату:

  • Л - ім'я мови, країни, для яких буде виконуватися стандартне форматування.
  • ЧЦ - загальне числовідображаються десяткових розрядів цілої та дробової частин. Початкове число округляється при цьому відповідно до правил округлення. Якщо вказаний цей параметр, то для відображення дробової частини числа обов'язкова вказівка ​​параметра ЧДЦ, інакше дрібна частина відображатися не буде.
  • ЧДЦ - число десяткових розрядів у дробовій частині. Початкове число округляється при цьому відповідно до правил округлення.
  • НС - зрушення розрядів: позитивний - поділ, негативний - множення. Іншими словами, це означає, що вихідне число буде помножено або поділено на 10 * С, де С - значення параметра по модулю.
  • ЧРД - символ-роздільник цілої та дробової частини.
  • ЧРГ - символ-роздільник груп цілої частини числа. Якщо в якості роздільника використовувати порожній рядок, то в цьому випадку роздільником буде символ нерозривного пробілу.
  • ЧН - рядок, що представляє нульове значення числа. Якщо не задано, то подання до вигляді порожнього рядка. Якщо задано "ЧН =", то у вигляді "0". Не використовується для числових полів введення.
  • ЧВН - чи потрібно виводити лідируючі нулі. Значення даного параметра не ставить, власне наявність параметра визначає висновок лідируючих нулів.
  • ЧГ - порядок угруповання розрядів числа. Як значення вказуються числа, через кому, що позначають кількість згрупованих розрядів справа наліво. Мають сенс тільки два перших числа. Перше з них вказує первинну угруповання, тобто ту, яка буде використана для найменш значущих розрядів цілої частини числа. Якщо друге число не вказано, то будуть згруповані тільки найменш значущі розряди. Якщо в якості другого числа заданий 0, то для всіх розрядів цілої частини числа буде застосовано значення вказане для первинної угруповання. Якщо в якості другого числа використовується значення, відмінне від 0, то це значення буде використано для угруповання всіх розрядів, крім уже згрупованих найменш значущих.
  • ЧВ - уявлення негативних чисел.
    • 0 (0) - рядок виду "(1,1)";
    • 1 (1) - рядок виду "-1,1";
    • 2 (2) - рядок виду "- 1,1";
    • 3 (3) - рядок виду "1,1-";
    • 4 (4) - рядок виду "1,1 -".
  • ДФ - формат дати.
    • д - день місяця (цифрами) без лідируючого нуля;
    • дд - день місяця (цифрами) з лідируючим нулем;
    • ддд - коротка назвадня тижня;
    • дддд- повна назва дня тижня;
    • М - номер місяця (цифрами) без лідируючого нуля;
    • ММ - номер місяця (цифрами) з лідируючим нулем;
    • МММ - коротка назва місяця;
    • ММММ - повна назва місяця;
    • до - номер кварталу на рік;
    • г - номер року без номера сторіччя і лідируючого нуля;
    • рр - номер року без номера сторіччя з лідируючим нулем;
    • рррр - номер року з століттям;
    • ч - годину в 12 годинному варіанті без лідируючих нулів;
    • чч - годину в 12 годинному варіанті з лідируючим нулем;
    • Ч - час в 24-годинному варіанті без лідируючих нулів;
    • ГГ (HH) - годину в 24-годинному варіанті з лідируючим нулем;
    • м - хвилина без лідируючого нуля;
    • мм - хвилина з лідируючим нулем;
    • з - секунда без лідируючого нуля;
    • сс - секунда з лідируючим нулем;
    • ст - відображення половини дня AM / PM (дійсно тільки для мов конфігурації, які підтримують 12 годинний варіант подання часу).
  • ДЛФ - локальний формат дати. Вказується варіант відображення частин дати.
    • Д - дата (цифрами);
    • ДД - довга дата (місяць прописом);
    • В - повне час, дата може об'єднуватися з часом;
    • ДВ - дата час.
  • ДП - рядок, що представляє порожню дату (наприклад, Формат ( '00010101000000', "ДП =" "порожня дата" "") поверне рядок "порожня дата").
  • БЛ - рядок, що представляє логічне значення брехня.
  • БІ - рядок, що представляє логічне значення істина.

* .cf- файл містить тільки конфігурацію (код та структура) без призначених для користувача даних. Створюється з конфігуратора 1С 8.х: «Конфігурація -> Зберегти конфігурацію в файл» або «Конфігурація -> Поставка конфігурації -> Створити файл поставки і оновлення конфігурації -> ознака« Створити файл поставки »».

* .cfu- файл містить тільки оновлення конфігурації. наприклад файл 1cv8.cfu. Створити конфігурацію з цього файлу неможливо, так як він містить в собі тільки відмінності нової конфігураціївід попередньої. Створюється з конфігуратора 1С 8.х: «Конфігурація -> Поставка конфігурації -> Створити файл поставки і оновлення конфігурації -> ознака« Створити файл оновлення конфігурації »».

* .dt- файл містить конфігурацію разом з користувальницької базою даних. Це спеціалізований формат архіву 1С 8. Створюється з конфігуратора 1С 8.х: «Адміністрування -> Вивантажити інформаційну базу».

* .epf (* .erf) - файл зовнішньої обробки (звіту). Будь-яку обробку (звіт) з конфігурації можна зберегти зовнішньої. Створюється з конфігуратора 1С 8.х: «Конфігурація -> Відкрити конфігурацію -> стаємо на потрібну обробку (звіт) -> виділяємо правою кнопкою миші -> Зберегти як зовнішню обробку, Звіт ... ».

* .1cd- файл повноцінної бази даних. Подання стандартної назви: 1Cv8.1CD. Включає в себе конфігурацію, базу даних, призначені для користувача настройки. Відкривається платформою 1С 8.x. Створюється для розробки нової конфігурації автоматично по кнопці «Додати» при виборі пункту «Створення нової інформаційної бази».

* .Log, * .lgf, * .lgp, * .elf- лог файли, які збирають інформацію (реєструють дані) в 1С 8.0 8.1, 8.2, 8.3.

*. cdn -файл з таким розширенням ( 1Cv8.cdn) служить для ручної або автоматичного блокуваннябази даних 1С Підприємствавосьмий версії.

* .mxl- файли друкованих форм використовуються, в тому числі і в 1С. є як друкованими формамидокументів, довідників, звітів, так і різними накопичувачами даних для різних класифікаторів. Відкривається через Конфігуратор або в режимі 1С: Підприємство через «файл -> відкрити». Створюється точно так же: в режимі Конфігуратор або в 1С: Підприємстві через «файл -> новий». Так само файли з такими розширеннями можуть служити правилами перенесення, наприклад, з 1С 7.7 в 8.2 (acc77_82.xml і допоміжна обробка exp77_82.ert) - знаходяться вони зазвичай в папці ExtForms.

* .efd- це архівний файл 1С, використовується для установки конфігурації. Містить або конфігурацію 1с або оновлення до неї. Запускається за допомогою допоміжного виконуючого файлу setup.exe (повинен знаходитися в одній папці).

* .mft- допоміжний файл для створення конфігурації з шаблону. Містить інформацію про конфігурацію, опис, шляхи, назва. Використовується безпосередньо самої платформою при створенні інформаційної бази 1С з шаблону.

* .grs- файли графічних схем в спеціалізованому форматі 1С. Відкривається через Конфігуратор або в режимі 1С: Підприємство через «файл -> відкрити». Створюється точно так же: в режимі Конфігуратор або в 1С: Підприємстві через «файл -> новий».

* .geo- файли географічних схем в спеціалізованому форматі 1С. Відкривається через Конфігуратор або в режимі 1С: Підприємство через «файл -> відкрити». Створюється точно так же: в режимі Конфігуратор або в 1С: Підприємстві через «файл -> новий».

* .st- файли шаблонів текстів. Використовуються в основному 1С розробниками.

* .pff- файл зі збереженими вимірами продуктивності. використовуються системними адміністраторамиі фахівцями 1С.