Главная » Тарифы » 1с тип значения число. Через обращение к свойству объекта

1с тип значения число. Через обращение к свойству объекта

— мы начали обсуждать что такое типы значений 1С и преобразование типов 1С.

Сегодня мы поговорим подробнее про типы объектов конфигурации 1С (тип документа 1С, тип справочника 1С и др.)

Так как в программном коде мы работаем со значениями, то периодически требуется знать их тип. Тип 1С всегда указывается в метаданных у реквизитов — в справочниках, документах.

Работа с типами 1С часто используется:

  • Условия в программе
    Разные действия в зависимости от типа значения 1С в конструкции «Если … Тогда …»
  • Ограничения при работе в интерфейсе
    Запрет или разрешение пользователю вводить в поле на форме значения определенных типов 1С.
  • Определение фактического параметра функции/процедуры
    Если параметр функции/процедуры может быть любого типа 1С, то нужно его определить, чтобы правильно получить значение.

Тип 1С можно получить:

  • Определить тип фактического значения 1С
  • Значения-объекты имеют свойства, в которых указан разрешенный тип 1С (например типы 1С разрешенные в колонке таблицы, в поле на форме, в метаданных) или методы, которые возвращают эти типы 1С
  • Из метаданных – можно получить тип 1С так, как он указан в метаданных в конфигураторе.

Типы 1С можно разделить на три вида:

  • Базовые типы 1С
  • Типы 1С базы данных (ссылочные, объекты)
  • Типы 1С.

Определение типа 1С и сравнение типов 1С

Узнать тип значения 1С можно с помощью функции ТипЗнч(Переменная)

Чтобы понять какой тип 1С эта функция вернула – нужно указать нужный нам Тип(«ИмяТипа»)

Например, определение (сравнение) типа 1С переменной:
Если ТипЗнч(Переменная) = Тип("ИмяТипа") Тогда

Какие типы писать в качестве ИмяТипа?

Базовые типы

Базовые типы 1С — число, строка, дата, булево.

Например:
Знч = 12;
Если ТипЗнч(Знч) = Тип("Число") Тогда
ИначеЕсли Знч = Тип("Строка") Тогда
ИначеЕсли Знч = Тип("Дата") Тогда
ИначеЕсли Знч = Тип("Булево") Тогда
КонецЕсли;

Типы базы данных

1С хранит данные в базе данных, но не в виде отдельных записей, а в виде объектов.

Большинство сохраняемых объектов (в том числе: справочники, документы, перечисления, бизнес-процессы, задачи) доступны в виде Объекта (для изменения и записи) и в виде Ссылки (для чтения). Подробнее см. «Ссылки и объекты».

Например:
Знч = Справочники.Организации.ПустаяСсылка();
Если ТипЗнч(Знч) = Тип("СправочникСсылка.Организации") Тогда
ИначеЕсли Знч = Тип("СправочникОбъект.Организации") Тогда
ИначеЕсли ТипЗнч(Знч) = Тип("ДокументСсылка.ПоступлениеТоваров") Тогда
ИначеЕсли Знч = Тип("ДокументОбъект.ПоступлениеТоваров") Тогда
КонецЕсли;

Регистры могут быть представлены различными типами. Имя типа регистра составное:
РегистрТипрегистраТипдоступа.ИмяРегистра

Типы 1С регистров:

  • Сведений
  • Накопления
  • Бухгалтерии
  • Расчета.

Типов доступов к регистру несколько. Чаще всего используются:

  • НаборЗаписей
  • Список
  • Выборка
  • Запись
  • КлючЗаписи.

Итого, пример:
Если ТипЗнч(Знч) = Тип("РегистрСведенийСписок.ИмяРегистра") Тогда
ИначеЕсли Знч = Тип("РегистрНакопленияНаборЗаписей.ИмяРегистра") Тогда
КонецЕсли;

Язык 1С позволяет работать со множеством объектов, создаваемых динамически в программе, например – массив, список значений, таблица значений, структура…

Такие типы 1С указываются по их названию (одним словом, без пробелов). Например:
Если ТипЗнч(Знч) = Тип("Массив") Тогда
ИначеЕсли Знч = Тип("СписокЗначений") Тогда
КонецЕсли;

Определение значения ссылочного типа 1С

Работа со всеми объектами базы данных (справочники, документы…) ведется через ссылки. Например, если мы хотим в документе сделать реквизит – справочник, то его тип 1С будет «СправочникСсылка.ИмяСправочника».

Например:
Значение = Справочники.Организации.ПустаяСсылка();
Если Справочники.ТипВсеСсылки().Содержит(ТипЗнч(Значение)) Тогда
//это справочник
ИначеЕсли Документы.ТипВсеСсылки().Содержит(ТипЗнч(Значение)) Тогда
//это документ
КонецЕсли;

В запросе тип 1С можно проверить двумя способами.

Первый – аналогично описанному, но в имени типа 1С не указывается «Ссылка» или «Объект», то есть вместо «СправочникСсылка.Организации» пишем «Справочник.Организации»

Например:

Получение доступных типов 1С

У множества объектов есть свойство.ТипЗначения, которое содержит список типов 1С:

  • Поле на форме толстого клиента
    ЭлементыФормы.ИмяПоля.ТипЗначения
  • Поле на форме тонкого клиента (исключение: называется ДоступныеТипы)
    Элементы.ИмяПоля.ДоступныеТипы
  • Колонка таблицы значений, дерева значений
  • Реквизит формы
  • Элемент отбора

Как работать с этим списком типов 1С в поле.ТипЗначения – см. «ОписаниеТипов» в разделе «Язык 1С».

Работа с типами 1С реквизитов в метаданных конфигурации

При добавлении и редактировании реквизитов в конфигураторе программист указывает тип(ы) 1С реквизита. В программном коде на языке 1С можно получить (узнать) тип(ы) 1С реквизита.

Основные методы:

  • У объекта 1С вызвать метод Метаданные(), который возвращает метаданные конкретного объекта и далее работать со списком реквизитов (и реквизитов табличной части)
    Документы.ПоступлениеТоваров.ПустаяСсылка().Метаданные().Реквизиты
  • Использовать глобальную переменную «Метаданные», которая возвращает все метаданные конфигурации, и далее выйти на реквизиты конкретного объекта
    Метаданные.Документы.ПоступлениеТоваров.Реквизиты

У реквизита есть свойство.Тип, которое содержит список типов 1С, установленный в конфигураторе у этого реквизита.

Как работать с этим списком типов 1С – см. «ОписаниеТипов» в разделе «Язык 1С».

Указать фильтр типов 1С

У многих объектов возможно указать фильтр типов значений 1С, возможных к использованию, например:

  • Список значений (.ДоступныеЗначения)
  • Поле формы управляемого клиента (.ДоступныеТипы)

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

Чтобы указать список типов 1С для фильтра – используется список типов 1С, как с ним работать – см. «Описание типов» в разделе «Язык 1С».

В 1С очень много предопределенных типов значений, их можно подразделить на несколько групп.

Быстрый переход

Группы типов данных

  • простые (примитивные) типы
  • типы-объекты и их подчиненные
  • типы-объекты из метаданных (прикладные типы)
  • интерфейсные типы
  • прочие типы общего назначения

Простые типы

  • Строка (задается значением в кавычках «»)
  • Число (Задается десятичным числом)
  • Дата (дата и время)
  • Булево (Истина,Ложь.

Типы-объекты

  • Коллекции значений (Массивы, Структуры, ТаблицыЗначений и другие)
  • Интеграционные (Com, файлы, внешние объекты, zip, WS)
  • Общего назначения

Объекты из метаданных (прикладные)

  • Константы
  • Справочники
  • Документы
  • Перечисления
  • Отчеты
  • Обработки
  • Планы счетов
  • Задачи
  • Регистры сведений
  • Регистры накоплений
  • Регистры бухгалтерского учета
  • и другие…

Интерфейсные

Связанные с окнами, формами и элементами форм (полей, надписей, табличных данных и других)

Другие варианты подразделения значений

  • Значения, которые можно записать в реквизит объекта (в поле информационной базы) и те, которые нельзя
  • Объекты, которые можно визуально представить , и те, которые имеют виртуальную сущность
  • Типы значений которые, связаны с конфигурацией и ее объектами или работающие обособленно
  • Которые могут быть разграничены по правам пользователей- не могут
  • Могут достаточно просто преобразовываться — либо требуется вспомогательная конвертация
  • Есть свойства и методы — либо отсутствуют

Задание типов значений

Значение может быть установлено:

Непосредственно

Это_Переменная = "Это строковое значение";

Через создание объекта

Это_Переменная = Новый Цвет;

Через результат вызова системной функции

Это_Переменная = Дата(2016,1,1);

Через обращение к свойству объекта

Это_Переменная_Объект_Цвет = Новый Цвет; Это_Переменная = Это_Переменная_Объект_Цвет.Зеленый;

Составные и простые типы

Если не указано специально, то тип значений не ограничивается.

В случае реквизитов объектов метаданных, тип значений задается на этапе конфигурирования из типов доступных к записи (примитивные, ссылки на объекты, хранилище значений), а так же от вида объекта и контекста(среды, места) исполнения. При этом доступно ограничение реквизита одним типом или несколькими. Например, нам необходимо записывать в одно поле, либо значение «строки», либо «числа».

Для других объектов, тип реквизитов может остаться не ограниченными (произвольного типа), либо ограничен через специальный тип «ОписаниеТипов «

Например, для простого случая

ОписаниеТипа = Новый ОписаниеТипов("Число,Строка");

Данный объект также используется для ограничения выбора или внесения данных в диалоговых формах

Приведение значений

Производится автоматически при присвоении к реквизиту (свойству) объекта, если данный реквизит не может хранить данное значение

Также при операциях конкатенации, производится к сначала первому слагаемому, при вычитании, если допустимо, ко втором, а затем уже к результату.

Цвет = Новый Цвет(255,0,0); Цвет2 = Новый Цвет("2"+59-Цвет.Красный,0,0); //В данном случае произойдет поэтапно //"2"+59 ="259" //259-255 = 4 //Цвет2 = Новый Цвет(4,0,0);

Такие «сложные» преобразования требуется проводить с осторожностью.

Приведение значений через встроенные функции преобразования

ЭтоБудетЧисло = Число("15"); ЭтоБудетСтрока = Строка(ЭтоБудетЧисло); ЭтоБудетСтрока = Формат(ЭтоБудетЧисло,"");//возможно указание строки форматирования значения ЭтоБудетДата = Дата("201601+ЭтоБудетЧисло);//время будет 00:00:00 //Приведение через объект МожетБытьТолькоЧислом = Новый ОписаниеТипов("Число"); ЭтоБудетЧисло = МожетБытьТолькоЧислом.ПривестиЗначение("12");

Следует обратить внимание, что некоторые преобразования система не сможет сделать, и это вызовет ошибку исполнения, поэтому проверка должна производится разработчиком

ЭтоПрисвоениеНеПроизойет = Дата("12:45:45");

Проверка типов

Сравнение производится через специальные функции ТипЗнч() и Тип().

Первая возвращает значение передаваемого типа, вторая задает тип для проверки

ЭтоЧисло = 15; //ответ на вопрос: тип значения переменной "ЭтоЧисло" является ли типом "Число" ЭтоБулево = ТипЗнч(ЭтоЧисло) = Тип("Число"); //Первый знак "=" - присвоение //Второй "=" - сравнение на равенство

Сам объект «Тип» является вспомогательным и не может быть записан в реквизиты

Сравнение значений

Производится:

  • при сравнении на равенство по четкому совпадению типа и значения, приведение не производится
  • сравнение на > или < (на больше-меньше) допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)

Более подробно на типах останавливаться не буду, лучше их прочувствовать в реальных задачах или узких примерах

Так как в программном коде мы работаем со значениями, то периодически требуется знать их тип. Тип 1С всегда указывается в метаданных у реквизитов - в справочниках, документах.

Работа с типами 1С часто используется:

  • Условия в программе
  • Разные действия в зависимости от типа значения 1С в конструкции «Если … Тогда …»
  • Ограничения при работе в интерфейсе
  • Запрет или разрешение пользователю вводить в поле на форме значения определенных типов 1С.
  • Определение фактического параметра функции/процедуры
  • Если параметр функции/процедуры может быть любого типа 1С, то нужно его определить, чтобы правильно получить значение.

Тип 1С можно получить:

  • Определить тип фактического значения 1С
  • Значения-объекты имеют свойства, в которых указан разрешенный тип 1С (например типы 1С разрешенные в колонке таблицы, в поле на форме, в метаданных) или методы, которые возвращают эти типы 1С
  • Из метаданных – можно получить тип 1С так, как он указан в метаданных в конфигураторе.

Типы 1С можно разделить на три вида:

  • Базовые типы 1С
  • Типы 1С базы данных (ссылочные, объекты)
  • Типы 1С.

Определение типа 1С и сравнение типов 1С

Узнать тип значения 1С можно с помощью функции ТипЗнч(Переменная)

Чтобы понять какой тип 1С эта функция вернула – нужно указать нужный нам Тип(«ИмяТипа»)

Например, определение (сравнение) типа 1С переменной:
Если ТипЗнч(Переменная) = Тип("ИмяТипа") Тогда

Какие типы писать в качестве ИмяТипа?

Базовые типы

Базовые типы 1С - число, строка, дата, булево.

Например:

Знч = 12 ; Если ТипЗнч(Знч) = Тип("Число" "Строка" ) Тогда ИначеЕсли Знч = Тип("Дата" ) Тогда ИначеЕсли Знч = Тип("Булево" ) Тогда КонецЕсли;

Типы базы данных

1С хранит данные в базе данных, но не в виде отдельных записей, а в виде объектов.

Большинство сохраняемых объектов (в том числе: справочники, документы, перечисления, бизнес-процессы, задачи) доступны в виде Объекта (для изменения и записи) и в виде Ссылки (для чтения). Подробнее см. «Ссылки и объекты».

Например:

Знч = Справочники. Организации. ПустаяСсылка() ; Если ТипЗнч(Знч) = Тип("СправочникСсылка.Организации" ) Тогда ИначеЕсли Знч = Тип("СправочникОбъект.Организации" ) Тогда ИначеЕсли ТипЗнч(Знч) = Тип("ДокументСсылка.ПоступлениеТоваров" ) Тогда ИначеЕсли Знч = Тип("ДокументОбъект.ПоступлениеТоваров" ) Тогда КонецЕсли;

Регистры могут быть представлены различными типами. Имя типа регистра составное:
РегистрТипрегистраТипдоступа.ИмяРегистра

Типы 1С регистров:

  • Сведений
  • Накопления
  • Бухгалтерии
  • Расчета.

Типов доступов к регистру несколько. Чаще всего используются:

  • НаборЗаписей
  • Список
  • Выборка
  • Запись
  • КлючЗаписи.

Пример:
Если ТипЗнч(Знч) = Тип("РегистрСведенийСписок.ИмяРегистра") Тогда
ИначеЕсли Знч = Тип("РегистрНакопленияНаборЗаписей.ИмяРегистра") Тогда
КонецЕсли;

Типы 1С

Язык 1С позволяет работать со множеством объектов, создаваемых динамически в программе, например – массив, список значений, таблица значений, структура…

Такие типы 1С указываются по их названию (одним словом, без пробелов). Например:
Если ТипЗнч(Знч) = Тип("Массив") Тогда
ИначеЕсли Знч = Тип("СписокЗначений") Тогда
КонецЕсли;

Определение значения ссылочного типа 1С

Работа со всеми объектами базы данных (справочники, документы…) ведется через ссылки. Например, если мы хотим в документе сделать реквизит – справочник, то его тип 1С будет «СправочникСсылка.ИмяСправочника».

Например:

Значение = Справочники. Организации. ПустаяСсылка() ; Если Справочники. ТипВсеСсылки() . Содержит( ТипЗнч(Значение) ) Тогда //это справочник ИначеЕсли Документы. ТипВсеСсылки() . Содержит( ТипЗнч(Значение) ) Тогда //это документ КонецЕсли;

Работа с типами 1С в запросе

В запросе тип 1С можно проверить двумя способами.

Для проверки типа поля в запросе 1С 8.3 можно воспользоваться функцией языка запросов ТИПЗНАЧЕНИЯ(<Поле>).

ГДЕ ТИПЗНАЧЕНИЯ(Таблица.Сумма) = ТИП(ЧИСЛО)

Функция ТИП(<Имя типа>) получает тип по его имени. Имена примитивных типов: Число, Строка, Булево, Дата. Имена ссылочных типов строятся по следующему принципу: Документ.РеализацияТоворовУслуг или Справочник.Номенклатура.

ВЫБРАТЬ ХозрасчетныйОбороты. Субконто1 , ХозрасчетныйОбороты. Субконто2 , ХозрасчетныйОбороты. Субконто3 , ХозрасчетныйОбороты. СуммаОборот, ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты. Субконто3 ) = ТИП(Документ. РеализацияТоваровУслуг) ТОГДА "Реализация" КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты. Субконто3 ) = ТИП(Документ. ПриходныйКассовыйордер) ТОГДА "ПКО" КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты. Субконто3 ) = ТИП(Документ. РасходныйКассовыйОрдер) ТОГДА "РКО" ИНАЧЕ "Другой документ" КОНЕЦ КАК ТипДокументаРасчетов ИЗ РегистрБухгалтерии. Хозрасчетный. Обороты(& НачалоПериода, & КонецПериода, Регистратор, Счет = & Счет6201 , , , , ) КАК ХозрасчетныйОбороты Для полей ссылочного типа существует еще один способ проверки, используя оператор ССЫЛКА.

ВЫБОР КОГДА ХозрасчетныйОбороты. Субконто3 ССЫЛКА Документ. РеализацияТоваровУслуг ТОГДА "Реализация" КОГДА ХозрасчетныйОбороты. Субконто3 ССЫЛКА Документ. ПриходныйКассовыйОрдер ТОГДА "ПКО" КОГДА ХозрасчетныйОбороты. Субконто3 ССЫЛКА Документ. РасходныйКассовыйОрдер ТОГДА "РКО" ИНАЧЕ "Другой документ" КОНЕЦ

Получение доступных типов 1С

У множества объектов есть свойство.ТипЗначения, которое содержит список типов 1С:

Поле на форме толстого клиента
ЭлементыФормы.ИмяПоля.ТипЗначения
Поле на форме тонкого клиента (исключение: называется ДоступныеТипы)
Элементы.ИмяПоля.ДоступныеТипы
Колонка таблицы значений, дерева значений
Реквизит формы
Элемент отбора

Как работать с этим списком типов 1С в поле.ТипЗначения – см. «ОписаниеТипов» в разделе «Язык 1С».

Работа с типами 1С реквизитов в метаданных конфигурации

При добавлении и редактировании реквизитов в конфигураторе программист указывает тип(ы) 1С реквизита. В программном коде на языке 1С можно получить (узнать) тип(ы) 1С реквизита.

Основные методы:

У объекта 1С вызвать метод Метаданные(), который возвращает метаданные конкретного объекта и далее работать со списком реквизитов (и реквизитов табличной части)

Использовать глобальную переменную «Метаданные», которая возвращает все метаданные конфигурации, и далее выйти на реквизиты конкретного объекта

Метаданные.Документы.ПоступлениеТоваров.Реквизиты

У реквизита есть свойство.Тип, которое содержит список типов 1С, установленный в конфигураторе у этого реквизита.

Как работать с этим списком типов 1С – см. «ОписаниеТипов» в разделе «Язык 1С».

Указать фильтр типов 1С

У многих объектов возможно указать фильтр типов значений 1С, возможных к использованию, например:

Список значений (.ДоступныеЗначения)
Поле формы управляемого клиента (.ДоступныеТипы)
Там, где фильтра не доступен к изменению, доступно указать фильтр в методе объекта. Например у колонки таблицы (дерева) значений есть.ТипЗначения и мы не можем его изменять, но при добавлении колонки с помощью метода.Добавить() вторым параметром можно указать список доступных типов 1С.

Чтобы указать список типов 1С для фильтра – используется список типов 1С, как с ним работать – см. «Описание типов» в разделе «Язык 1С».

— классификация значений (то есть данных) по их виду — строки, числа, даты и т.п. Тип значения — это одно из базовых понятий в любом языке программирования.

Преобразование типов — это конвертация значения (данных) из одного типа в другой, например из строки в число или наоборот. Более узкое понятие форматирование значения — это конвертация из любого типа в строку с преобразованием в такой вид, который будет удобен пользователю для чтения, в том числе и локализация.

Существуют языки с жесткой типизацией данных. Это значит, что при создании (определении) переменной программист указывает жестко какой тип данных она может хранить. То же с функциями, параметрами процедур и т.п. В метаданных 1С тип у реквизитов жестко указывается (правда есть составной тип — позволяющий указать несколько вариантов). Но в программном коде на языке 1С нет жесткой типизации, а это значит, что можно создать числовую переменную, потом приравнять ее к строке. Функция может в зависимости от параметров и условий возвращать число, или булево, или строку.

Как в языке 1С работать с типами данных и как производить преобразование типов 1С?

Значение 1С Неопределено

Неопределено – это значение 1С, которое обозначает, что значения нет. С помощью этого значения 1С можно «обнулять» переменные, в том числе для неявного вызова деструктора, например COM объектов.
Переменная1 = Новый COMОбъект("Excel.Application");
Переменная1 = Неопределено;

Аналогичное значение 1С NULL, которое может вернуть запрос, при попытке получить данные из базы данных, если таковые получить не удалось (точнее — значение в поле NULL означает, что поле в базе данных «не заполнено»).
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Поле1 = NULL Тогда
Продолжить;
КонецЕсли;
КонецЦикла;

Типы значений 1С

В качестве «переменных» возможно использовать:

  • Переменные, созданные в тексте программы (описанными выше способами)
  • Реквизиты объекта метаданных или формы (созданными в конфигураторе, с указанием точного типа 1С).

Реквизит может иметь составной тип 1С, то есть несколько возможных. Назначение значения 1С пользователем в этом случае может быть двухэтапное:

  • Выбор типа значения 1С из доступных
  • Выбор значения 1С.

По умолчанию такой реквизит имеет значение 1С Неопределено. Когда выбран тип 1С, но еще не выбрано значение 1С – пустое значение этого типа 1С (0 для числа, пустая ссылка для ссылочных типов 1С, см. ниже). И наконец потом – значение 1С. Из программы назначения значения производится напрямую, без промежуточного выбора типа 1С.

Определить тип значения 1С возможно несколькими способами:
//способ 1 – сравнение с известными типами 1С
Переменная1 = 12;
Если ТипЗнч(Переменная1) = Тип("Число") Тогда
//…
ИначеЕсли ТипЗнч(Переменная1) = Тип("СправочникСсылка.ИмяСправочника") Тогда
//…
КонецЕсли;

Преобразование типов 1С

Значение 1С простых типов 1С можно преобразовывать с помощью оператора — наименования типа 1С:
//в число
ЗнчЧисло = Число("22"); //при невозможности преобразовать типы 1С будет вызвана ошибка, поэтому лучше использовать обработчик ошибок (см. далее)

//в строку
ЗнчСтрока = Строка(22);
ЗнчСтрока = СокрЛП(22);
ЗнчСтрока = Формат(22, "ЧГ=0");

//в дату
ЗнчДата = Дата("20120101120000"); //01.01.2012 12:00:00
ЗнчДата = Дата(2012, 01, 01, 12, 0, 0);
ЗнчДата = Дата(2012, 01, 01);

Преобразование типов 1С — значений сложных типов 1С

Форматирование значений 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 от 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

Это неудобно, когда число преобразовывается к строке не для красивого и понятного вывода пользователю, а для служебных нужд. На это можно повлиять с помощью параметра «ЧГ», например:

Параметр, который позволяет округлить число при выводе до нужного количества цифр после запятой «ЧДЦ»:
Формат(3.535353, "ЧДЦ=""2""")
> 3,54

Параметр, который позволяет указать символ-разделитель целой и дробной части «ЧРД»:
Формат(3.535353, "ЧРД="".""")
> 3.535353

Для некоторых случаев бывает полезно иметь возможность вместо числа «0» отображать что-то другое: пустую строку или «не заполнено». Это позволяет делать параметр «ЧН»:
Формат(0, "ЧН=""""")



Предыдущая статья: Следующая статья:

© 2015 .
О сайте | Контакты
| Карта сайта