|
МХ-18 | ☑ | ||
---|---|---|---|---|
0
Kucha88
29.01.13
✎
12:08
|
Всем доброго дня уважаемые, мне необходима ваша помощь. Создаю внешнюю печатную форму для документа "Отчет производства за смену" Мх-18 Накладная на передачу готовой продукции, но возникли трудности не могу никак исправить, подскажите пожалуйста где и что нужно исправить в коде, код был взят из модуля документа, я немного подправил что знал а вот дальше не могу разобраться
// Процедура выводит печатную форму МХ-18 // Функция ВывестиПечатнуюФормуМХ18( Шапка, СтрокаПродукция) ЕдиницаИзмеренияВеса = Константы.ЕдиницаИзмеренияВеса.Получить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОтчетПроизводстваЗаСмену_МХ18"; Макет = ПолучитьМакет("МХ18"); // Выводим общие реквизиты шапки ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; ОбластьМакета.Параметры.Получатель = СтрокаПродукция.Родитель.Получатель; ОбластьМакета.Параметры.КоррСчет = СтрокаПродукция.Родитель.КоррСчет; СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации); ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение; // Выводим всевозможные коды ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО; ТабДокумент.Вывести(ОбластьМакета); СтрокНаСтранице = 20; СтрокШапки = 10; СтрокПодвала = 9; НомерСтраницы = 1; // Выводим заголовок таблицы ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы"); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КоличествоСтрок = СтрокаПродукция.Количество(); Если КоличествоСтрок <= 2 Тогда ПереноситьПоследнююСтроку = 0; Иначе ЦелыхСтраницСПодвалом = Цел((СтрокШапки + КоличествоСтрок + СтрокПодвала) / СтрокНаСтранице); ЦелыхСтраницБезПодвала = Цел((СтрокШапки + КоличествоСтрок - 1) / СтрокНаСтранице); ПереноситьПоследнююСтроку = ЦелыхСтраницСПодвалом - ЦелыхСтраницБезПодвала; КонецЕсли; // инициализация итогов по странице ИтогоМассаБруттоНаСтранице = 0; ИтогоМестНаСтранице = 0; ИтогоКоличествоНаСтранице = 0; ИтогоСуммаНаСтранице = 0; // инициализация итогов по документу ИтогоМассаБрутто = 0; ИтогоМест = 0; ИтогоКоличество = 0; ИтогоСумма = 0; Ном = 0; ОбластьИтого = Макет.ПолучитьОбласть("Итого"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); // Выводим многострочную часть докмента ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Для Каждого ВыборкаСтрок Из СтрокаПродукция Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрок.Номенклатура) Тогда ОбщегоНазначения.Сообщение("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; Ном = Ном + 1; // Проверим, помещается ли строка с данными и последняя строка (или итоги) на странице. СтрокаТаблицы = Новый Массив; СтрокаТаблицы.Добавить(ОбластьСтрока); Если Ном = КоличествоСтрок Тогда СтрокаТаблицы.Добавить(ОбластьИтого); СтрокаТаблицы.Добавить(ОбластьПодвал); КонецЕсли; Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаТаблицы) Тогда // очистим итоги по странице ИтогоМассаБруттоНаСтранице = 0; ИтогоМестНаСтранице = 0; ИтогоКоличествоНаСтранице = 0; ИтогоСуммаНаСтранице = 0; НомерСтраницы = НомерСтраницы + 1; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КонецЕсли; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрок); ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрок.ТоварНаименование) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрок); Если НЕ ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) Тогда МассаБрутто = 0; Иначе МассаБрутто = ВыборкаСтрок.МассаБрутто; МассаБрутто = ?(МассаБрутто <> Неопределено И МассаБрутто <> NULL, МассаБрутто, 0); КонецЕсли; Мест = ВыборкаСтрок.КоличествоМест; Мест = ?(Мест <> Неопределено И Мест <> NULL, Мест, 0); Количество = ВыборкаСтрок.Количество; ОбластьМакета.Параметры.МассаБрутто = МассаБрутто; ТабДокумент.Вывести(ОбластьМакета); // увеличим итоги по странице ИтогоМассаБруттоНаСтранице = ИтогоМассаБруттоНаСтранице + МассаБрутто; ИтогоМестНаСтранице = ИтогоМестНаСтранице + Мест; ИтогоКоличествоНаСтранице = ИтогоКоличествоНаСтранице + Количество; ИтогоСуммаНаСтранице = ИтогоСуммаНаСтранице + ВыборкаСтрок.Сумма; // увеличим итоги по дукументу ИтогоМассаБрутто = ИтогоМассаБрутто + МассаБрутто; ИтогоМест = ИтогоМест + Мест; ИтогоКоличество = ИтогоКоличество + Количество; ИтогоСумма = ИтогоСумма + ВыборкаСтрок.Сумма; КонецЦикла; // Выводим итоги по документу в целом ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.ИтогМассаБрутто = ИтогоМассаБрутто; ОбластьМакета.Параметры.ИтогМест = ИтогоМест; ОбластьМакета.Параметры.ИтогКоличество = ИтогоКоличество; ОбластьМакета.Параметры.ИтогСумма = ИтогоСумма; ТабДокумент.Вывести(ОбластьМакета); // Выводим подвал документа ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); ОбластьМакета.Параметры.КоличествоПорядковыхНомеровЗаписейПрописью = ЧислоПрописью(КоличествоСтрок, ,",,,,,,,,0"); ТабДокумент.Вывести(ОбластьМакета); // Зададим параметры макета ТабДокумент.ПолеСверху = 0; ТабДокумент.ПолеСлева = 0; ТабДокумент.ПолеСнизу = 0; ТабДокумент.ПолеСправа = 0; ТабДокумент.РазмерКолонтитулаСверху = 0; ТабДокумент.РазмерКолонтитулаСнизу = 0; ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Возврат ТабДокумент; КонецФункции // ВывестиПечатнуюФормуМХ18() // Функция формирует табличный документ с печатной формой накладной, // разработанной методистами // // Возвращаемое значение: // Табличный документ - печатная форма накладной // Функция ПечатьМХ18() ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; Иначе ТоварКод = "Код"; КонецЕсли; Ссылка = СсылкаНаОбъект.Ссылка; Дата = СсылкаНаОбъект.Дата; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата КАК ДатаДокумента, | Организация, | Подразделение |ИЗ | Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену | |ГДЕ | ОтчетПроизводстваЗаСмену.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); //определим курс валюты УУ для перевода в рубли цены и суммы по документу Если ссылканаобъект.ОтражатьВБухгалтерскомУчете Тогда КоэффициентПересчета = 1; Иначе СтруктураКурсУпр = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", СсылкаНаобъект.мВалютаУправленческогоУчета)); СтруктураКурсРегл = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", СсылкаНаобъект.мВалютаРегламентированногоУчета)); Если (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратность) = 0 Тогда КоэффициентПересчета = 1; Иначе КоэффициентПересчета = (СтруктураКурсУпр.Курс * СтруктураКурсРегл.Кратность) / (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратность); КонецЕсли; КонецЕсли; Запрос = Новый Запрос; Запрос.УстановитьПараметр( "ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр( "НачГраница", Новый Граница(СсылкаНаОбъект.Дата, ВидГраницы.Включая)); Запрос.УстановитьПараметр( "КонГраница", Новый Граница(СсылкаНаОбъект.Дата, ВидГраницы.Включая)); Запрос.УстановитьПараметр( "НаСклад", Перечисления.НаправленияВыпуска.НаСклад); Запрос.УстановитьПараметр( "НаЗатраты", Перечисления.НаправленияВыпуска.НаЗатраты); Запрос.УстановитьПараметр( "НаЗатратыСписок", Перечисления.НаправленияВыпуска.НаЗатратыСписок); Запрос.УстановитьПараметр( "КоэффициентПересчета", КоэффициентПересчета); ТекстЗапроса = " |ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование, | ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК ТоварКод, | ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование, | ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки, | ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте, | ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоМест > 0 | ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес | ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес | КОНЕЦ КАК МассаБрутто, | ВложенныйЗапрос.Характеристика КАК Характеристика, | ВложенныйЗапрос.Серия КАК Серия, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоМест КАК КоличествоМест, | ВЫБОР КОГДА ВложенныйЗапрос.КоличествоВсего ЕСТЬ NULL ИЛИ ВложенныйЗапрос.КоличествоВсего = 0 ТОГДА | 0 | ИНАЧЕ | ВложенныйЗапрос.СтоимостьОборот / ВложенныйЗапрос.КоличествоВсего | КОНЕЦ КАК Цена, | ВЫБОР КОГДА ВложенныйЗапрос.КоличествоВсего ЕСТЬ NULL ИЛИ ВложенныйЗапрос.КоличествоВсего = 0 ТОГДА | 0 | КОГДА ВложенныйЗапрос.Количество = ВложенныйЗапрос.КоличествоВсего ТОГДА | ВложенныйЗапрос.СтоимостьОборот | ИНАЧЕ | ВложенныйЗапрос.СтоимостьОборот * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоВсего | КОНЕЦ КАК Сумма, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | ВложенныйЗапрос.Получатель КАК Получатель, | ВложенныйЗапрос.КоррСчет КАК КоррСчет |ИЗ ( | ВЫБРАТЬ | ОтчетПроизводстваЗаСмену.Номенклатура КАК Номенклатура, | ОтчетПроизводстваЗаСмену.Коэффициент КАК Коэффициент, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест, | ОтчетПроизводстваЗаСмену.ХарактеристикаНоменклатуры КАК Характеристика, | ОтчетПроизводстваЗаСмену.СерияНоменклатуры КАК Серия, | СУММА( ВЫБОР КОГДА НаправленияСписанияВсего.Коэффициент ЕСТЬ NULL | ИЛИ НаправленияСписанияВсего.Коэффициент = 0 ТОГДА | ОтчетПроизводстваЗаСмену.Количество | ИНАЧЕ | ОтчетПроизводстваЗаСмену.Количество * НаправленияСписания.Коэффициент / НаправленияСписанияВсего.Коэффициент | КОНЕЦ | ) КАК Количество, | СУММА( ВЫБОР КОГДА НаправленияСписанияВсего.Коэффициент ЕСТЬ NULL | ИЛИ НаправленияСписанияВсего.Коэффициент = 0 ТОГДА | ОтчетПроизводстваЗаСмену.КоличествоМест | ИНАЧЕ | ОтчетПроизводстваЗаСмену.КоличествоМест * НаправленияСписания.Коэффициент / НаправленияСписанияВсего.Коэффициент | КОНЕЦ | ) КАК КоличествоМест, | СУММА(ОтчетПроизводстваЗаСмену.Количество) КАК КоличествоВсего, | | ОтчетПроизводстваЗаСмену.НомерСтроки КАК НомерСтроки, | ВЫБОР КОГДА Не ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | ИЛИ (ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаСклад) ТОГДА | ОтчетПроизводстваЗаСмену.Ссылка.Склад | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатраты ТОГДА | ВЫБОР КОГДА ОтчетПроизводстваЗаСмену.Ссылка.ОтражатьВБухгалтерскомУчете ТОГДА | ОтчетПроизводстваЗаСмену.ПодразделениеОрганизацииПолучатель | ИНАЧЕ | ОтчетПроизводстваЗаСмену.ПодразделениеПолучатель | КОНЕЦ | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок ТОГДА | НаправленияСписания.Подразделение | КОНЕЦ КАК Получатель, | | ВЫБОР КОГДА Не ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | ИЛИ (ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаСклад) ТОГДА | ОтчетПроизводстваЗаСмену.Счет | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатраты ТОГДА | ОтчетПроизводстваЗаСмену.СчетЗатратПолучатель | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок ТОГДА | НаправленияСписания.СчетЗатрат | КОНЕЦ КАК КоррСчет, | | СУММА(ЕСТЬNULL(ВыпускПродукции.Стоимость,0))*&КоэффициентПересчета КАК СтоимостьОборот | ИЗ | Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену | | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | ВыпускПродукции.НомерСтрокиДокумента, | СУММА(ВыпускПродукции.Стоимость) КАК Стоимость | ИЗ | РегистрНакопления.ВыпускПродукции%Суффикс% КАК ВыпускПродукции | ГДЕ | ВыпускПродукции.Регистратор = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | ВыпускПродукции.НомерСтрокиДокумента | ) КАК ВыпускПродукции | ПО | ОтчетПроизводстваЗаСмену.НомерСтроки = ВыпускПродукции.НомерСтрокиДокумента | | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | ВЫБОР КОГДА НаправленияСписания.Ссылка.ОтражатьВБухгалтерскомУчете ТОГДА | ПодразделениеОрганизации | ИНАЧЕ | Подразделение | КОНЕЦ КАК Подразделение, | СчетЗатрат, | КлючСвязи, | СУММА(Коэффициент) КАК Коэффициент | ИЗ | Документ.ОтчетПроизводстваЗаСмену.НаправленияСписания КАК НаправленияСписания | ГДЕ | НаправленияСписания.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | НаправленияСписания.Ссылка, | Подразделение, | ПодразделениеОрганизации, | СчетЗатрат, | КлючСвязи | ) КАК НаправленияСписания | ПО | ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок | И ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.КлючСвязи = НаправленияСписания.КлючСвязи | | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | КлючСвязи, | СУММА(Коэффициент) КАК Коэффициент | ИЗ | Документ.ОтчетПроизводстваЗаСмену.НаправленияСписания КАК НаправленияСписания | ГДЕ | НаправленияСписания.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | КлючСвязи | ) КАК НаправленияСписанияВсего | ПО | ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок | И ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.КлючСвязи = НаправленияСписания.КлючСвязи | | ГДЕ | ОтчетПроизводстваЗаСмену.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ОтчетПроизводстваЗаСмену.Ссылка, | ОтчетПроизводстваЗаСмену.Номенклатура, | ОтчетПроизводстваЗаСмену.Коэффициент, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмерения, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест, | ОтчетПроизводстваЗаСмену.ХарактеристикаНоменклатуры, | ОтчетПроизводстваЗаСмену.СерияНоменклатуры, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест.Коэффициент, | ОтчетПроизводстваЗаСмену.НаправлениеВыпуска, | ОтчетПроизводстваЗаСмену.ПодразделениеПолучатель, | ОтчетПроизводстваЗаСмену.ПодразделениеОрганизацииПолучатель, | НаправленияСписания.Подразделение, | НаправленияСписания.СчетЗатрат, | ОтчетПроизводстваЗаСмену.Счет, | ОтчетПроизводстваЗаСмену.СчетЗатратПолучатель, | ОтчетПроизводстваЗаСмену.НомерСтроки | ) КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | НомерСтроки |ИТОГИ ПО | Получатель, | КоррСчет |"; Если СсылкаНаОбъект.ОтражатьВБухгалтерскомУчете Тогда Запрос.Текст = СтрЗаменить( ТекстЗапроса, "%Суффикс%", "БухгалтерскийУчет"); Иначе Запрос.Текст = СтрЗаменить( ТекстЗапроса, "%Суффикс%", ""); КонецЕсли; ЗапросТовары = Запрос.Выполнить().Выгрузить( ОбходРезультатаЗапроса.ПоГруппировкам); ТабДокумент = Новый Массив; Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл ТабДокумент.Добавить( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки)); КонецЦикла; КонецЦикла; Возврат ТабДокумент; КонецФункции // ПечатьМХ18() // Функция осуществляет запуск обработки формирующей печатную форму // // Параметры // Нет // // Возвращаемое значение: // <Неопределено> – Загрулшка для УниверсальныеМеханизмы.НапечататьДокумент(), т.к. табличный // документ формирутеся вызываемой обработкой. // Функция ПечатьСерийныеНомера() Обработка = Обработки.ПечатьСерийныхНомеров.ПолучитьФорму("Форма"); Обработка.Печать(Ссылканаобъект.Продукция, Ссылканаобъект.СерийныеНомера); Возврат Неопределено; КонецФункции // ПечатьСерийныеНомера() // Процедура осуществляет печать документа. Можно направить печать на // экран или принтер, а также распечатать необходимое количество копий. // // Название макета печати передается в качестве параметра, // по переданному названию находим имя макета в соответствии. // // Параметры: // НазваниеМакета - строка, название макета. // Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт ТабДокумент = Новый ТабличныйДокумент; Если ссылканаобъект.ЭтоНовый() Тогда Предупреждение("Документ можно распечатать только после его записи"); Возврат ТабДокумент; ИначеЕсли Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(СсылкаНаОбъект.Проведен) Тогда Предупреждение("Недостаточно полномочий для печати непроведенного документа!"); Возврат ТабДокумент; КонецЕсли; Если Не РаботаСДиалогами.ПроверитьМодифицированность(СсылкаНаОбъект.Ссылка) Тогда Возврат ТабДокумент ; КонецЕсли; // Получить экземпляр документа на печать Если ИмяМакета = "МХ18" Тогда ТабДокумент = ПечатьМХ18(); ИначеЕсли ИмяМакета = "СерНомера" Тогда ТабДокумент = ПечатьСерийныеНомера(); ИначеЕсли ИмяМакета = "СерийныеНомера" Тогда ТабДокумент = УчетСерийныхНомеров.ПечатьСерийныхНомеров(СсылкаНаОбъект, "Продукция"); ИначеЕсли ТипЗнч(ИмяМакета) = Тип("ДвоичныеДанные") Тогда ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(СсылкаНаОбъект, ИмяМакета); Если ТабДокумент = Неопределено Тогда Возврат ТабДокумент КонецЕсли; КонецЕсли; Если ТипЗнч(ТабДокумент) = Тип("Массив") Тогда Для К = 0 По ТабДокумент.ВГраница() Цикл УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент[К], КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект), ТабДокумент[К]); КонецЦикла; Иначе УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект), Ссылканаобъект); КонецЕсли; КонецФункции // Печать |
|||
1
Kucha88
29.01.13
✎
12:10
|
При формировании печатной формы пишет недостаточно фактических параметров
|
|||
2
Artful Den
29.01.13
✎
12:10
|
(0) Задача то какая стояла?
|
|||
3
1C-band
29.01.13
✎
12:10
|
(0) А что, собственно, требуется?
|
|||
4
Godofsin
29.01.13
✎
12:11
|
Значит, не хватает параметров, ваш КЭП
|
|||
5
Kucha88
29.01.13
✎
12:11
|
(2) Задача: создать ВПФ для дальнейшего исправления без изменения конфигурации
|
|||
6
Kucha88
29.01.13
✎
12:12
|
(4) ну а каких параметров не хватает?
|
|||
7
Godofsin
29.01.13
✎
12:12
|
"Функция ВывестиПечатнуюФормуМХ18( Шапка, СтрокаПродукция)
" Как ты ее вызываешь? |
|||
8
Godofsin
29.01.13
✎
12:17
|
и ваще для какой функции параметров не хватает?
|
|||
9
Godofsin
29.01.13
✎
12:17
|
полностью ошибку напиши
|
|||
10
lopus
29.01.13
✎
12:26
|
Запрос.УстановитьПараметр( "ТекущийДокумент", ЭтотОбъект.Ссылка); Это что?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |