|
Внешняя печатная форма ОПЗ | ☑ | ||
---|---|---|---|---|
0
Елена-Тамара
16.10.13
✎
13:49
|
Типовая конфигурация - <1C:Управление производственным предприятием>
Технологическая платформа 8.2.18.102, номер версии 1.3.43.2 Здравствуйте! Создаю внешнюю печатную форму «Отчета пр-ва за смену» (на основании стандартной МХ-18): 1. Через конфигуратор создала новую внешнюю обработку. 2. Создала во внешней обработке новый реквизит СсылкаНаОбъект с типом ДокументСсылка.ОтчетПроизводстваЗаСмену. 3. Скопировала макет печатной формы МХ18 из общих макетов конфигуратора в созданную внешнюю обработку. 4. Из модуля документа «Отчета пр-ва за смену» скопировала Функцию ПечатьМХ18() в модуль внешней обработки 5. Переделала ее на Функция Печать() Экспорт 6.Везде по тексту кода внешней обработки переделала ЭтотОбъект.Ссылка на СсылкаНаОбъект 7. Там, где была ругань, что переменная не определена добавила перед переменной СсылкаНаОбъект. 8. Из модуля документа «Отчета пр-ва за смену» скопировала Функцию ВывестиПечатнуюФормуМХ18( Шапка, СтрокаПродукция) в модуль внешней обработки (разместила после всего предыдущего кода) 9. Пределала в ней Макет = ПолучитьОбщийМакет("МХ18"); на Макет = ПолучитьМакет("МХ18"); 10. Зарегистрировала полученную обработку в УПП. Выдает ошибку: {ОбщийМодуль.УниверсальныеМеханизмы.Модуль(1389)}: Поле объекта не обнаружено (АвтоМасштаб) Если НЕ ПечДокумент.АвтоМасштаб Подскажите, пожалуйста, на кой она лезет в ОбщийМодуль.УниверсальныеМеханизмы.? И что с этим делать? |
|||
1
Елена-Тамара
16.10.13
✎
14:13
|
Вот код:
//Функция ПечатьМХ18() Функция Печать() Экспорт ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; Иначе ТоварКод = "Код"; КонецЕсли; Запрос = Новый Запрос; //Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата КАК ДатаДокумента, | Организация, | Подразделение |ИЗ | Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену | |ГДЕ | ОтчетПроизводстваЗаСмену.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); //определим курс валюты УУ для перевода в рубли цены и суммы по документу //Если ОтражатьВБухгалтерскомУчете Тогда Если СсылкаНаОбъект.ОтражатьВБухгалтерскомУчете Тогда КоэффициентПересчета = 1; Иначе //СтруктураКурсУпр = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", мВалютаУправленческогоУчета)); СтруктураКурсУпр = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(СсылкаНаОбъект.Дата, Новый Структура("Валюта", СсылкаНаОбъект.мВалютаУправленческогоУчета)); //СтруктураКурсРегл = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", мВалютаРегламентированногоУчета)); СтруктураКурсРегл = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(СсылкаНаОбъект.Дата, Новый Структура("Валюта", СсылкаНаОбъект.мВалютаРегламентированногоУчета)); Если (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратность) = 0 Тогда КоэффициентПересчета = 1; Иначе КоэффициентПересчета = (СтруктураКурсУпр.Курс * СтруктураКурсРегл.Кратность) / (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратность); КонецЕсли; КонецЕсли; Запрос = Новый Запрос; //Запрос.УстановитьПараметр( "ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр( "ТекущийДокумент", СсылкаНаОбъект); //Запрос.УстановитьПараметр( "НачГраница", Новый Граница(Дата, ВидГраницы.Включая)); Запрос.УстановитьПараметр( "НачГраница", Новый Граница(СсылкаНаОбъект.Дата, ВидГраницы.Включая)); //Запрос.УстановитьПараметр( "КонГраница", Новый Граница(Дата, ВидГраницы.Включая)); Запрос.УстановитьПараметр( "КонГраница", Новый Граница(СсылкаНаОбъект.Дата, ВидГраницы.Включая)); Запрос.УстановитьПараметр( "НаСклад", Перечисления.НаправленияВыпуска.НаСклад); Запрос.УстановитьПараметр( "НаЗатраты", Перечисления.НаправленияВыпуска.НаЗатраты); Запрос.УстановитьПараметр( "НаЗатратыСписок", Перечисления.НаправленияВыпуска.НаЗатратыСписок); Запрос.УстановитьПараметр( "КоэффициентПересчета", КоэффициентПересчета); ТекстЗапроса = " |ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование, | ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК ТоварКод, | ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование, | ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки, | ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте, | ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоМест > 0 | ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес | ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес | КОНЕЦ КАК МассаБрутто, | ВложенныйЗапрос.Характеристика КАК Характеристика, | ВложенныйЗапрос.Серия КАК Серия, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоМест КАК КоличествоМест, | ВЫБОР КОГДА ВложенныйЗапрос.КоличествоВсего ЕСТЬ NULL ИЛИ ВложенныйЗапрос.КоличествоВсего = 0 ТОГДА | 0 | ИНАЧЕ | ВложенныйЗапрос.СтоимостьОборот / ВложенныйЗапрос.КоличествоВсего | КОНЕЦ КАК Цена, | ВЫБОР КОГДА ВложенныйЗапрос.КоличествоВсего ЕСТЬ NULL ИЛИ ВложенныйЗапрос.КоличествоВсего = 0 ТОГДА | 0 | КОГДА ВложенныйЗапрос.Количество = ВложенныйЗапрос.КоличествоВсего ТОГДА | ВложенныйЗапрос.СтоимостьОборот | ИНАЧЕ | ВложенныйЗапрос.СтоимостьОборот * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоВсего | КОНЕЦ КАК Сумма, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | ВложенныйЗапрос.Получатель КАК Получатель, | ВложенныйЗапрос.КоррСчет КАК КоррСчет |ИЗ ( | ВЫБРАТЬ | ОтчетПроизводстваЗаСмену.Номенклатура КАК Номенклатура, | ОтчетПроизводстваЗаСмену.Коэффициент КАК Коэффициент, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест, | ОтчетПроизводстваЗаСмену.ХарактеристикаНоменклатуры КАК Характеристика, | ОтчетПроизводстваЗаСмену.СерияНоменклатуры КАК Серия, | СУММА( ВЫБОР КОГДА НаправленияСписанияВсего.Коэффициент ЕСТЬ NULL | ИЛИ НаправленияСписанияВсего.Коэффициент = 0 ТОГДА | ОтчетПроизводстваЗаСмену.Количество | ИНАЧЕ | ОтчетПроизводстваЗаСмену.Количество * НаправленияСписания.Коэффициент / НаправленияСписанияВсего.Коэффициент | КОНЕЦ | ) КАК Количество, | СУММА( ВЫБОР КОГДА НаправленияСписанияВсего.Коэффициент ЕСТЬ NULL | ИЛИ НаправленияСписанияВсего.Коэффициент = 0 ТОГДА | ОтчетПроизводстваЗаСмену.КоличествоМест | ИНАЧЕ | ОтчетПроизводстваЗаСмену.КоличествоМест * НаправленияСписания.Коэффициент / НаправленияСписанияВсего.Коэффициент | КОНЕЦ | ) КАК КоличествоМест, | СУММА(ОтчетПроизводстваЗаСмену.Количество) КАК КоличествоВсего, | | ОтчетПроизводстваЗаСмену.НомерСтроки КАК НомерСтроки, | ВЫБОР КОГДА Не ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | ИЛИ (ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаСклад) ТОГДА | ОтчетПроизводстваЗаСмену.Ссылка.Склад | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатраты ТОГДА | ВЫБОР КОГДА ОтчетПроизводстваЗаСмену.Ссылка.ОтражатьВБухгалтерскомУчете ТОГДА | ОтчетПроизводстваЗаСмену.ПодразделениеОрганизацииПолучатель | ИНАЧЕ | ОтчетПроизводстваЗаСмену.ПодразделениеПолучатель | КОНЕЦ | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок ТОГДА | НаправленияСписания.Подразделение | КОНЕЦ КАК Получатель, | | ВЫБОР КОГДА Не ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | ИЛИ (ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаСклад) ТОГДА | ОтчетПроизводстваЗаСмену.Счет | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатраты ТОГДА | ОтчетПроизводстваЗаСмену.СчетЗатратПолучатель | КОГДА ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок ТОГДА | НаправленияСписания.СчетЗатрат | КОНЕЦ КАК КоррСчет, | | СУММА(ЕСТЬNULL(ВыпускПродукции.Стоимость,0))*&КоэффициентПересчета КАК СтоимостьОборот | ИЗ | Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену | | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | ВыпускПродукции.НомерСтрокиДокумента, | СУММА(ВыпускПродукции.Стоимость) КАК Стоимость | ИЗ | РегистрНакопления.ВыпускПродукции%Суффикс% КАК ВыпускПродукции | ГДЕ | ВыпускПродукции.Регистратор = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | ВыпускПродукции.НомерСтрокиДокумента | ) КАК ВыпускПродукции | ПО | ОтчетПроизводстваЗаСмену.НомерСтроки = ВыпускПродукции.НомерСтрокиДокумента | | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | ВЫБОР КОГДА НаправленияСписания.Ссылка.ОтражатьВБухгалтерскомУчете ТОГДА | ПодразделениеОрганизации | ИНАЧЕ | Подразделение | КОНЕЦ КАК Подразделение, | СчетЗатрат, | КлючСвязи, | СУММА(Коэффициент) КАК Коэффициент | ИЗ | Документ.ОтчетПроизводстваЗаСмену.НаправленияСписания КАК НаправленияСписания | ГДЕ | НаправленияСписания.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | НаправленияСписания.Ссылка, | Подразделение, | ПодразделениеОрганизации, | СчетЗатрат, | КлючСвязи | ) КАК НаправленияСписания | ПО | ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок | И ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.КлючСвязи = НаправленияСписания.КлючСвязи | | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | КлючСвязи, | СУММА(Коэффициент) КАК Коэффициент | ИЗ | Документ.ОтчетПроизводстваЗаСмену.НаправленияСписания КАК НаправленияСписания | ГДЕ | НаправленияСписания.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | КлючСвязи | ) КАК НаправленияСписанияВсего | ПО | ОтчетПроизводстваЗаСмену.НаправлениеВыпуска = &НаЗатратыСписок | И ОтчетПроизводстваЗаСмену.Ссылка.ИспользоватьНаправленияВыпуска | И ОтчетПроизводстваЗаСмену.КлючСвязи = НаправленияСписания.КлючСвязи | | ГДЕ | ОтчетПроизводстваЗаСмену.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ОтчетПроизводстваЗаСмену.Ссылка, | ОтчетПроизводстваЗаСмену.Номенклатура, | ОтчетПроизводстваЗаСмену.Коэффициент, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмерения, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест, | ОтчетПроизводстваЗаСмену.ХарактеристикаНоменклатуры, | ОтчетПроизводстваЗаСмену.СерияНоменклатуры, | ОтчетПроизводстваЗаСмену.ЕдиницаИзмеренияМест.Коэффициент, | ОтчетПроизводстваЗаСмену.НаправлениеВыпуска, | ОтчетПроизводстваЗаСмену.ПодразделениеПолучатель, | ОтчетПроизводстваЗаСмену.ПодразделениеОрганизацииПолучатель, | НаправленияСписания.Подразделение, | НаправленияСписания.СчетЗатрат, | ОтчетПроизводстваЗаСмену.Счет, | ОтчетПроизводстваЗаСмену.СчетЗатратПолучатель, | ОтчетПроизводстваЗаСмену.НомерСтроки | ) КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | НомерСтроки |ИТОГИ ПО | Получатель, | КоррСчет |"; //Если ОтражатьВБухгалтерскомУчете Тогда Если СсылкаНаОбъект.ОтражатьВБухгалтерскомУчете Тогда Запрос.Текст = СтрЗаменить( ТекстЗапроса, "%Суффикс%", "БухгалтерскийУчет"); Иначе Запрос.Текст = СтрЗаменить( ТекстЗапроса, "%Суффикс%", ""); КонецЕсли; ЗапросТовары = Запрос.Выполнить().Выгрузить( ОбходРезультатаЗапроса.ПоГруппировкам); ТабДокумент = Новый Массив; Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл ТабДокумент.Добавить( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки)); КонецЦикла; КонецЦикла; Возврат ТабДокумент; КонецФункции // ПечатьМХ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() |
|||
2
Паланик
16.10.13
✎
14:20
|
(0) Ну поставь точку останова и посмотри в стеке вызовов из какого другого модуля вызывается она и почему туда не передается то, на что ругается система.
|
|||
3
Елена-Тамара
18.10.13
✎
09:38
|
Уважаемые специалисты,
не могу найти ошибку.... Помогите, пожалуйста! |
|||
4
Галахад
гуру
18.10.13
✎
09:54
|
Что-то я не понял. С какого перепуга ТабДокумент эо массив?
|
|||
5
Елена-Тамара
18.10.13
✎
09:56
|
(4) Я новичок...
Как написано в модуле ОПЗ, так и скопировала.... |
|||
6
Галахад
гуру
18.10.13
✎
09:59
|
УПП 1.3 не видел, но раньше было так:
в внешнюю печ форму - ссылку, обратно табличный документ. |
|||
7
Елена-Тамара
18.10.13
✎
10:02
|
(6) Вы не могли бы поконкретнее-
что в коде не правильно? |
|||
8
Галахад
гуру
18.10.13
✎
10:04
|
Вот это выкинуть:
ТабДокумент = Новый Массив; Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл ТабДокумент.Добавить( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки)); КонецЦикла; КонецЦикла; Возврат ТабДокумент; Вот это вставить: Возврат ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки); |
|||
9
Елена-Тамара
18.10.13
✎
10:07
|
(8) Даже сохранить не дает: Ошибка
{ВнешняяОбработка.ОтчПрЗаСм.МодульОбъекта(299,43)}: Переменная не определена (СтрокаКоррСчет) Возврат ВывестиПечатнуюФормуМХ18( Шапка, <<?>>СтрокаКоррСчет.Строки); (Проверка: Толстый клиент (обычное приложение)) |
|||
10
Галахад
гуру
18.10.13
✎
10:08
|
А да, фигню написал.
|
|||
11
banco
18.10.13
✎
10:22
|
попробуй так
ТабДокумент = Новый ТабличныйДокумент; Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл ТабДокумент.Вывести( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки)); КонецЦикла; КонецЦикла; Возврат ТабДокумент; |
|||
12
anaed
18.10.13
✎
10:27
|
Оставить все как есть, добавить:
Если ТипЗнч(ТабДокумент) = Тип("Массив") Тогда Для К = 0 По ТабДокумент.ВГраница() Цикл УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент[К], КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), ТабДокумент[К]); КонецЦикла; Иначе УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), Ссылка); КонецЕсли; |
|||
13
anaed
18.10.13
✎
10:32
|
+(12) возврат табдокумент; лучше все же убрать.
|
|||
14
Елена-Тамара
18.10.13
✎
11:23
|
Я после
ТабДокумент = Новый Массив; Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл ТабДокумент.Добавить( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки)); КонецЦикла; КонецЦикла; Добавила (12) Возврат ТабДокумент; - заккоментировала. Не сохраняет ВО - ошибки: {ВнешняяОбработка.ОтчПрЗаСм.МодульОбъекта(300,72)}: Переменная не определена (КоличествоЭкземпляров) УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент[К], <<?>>КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), ТабДокумент[К]); (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ОтчПрЗаСм.МодульОбъекта(303,65)}: Переменная не определена (КоличествоЭкземпляров) УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент, <<?>>КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), Ссылка); (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ОтчПрЗаСм.МодульОбъекта(300,95)}: Переменная не определена (НаПринтер) УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент[К], КоличествоЭкземпляров, <<?>>НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), ТабДокумент[К]); (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ОтчПрЗаСм.МодульОбъекта(303,88)}: Переменная не определена (НаПринтер) УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент, КоличествоЭкземпляров, <<?>>НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), Ссылка); (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ОтчПрЗаСм.МодульОбъекта(303,160)}: Переменная не определена (Ссылка) УниверсальныеМеханизмы.НапечататьДокумент( ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект), <<?>>Ссылка); (Проверка: Толстый клиент (обычное приложение)) |
|||
15
Елена-Тамара
18.10.13
✎
11:34
|
(11) Я сделала так, как Вы сказали - все получилось!
СПАСИБО БОЛЬШОЕ! |
|||
16
1Cras
22.10.13
✎
12:38
|
Всем здрасти!Есть кто нибудь из Казахстана?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |