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

1. ryndenkov 16.06.23 11:47 Сейчас в теме
8.3


Не получается сделать определение документа текущего.

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	           
	          
	Если Документы.ДанныеДляРасчетаЗарплаты Тогда
		
		Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриказТ11а") Тогда
			УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
			КоллекцияПечатныхФорм,
			"ПриказТ11а",
			"Приказ о поощрении сотрудников (Т-11а)",
			ВывестиНаПечатьТ11а(МассивОбъектов, ОбъектыПечати, "ПФ_MXL_Т11а"));
		КонецЕсли;
		
		Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриказТ11") Тогда
			УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
			КоллекцияПечатныхФорм,
			"ПриказТ11",
			"Приказы на каждого сотрудника в отдельности (Т-11)",
			ВывестиНаПечатьТ11(МассивОбъектов, ОбъектыПечати, "ПФ_MXL_Т11"));
		КонецЕсли;
		
		
	ИначеЕсли Документы.НачислениеЗарплаты Тогда
		   
		 Сообщить ("123");
		
	КонецЕсли;
	
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
7. Kilka_v_Kepke 16.06.23 12:18 Сейчас в теме
(5) документ в МассивОбъектов[0] наверно находится
Если ТипЗнч(МассивОбъектов[0]) = Тип("ДокументСсылка.КакойтоДокумент") тогда

Если я вас правильно понимаю
user1671936; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user654641_yaga_m 13 16.06.23 12:06 Сейчас в теме
(1)А по ссылке или по типу нельзя определить. Вы же с чего-то начинаете... кнопка или еще что-то
4. ryndenkov 16.06.23 12:08 Сейчас в теме
(3) в 2х документах есть кнопка печати. Я хочу попробовать реализовать разный алгоритм печати для двух документов
2. Kilka_v_Kepke 16.06.23 12:06 Сейчас в теме
Если Документы.ДанныеДляРасчетаЗарплаты Тогда

что такое Документы здесь? а что лежит в параметре МассивОбъектов?
5. ryndenkov 16.06.23 12:10 Сейчас в теме
(2) Я так попытался определить документ, но это в корне неверно

Функция ВывестиНаПечатьТ11(МассивОбъектов, ОбъектыПечати, ИмяМакета)
	ТабличныйДокумент = Новый ТабличныйДокумент;	
	ТабличныйДокумент.АвтоМасштаб = Истина;
	ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
	
	Макет = ПолучитьМакет("ПФ_MXL_Т11");
	
	Для Каждого ДокументНаПечать Из МассивОбъектов Цикл
		
		Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПерваяСтрокаПечатнойФормы = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		Для Каждого ДанныеДетальныхЗаписей Из ДокументНаПечать.ЗначенияПоказателей Цикл
			
			НачалоБланка = ТабличныйДокумент.ВысотаТаблицы + 1;
			Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
				ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
			КонецЕсли;
			
			ОбластьПриказ = Макет.ПолучитьОбласть("Приказ");
			
			КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудника(Истина, ДанныеДетальныхЗаписей.Объект, "Подразделение, Должность", ДокументНаПечать.Дата);
			
			ОбластьПриказ.Параметры.РаботаОрганизацияНаименованиеСокращенное = ДокументНаПечать.Организация.НаименованиеСокращенное;
			ОбластьПриказ.Параметры.СсылкаНаОбъектНомерНаПечать = ДокументНаПечать.Номер;
			ОбластьПриказ.Параметры.СсылкаНаОбъектДатаНаПечать = ДокументНаПечать.Дата;
			ОбластьПриказ.Параметры.РаботаОрганизацияКодПоОКПО = ДокументНаПечать.Организация.КодПоОКПО;
			ОбластьПриказ.Параметры.СсылкаНаОбъектВидПоощренияНаПечать = ДокументНаПечать.ВидДок
Показать
7. Kilka_v_Kepke 16.06.23 12:18 Сейчас в теме
(5) документ в МассивОбъектов[0] наверно находится
Если ТипЗнч(МассивОбъектов[0]) = Тип("ДокументСсылка.КакойтоДокумент") тогда

Если я вас правильно понимаю
user1671936; +1 Ответить
10. truba 16.06.23 12:34 Сейчас в теме
(7) <ЗанудаON> методически вернее было бы названить МассивСсылок , вероятно, но это так. Из самого контекста объекта документа по ТипЗнч(ЭтотОбъект) = Тип("ДокументОбъект.КакойтоДокумент") </ЗанудаON>
11. Kilka_v_Kepke 16.06.23 16:24 Сейчас в теме
(10) есть и другой контекст
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

и я не видел чтоб в печать приходили в параметрах объекты
12. truba 16.06.23 17:16 Сейчас в теме
(11) Ну тут да, само слово "Объект" в контексте 1С уже слишком выхолощено. В принципе практически все за небольшим исключением это Объект. Да и Ссылка тоже объект.

Однако у любого прикладного объекта БД в парадигме должен быть доступен Атрибут .Метаданные, из которого мы можем узнать что это а) документ (по вхождению в коллекцию родителя метаданных) и б) имя этого документа из .Имя

МассивОбъектов[0].Метаданные.Имя

С неприкладными если что не выйдет.
8. anton13m 3 16.06.23 12:19 Сейчас в теме
(5)
Я так попытался определить документ, но это в корне неверно

В МассивОбъектов ссылки на документы
6. user654641_yaga_m 13 16.06.23 12:17 Сейчас в теме
(1) нихрена не понятно...) Но если я правильно понял - есть два документа с кнопкой! Что трудно передать в команде ссылку на объект??
9. ryndenkov 16.06.23 12:30 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот