- В этой теме 1 ответ, 2 участника, последнее обновление 7 месяцев, 2 недели назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как определить тип текущего документа в поле ДокументОснование?
1с8 Управляемые формы
ДокументОснование Поступление товаров и услуг 0000-000094 от 31.05.2025 23:59:59 ДокументСсылка.ПоступлениеТоваровУслуг
Тип(НайдСтрДок.ДокументОснование.ССылка) {(1)}: Тип не определен (Поступление товаров и услуг 0000-000094 от 31.05.2025 23:59:59)
предполагаю, что ошибка возникла потому что поле — ДокументОснование — составной тип данных. Как получить тип текущего документа в этом поле?
ДокументОснование.Тип() -такая конструкция не допустима
вохможная Тип(ДокументОснование) но она дает ошибку
Чтобы получить тип текущего документа в поле `ДокументОснование`, вам нужно использовать метод `ТипЗнч()` для проверки типа значения, которое хранится в этом поле. Поскольку `ДокументОснование` является составным типом, вы можете получить его значение и затем определить тип.
Вот пример кода, который поможет вам это сделать:
1C
// Предполагаем, что у вас есть переменная НайдСтрДок, которая содержит текущий документ
Если НайдСтрДок.ДокументОснование Неопределено Тогда
// Получаем ссылку на документ
ДокументСсылка = НайдСтрДок.ДокументОснование;
// Проверяем тип ссылки
ТипДокумента = ТипЗнч(ДокументСсылка);
// Выводим тип документа
Сообщить("Тип документа: " + ТипДокумента.Имя());
Иначе
Сообщить("Документ основание не задан.");
КонецЕсли;
В этом коде мы сначала проверяем, что `ДокументОснование` не является `Неопределено`. Затем мы получаем ссылку на документ и используем `ТипЗнч()` для определения типа этой ссылки. После этого можно вывести имя типа документа.
Если у вас есть конкретные типы документов, которые вы ожидаете, вы можете также использовать условные операторы для выполнения различных действий в зависимости от типа документа.