Добрый день, в типовой конфигурации пришлось добавить строку в условие
Проблема в том, что эта процедура используется также и в других документах, поле ДокументОснование есть не везде, выдает ошибку "поле ДокументОснование не найдено"
Как можно это обойти?
"Попытка" не получилось использовать прямо в условии перед "ИначеЕсли", как правильно можно это сделать?
ИначеЕсли ТипЗнч(ДанныеДляПечати.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИдентификаторГосКонтракта");
ОбластьМакета.Параметры.ИдентификаторГосКонтракта = ДанныеДляПечати.ИдентификаторГосКонтракта;
ТабДокумент.Вывести(ОбластьМакета);
Проблема в том, что эта процедура используется также и в других документах, поле ДокументОснование есть не везде, выдает ошибку "поле ДокументОснование не найдено"
Как можно это обойти?
"Попытка" не получилось использовать прямо в условии перед "ИначеЕсли", как правильно можно это сделать?
По теме из базы знаний
- Выгрузка-загрузка любых данных (и измененных) между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Проверка на наличие дублирующихся строк в табличных частях
- СКД. Сортировка
- Отчет-проверка наличия выписанных СНТ, СФ, ЭСФ (1С: Бухгалтерия для Казахстана)
- Проверка документов
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)
где
МетаданныеДокумента = ДанныеДляПечати.Метаданные();
ИначеЕсли ОбщегоНазначения.ЕстьРеквизитДокумента("ДокументОснование", МетаданныеДокумента) И ТипЗнч(ДанныеДляПечати.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
где
Функция ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Экспорт
Возврат НЕ (МетаданныеДокумента.Реквизиты.Найти(ИмяРеквизита) = Неопределено);
КонецФункции // ЕстьРеквизитДокумента()
так?
Иначе
Попытка
Если ТипЗнч(ДанныеДляПечати.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИдентификаторГосКонтракта");
ОбластьМакета.Параметры.ИдентификаторГосКонтракта = ДанныеДляПечати.ИдентификаторГосКонтракта;
ТабДокумент.Вывести(ОбластьМакета)
КонецПопытки;
КонецЕсли;
Иначе
Попытка
Если ТипЗнч(ДанныеДляПечати.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИдентификаторГосКонтракта");
ОбластьМакета.Параметры.ИдентификаторГосКонтракта = ДанныеДляПечати.ИдентификаторГосКонтракта;
ТабДокумент.Вывести(ОбластьМакета)
КонецПопытки;
КонецЕсли;
(6) Для попытки обязательно "Исключение", даже если ставить исключение так:
Иначе
Попытка
Если ТипЗнч(ДанныеДляПечати.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИдентификаторГосКонтракта");
ОбластьМакета.Параметры.ИдентификаторГосКонтракта = ДанныеДляПечати.ИдентификаторГосКонтракта;
ТабДокумент.Вывести(ОбластьМакета)
Исключение
КонецПопытки;
КонецЕсли;
Тоже неправильно
Иначе
Попытка
Если ТипЗнч(ДанныеДляПечати.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации") Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ИдентификаторГосКонтракта");
ОбластьМакета.Параметры.ИдентификаторГосКонтракта = ДанныеДляПечати.ИдентификаторГосКонтракта;
ТабДокумент.Вывести(ОбластьМакета)
Исключение
КонецПопытки;
КонецЕсли;
Тоже неправильно
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот