Процедура Печать()
Работа = 0; ПечататьРаботуВНакладной = 0;
Если глПечатьДокументовСписком = 0 Тогда
спПечатныхФорм = глПолучитьСписокПечатныхФорм("Документ."+Вид());
Если СчетВзаиморасчетов.Валютный = 1 Тогда
глУдалитьЗначение(спПечатныхФорм,"РасходнаяНакладная_М20");
глУдалитьЗначение(спПечатныхФорм,"РасходнаяНакладная_1ТН");
КонецЕсли;
Если ОдинВидТМЦ > 0 Тогда//по одному виду ТМЦ
Если ВидТМЦ.ВидТМЦ <> Перечисление.ВидыТМЦ.Работа Тогда
глУдалитьЗначение(спПечатныхФорм,"РасходнаяНакладная_Акт");
Иначе
Работа = 1;
КонецЕсли;
Иначе//по многим видам ТМЦ
тз = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(тз,"ВидТМЦвСтроке");
тз.Свернуть("ВидТМЦвСтроке",);
тз.ВыбратьСтроки();
Пока тз.ПолучитьСтроку() = 1 Цикл
Если тз.ВидТМЦвСтроке.ВидТМЦ = Перечисление.ВидыТМЦ.Работа Тогда
Работа = 1;
КонецЕсли;
КонецЦикла;
Если Работа = 0 Тогда
глУдалитьЗначение(спПечатныхФорм,"РасходнаяНакладная_Акт");
КонецЕсли;
КонецЕсли;
РежимПечати = глПечать(Контекст,"Документ." + Вид(), спПечатныхФорм);
Если ПустоеЗначение(РежимПечати) = 1 Тогда
Возврат;
КонецЕсли;
Иначе
РежимПечати = глРежимПечатиСписком;
КонецЕсли;
Если (РежимПечати = "РасходнаяНакладнаяФакс") или (РежимПечати = "РасходнаяНакладнаяПечать") или
(РежимПечати = "РасходнаяНакладная_Акт") Тогда
глПараметрыТаблицы(,1);
ИначеЕсли (РежимПечати = "РасходнаяНакладная_М20") или (РежимПечати = "РасходнаяНакладная_1ТН") Тогда
глПараметрыТаблицы(,2);
КонецЕсли;
Если глУстановкаПараметровПечати(РежимПечати) = 0 Тогда Возврат КонецЕсли;
//Сформировать(РежимПечати);
Если ((РежимПечати = "РасходнаяНакладнаяФакс") или (РежимПечати = "РасходнаяНакладнаяПечать")) и
(Работа = 1) Тогда
ПечататьРаботуВНакладной = Вопрос("Включати роботи в документ ?",4);
КонецЕсли;
4andriy @ Сегодня, 16:43
,
спПечатныхФорм = глПолучитьСписокПечатныхФорм("Документ."+Вид());
глПолучитьСписокПечатныхФорм - смотрите какой список форм он вам возвращает и откуда берет
4andriy @ Сегодня, 14:43
,
СмотриТЕ в глобальном модуле Процедуру глПараметрыТаблицы(.... (или функцию)
Там же, в глобалке и таблицы нужные
! | http://pro1c.org.ua/index.php?act=announce&id=2: 1 |
Функция глПолучитьСписокПечатныхФорм(Объект) Экспорт
Перем сп;
сп = СоздатьОбъект("СписокЗначений");
//по таблице заданных в системе форм
глПечатныеФормы.ВыбратьСтроки();
Пока глПечатныеФормы.ПолучитьСтроку() = 1 Цикл
Если глПечатныеФормы.Объект = Объект Тогда
сп.ДобавитьЗначение(глПечатныеФормы.Идентификатор,глПечатныеФормы.Представление);
КонецЕсли;
КонецЦикла;
//дополнительные формы
Спр = СоздатьОбъект("Справочник.ПечатныеФормы");
Спр.ВыбратьЭлементыПоРеквизиту("Объект",Объект);
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ПометкаУдаления() = 1 Тогда
Продолжить;
КонецЕсли;
Если Спр.ФлагПечатнойФормы = 3 Тогда
сп.ДобавитьЗначение("Дополнительно","==Додаткові==");
Прервать;
КонецЕсли;
КонецЦикла;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua