Как проверить тип документа в 1с
Перейти к содержимому

Как проверить тип документа в 1с

  • автор:

Как проверить, что тип значения относится к справочникам, документам и т.д.?

Объекты метаданных, описывающие прикладные объекты, определяют сразу несколько типов, используемых для манипулирования этими прикладными объектами во встроенном языке. Например, для документа Счет будут определены типы ДокументМенеджер.Счет, ДокументСсылка.Счет, ДокументОбъект.Счет, ДокументВыборка.Счет и ДокументСписок.Счет. В некоторых случаях нужно определить, к какому виду объектов метаданных относится конкретное значение.

Для этого можно использовать, например, следующую последовательность действий:

Как проверить тип значения документа, справочника?

Во-первых, во встроенном языке для работы с одним прикладным объектом реализовано несколько типов.

Например, задачи, которые в 1С:Предприятии 7.7 решал тип Документ решаются теперь несколькими типами. Они разделены по своему назначению.

Тип ДокументСсылка используется для хранения ссылок на объект базы данных в реквизитах других объектов.

Тип ДокументОбъект используется для записи и удаления отдельных документов.

Тип ДокументВыборка используется для перебора документов, хранящихся в базе данных.

Существуют и другие типы данных, предназначенные для работы с документом. При написании модулей используются те типы, которые необходимы для решения конкретных задач.

Во-вторых, во встроенном языке нет двух понятий — Тип и Вид. Для каждого объекта конфигурации имеется свой набор типов используемых во встроенном языке для работы с описываемым им прикладным объектом. То есть при использовании конфигурации не будет существовать такого типа как ДокуменСсылка, а будут существовать конкретные типы, например, ДокументСсылка.Счет, ДокументОбъект.Счет, ДокументСсылка.Накладная, и т.д.

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

Чтобы проверить тип значения переменной нужно определить ее тип функцией ТипЗнч() и использовать функцию Тип() для получения типа по имени.

Если ТипЗнч(Основание) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда

Как проверить тип значения документа, справочника?

Во-первых, во встроенном языке 1С:Предприятия 8 для работы с одним прикладным объектом реализовано несколько типов. Например, задачи, которые в 1С:Предприятии 7.7 решал тип «Документ» решаются теперь несколькими типами. Они разделены по своему назначению. Тип «ДокументСсылка» используется для хранения ссылок на объект базы данных в реквизитах других объектов. Тип «ДокументОбъект» используется для записи и удаления отдельных документов. Тип «ДокументВыборка» используется для перебора документов, хранящихся в базе данных. Существуют и другие типы данных, предназначенные для работы с документом. При написании модулей используются те типы, которые необходимы для решения конкретных задач.

Во-вторых, в 1С:Предприятии 8 нет двух понятий — «Тип» и «Вид». Для каждого объекта метаданных имеется свой набор типов используемых во встроенном языке для работы с описываемым им прикладным объектом. То есть при использовании конфигурации не будет существовать такого типа как «ДокументСсылка», а будут существовать конкретные типы, например, «ДокументСсылка.Счет», «ДокументОбъект.Счет», «ДокументСсылка.Накладная», и т.д.

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

Чтобы проверить тип значения переменной нужно определить ее тип функцией ТипЗнч() и использовать функцию Тип() для получения типа по имени.

Если ТипЗнч(Основание) = Тип(«ДокументСсылка.ПриходнаяНакладная») Тогда

Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

Как сравнить тип текущего документа с определенным типом в 1С?

02.04.2013 | Автор Дмитрий

Как сравнить тип текущего документа с определенным типом в 1С?
Сравнить тип документа можно с помощью функций: ТипЗнч и Тип.

В примере сравнивается тип документа СтрТЗ.Регистратор с типом ПлатежноеПоручениеИсходящее.

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

Рубрика: 1С:Предприятие 8.2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *