Как программно определить в каком документе мы находимся?
8.3
Не получается сделать определение документа текущего.
Не получается сделать определение документа текущего.
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если Документы.ДанныеДляРасчетаЗарплаты Тогда
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриказТ11а") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПриказТ11а",
"Приказ о поощрении сотрудников (Т-11а)",
ВывестиНаПечатьТ11а(МассивОбъектов, ОбъектыПечати, "ПФ_MXL_Т11а"));
КонецЕсли;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриказТ11") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПриказТ11",
"Приказы на каждого сотрудника в отдельности (Т-11)",
ВывестиНаПечатьТ11(МассивОбъектов, ОбъектыПечати, "ПФ_MXL_Т11"));
КонецЕсли;
ИначеЕсли Документы.НачислениеЗарплаты Тогда
Сообщить ("123");
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Я так попытался определить документ, но это в корне неверно
Функция ВывестиНаПечатьТ11(МассивОбъектов, ОбъектыПечати, ИмяМакета)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Макет = ПолучитьМакет("ПФ_MXL_Т11");
Для Каждого ДокументНаПечать Из МассивОбъектов Цикл
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПерваяСтрокаПечатнойФормы = ТабличныйДокумент.ВысотаТаблицы + 1;
Для Каждого ДанныеДетальныхЗаписей Из ДокументНаПечать.ЗначенияПоказателей Цикл
НачалоБланка = ТабличныйДокумент.ВысотаТаблицы + 1;
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ОбластьПриказ = Макет.ПолучитьОбласть("Приказ");
КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудника(Истина, ДанныеДетальныхЗаписей.Объект, "Подразделение, Должность", ДокументНаПечать.Дата);
ОбластьПриказ.Параметры.РаботаОрганизацияНаименованиеСокращенное = ДокументНаПечать.Организация.НаименованиеСокращенное;
ОбластьПриказ.Параметры.СсылкаНаОбъектНомерНаПечать = ДокументНаПечать.Номер;
ОбластьПриказ.Параметры.СсылкаНаОбъектДатаНаПечать = ДокументНаПечать.Дата;
ОбластьПриказ.Параметры.РаботаОрганизацияКодПоОКПО = ДокументНаПечать.Организация.КодПоОКПО;
ОбластьПриказ.Параметры.СсылкаНаОбъектВидПоощренияНаПечать = ДокументНаПечать.ВидДок
Показать
(11) Ну тут да, само слово "Объект" в контексте 1С уже слишком выхолощено. В принципе практически все за небольшим исключением это Объект. Да и Ссылка тоже объект.
Однако у любого прикладного объекта БД в парадигме должен быть доступен Атрибут .Метаданные, из которого мы можем узнать что это а) документ (по вхождению в коллекцию родителя метаданных) и б) имя этого документа из .Имя
МассивОбъектов[0].Метаданные.Имя
С неприкладными если что не выйдет.
Однако у любого прикладного объекта БД в парадигме должен быть доступен Атрибут .Метаданные, из которого мы можем узнать что это а) документ (по вхождению в коллекцию родителя метаданных) и б) имя этого документа из .Имя
МассивОбъектов[0].Метаданные.Имя
С неприкладными если что не выйдет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот