|
Перенос печатной внешней формы с 2.0 бух на 3.0 | ☑ | ||
---|---|---|---|---|
0
scorp364
26.02.16
✎
08:03
|
Помогите, изменил модули под 3.0, при его проверки пишет синтаксических ошибок не обнаруженно! а при вызове формы вылазит ошибка:
{ВнешняяОбработка.scorp.МодульОбъекта(73)}: Ошибка при вызове метода контекста (Выполнить) Шапка = Запрос.Выполнить().Выбрать(); по причине: {(19, 21)}: Не задано значение параметра "МассивОбъектов" КУ_Заявка.Ссылка = <<?>>&МассивОбъектов сам код, последняя часть: Функция ПечатьСправки(МассивОбъектов, ОбъектыПечати = Неопределено) ТабДокумент = Новый ТабличныйДокумент; Запрос = Новый Запрос("ВЫБРАТЬ | КУ_Заявка.Ссылка, | КУ_Заявка.Номер, | КУ_Заявка.Дата, | КУ_Заявка.Проведен, | КУ_Заявка.Заказчик, | КУ_Заявка.Заказчик КАК Заказчик, | КУ_Заявка.Помещение КАК Адрес, | КУ_Заявка.ДатаЗаказчика, | КУ_Заявка.ДатаВыполнения, | КУ_Заявка.ВремяВыполнения, | КУ_Заявка.ОтветственныйЗаВыполнение, | КУ_Заявка.Телефон, | КУ_Заявка.ФлагВыполненияЗаявки, | КУ_Заявка.Заказчик |ИЗ | Документ.КУ_Заявка КАК КУ_Заявка |ГДЕ | КУ_Заявка.Ссылка = &МассивОбъектов"); Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", МассивОбъектов); Запрос.Текст = "ВЫБРАТЬ | КУ_ЗаявкаНарядЗаказ.НомерСтроки КАК НомерСтроки, | КУ_ЗаявкаНарядЗаказ.Номенклатура, | КУ_ЗаявкаНарядЗаказ.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление, | КУ_ЗаявкаНарядЗаказ.Цена, | КУ_ЗаявкаНарядЗаказ.Сумма, | КУ_ЗаявкаНарядЗаказ.Количество, | КУ_ЗаявкаНарядЗаказ.Номенклатура.Услуга, | КУ_ЗаявкаНарядЗаказ.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | Документ.КУ_Заявка.НарядЗаказ КАК КУ_ЗаявкаНарядЗаказ |ГДЕ | КУ_ЗаявкаНарядЗаказ.Ссылка = &Ссылка | И (НЕ КУ_ЗаявкаНарядЗаказ.Номенклатура.Услуга) | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Запрос.УстановитьПараметр("Ссылка", МассивОбъектов); ЗапросТовары = Запрос.Выполнить().Выгрузить(); Запрос.Текст = "ВЫБРАТЬ | КУ_ЗаявкаНарядЗаказ.НомерСтроки КАК НомерСтроки, | КУ_ЗаявкаНарядЗаказ.Номенклатура, | КУ_ЗаявкаНарядЗаказ.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление, | КУ_ЗаявкаНарядЗаказ.Цена, | КУ_ЗаявкаНарядЗаказ.Сумма, | КУ_ЗаявкаНарядЗаказ.Количество, | КУ_ЗаявкаНарядЗаказ.Номенклатура.Услуга, | КУ_ЗаявкаНарядЗаказ.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | Документ.КУ_Заявка.НарядЗаказ КАК КУ_ЗаявкаНарядЗаказ |ГДЕ | КУ_ЗаявкаНарядЗаказ.Ссылка = &Ссылка | И (КУ_ЗаявкаНарядЗаказ.Номенклатура.Услуга) | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов); ЗапросУслуги = Запрос.Выполнить().Выгрузить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КУ_Заявка_НарядЗаказ"; Макет = ПолучитьМакет("Макет"); // Выводим шапку ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); // руководитель Если Метаданные.Имя = "УправлениеПроизводственнымПредприятиемЖКХ" Тогда Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(МассивОбъектов.Организация, МассивОбъектов.Дата); ОбластьМакета.Параметры.ФИОРуководителя = Руководители.Руководитель; ОбластьМакета.Параметры.РуководительДолжность = Руководители.РуководительДолжность; Иначе Руководители = ОбщегоНазначения.ОтветственныеЛица(МассивОбъектов.Организация, МассивОбъектов.Дата); ОбластьМакета.Параметры.ФИОРуководителя = Руководители.РуководительПредставление; ОбластьМакета.Параметры.РуководительДолжность = Руководители.РуководительДолжность; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("СодержаниеЗаявки"); Для Каждого СтрокаЗаявки Из МассивОбъектов.Заявки Цикл //ОбластьМакета.Параметры.НомерЗ = Строка(СтрокаЗаявки.НомерСтроки)+"."; ОбластьМакета.Параметры.СодержаниеЗаявки = СтрокаЗаявки.Заявка.Наименование; ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаВыполнения=Формат(Шапка.ДатаВыполнения,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ВремяВыполнения=Формат(Шапка.ВремяВыполнения,"ДЛФ=T"); ТабДокумент.Вывести(ОбластьМакета); // шапка таблицы ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьМакета.Параметры.Заполнить(Шапка); ТабДокумент.Вывести(ОбластьМакета); // работы ОбластьМакета = Макет.ПолучитьОбласть("Раздел1"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Ном = 1; ИтогоПоРазделу = 0; Для Каждого СтрокаТаблицы из ЗапросУслуги Цикл ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы); ТабДокумент.Вывести(ОбластьМакета); Ном = Ном + 1; ИтогоПоРазделу = ИтогоПоРазделу + СтрокаТаблицы.Сумма; КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("ИтогоПоРазделу"); ОбластьМакета.Параметры.ИтогоПоРазделу = "Итого по разделу I:"; ОбластьМакета.Параметры.Сумма = ИтогоПоРазделу; ТабДокумент.Вывести(ОбластьМакета); // товары ИтогоПоРазделу = 0; ОбластьМакета = Макет.ПолучитьОбласть("Раздел2"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Ном = 1; Для Каждого СтрокаТаблицы из ЗапросТовары Цикл ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы); ОбластьМакета.Параметры.Ном = Ном; ТабДокумент.Вывести(ОбластьМакета); Ном = Ном + 1; ИтогоПоРазделу = ИтогоПоРазделу + СтрокаТаблицы.Сумма; КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("ИтогоПоРазделу"); ОбластьМакета.Параметры.ИтогоПоРазделу = "Итого по разделу II:"; ОбластьМакета.Параметры.Сумма = ИтогоПоРазделу; ТабДокумент.Вывести(ОбластьМакета); // сумма документа ОбластьМакета = Макет.ПолучитьОбласть("ИтогоПоДокументу"); ОбластьМакета.Параметры.Сумма = МассивОбъектов.НарядЗаказ.Итог("Сумма"); ТабДокумент.Вывести(ОбластьМакета); // подвал ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); //Если Метаданные.Имя = "УправлениеПроизводственнымПредприятиемЖКХ" Тогда //ОбластьМакета.Параметры.ФИОРуководителя = Руководители.Руководитель; //ОбластьМакета.Параметры.РуководительДолжность = Руководители.РуководительДолжность; //Иначе // ОбластьМакета.Параметры.ФИОРуководителя = Руководители.РуководительПредставление; // ОбластьМакета.Параметры.РуководительДолжность = Руководители.РуководительДолжность; //КонецЕсли; ОбластьМакета.Параметры.Заказчик = МассивОбъектов.Заказчик; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции |
|||
1
Качели
26.02.16
✎
08:04
|
В первом запросе не передаешь параметр
|
|||
2
scorp364
26.02.16
✎
08:06
|
можете по конкретней, мне как новичку плохо понятно.
|
|||
3
Качели
26.02.16
✎
08:08
|
Функция ПечатьСправки(МассивОбъектов, ОбъектыПечати = Неопределено)
ТабДокумент = Новый ТабличныйДокумент; Запрос = Новый Запрос("ВЫБРАТЬ | КУ_Заявка.Ссылка, | КУ_Заявка.Номер, | КУ_Заявка.Дата, | КУ_Заявка.Проведен, | КУ_Заявка.Заказчик, | КУ_Заявка.Заказчик КАК Заказчик, | КУ_Заявка.Помещение КАК Адрес, | КУ_Заявка.ДатаЗаказчика, | КУ_Заявка.ДатаВыполнения, | КУ_Заявка.ВремяВыполнения, | КУ_Заявка.ОтветственныйЗаВыполнение, | КУ_Заявка.Телефон, | КУ_Заявка.ФлагВыполненияЗаявки, | КУ_Заявка.Заказчик |ИЗ | Документ.КУ_Заявка КАК КУ_Заявка |ГДЕ | КУ_Заявка.Ссылка = &МассивОбъектов"); // вот Запрос.УстановитьПараметр("Ссылка", МассивОбъектов); Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); |
|||
4
Качели
26.02.16
✎
08:11
|
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
Только так, а вообще какая-то каша у тебя. |
|||
5
Качели
26.02.16
✎
08:12
|
Запрос.Текст =
"ВЫБРАТЬ | КУ_ЗаявкаНарядЗаказ.НомерСтроки КАК НомерСтроки, | КУ_ЗаявкаНарядЗаказ.Номенклатура, | КУ_ЗаявкаНарядЗаказ.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление, | КУ_ЗаявкаНарядЗаказ.Цена, | КУ_ЗаявкаНарядЗаказ.Сумма, | КУ_ЗаявкаНарядЗаказ.Количество, | КУ_ЗаявкаНарядЗаказ.Номенклатура.Услуга, | КУ_ЗаявкаНарядЗаказ.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | Документ.КУ_Заявка.НарядЗаказ КАК КУ_ЗаявкаНарядЗаказ |ГДЕ | КУ_ЗаявкаНарядЗаказ.Ссылка = &Ссылка | И (КУ_ЗаявкаНарядЗаказ.Номенклатура.Услуга) | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов); ЗапросУслуги = Запрос.Выполнить().Выгрузить(); Вот здесь |
|||
6
scorp364
26.02.16
✎
08:14
|
вылезла та же самая ошибка
{ВнешняяОбработка.scorp.МодульОбъекта(76)}: Ошибка при вызове метода контекста (Выполнить) Шапка = Запрос.Выполнить().Выбрать(); по причине: {(19, 24)}: Не задано значение параметра "МассивОбъектов" КУ_Заявка.Ссылка = <<?>>&МассивОбъектов |
|||
7
Качели
26.02.16
✎
08:17
|
(6) Вот смотри, что ты думаешь об этом сообщении, какие выводы делаешь?
|
|||
8
Мимохожий Однако
26.02.16
✎
08:23
|
Обычно встают отладчиком на строку с ошибкой и смотрят, что лежит в больном параметре.
|
|||
9
scorp364
26.02.16
✎
08:23
|
понял, парамтр не задан, сделал как ты написал, в модуле пишет
{ВнешняяОбработка.scorp.МодульОбъекта(184,31)}: Переменная не определена (ЗапросТовары) Для Каждого СтрокаТаблицы из <<?>>ЗапросТовары Цикл (Проверка: Сервер) |
|||
10
Качели
26.02.16
✎
08:31
|
Отладчиком глянь после выполнения запроса что у тебя в ЗапросТовары
|
|||
11
scorp364
26.02.16
✎
08:57
|
(10) я не умею отладку для внешней формы использовать
|
|||
12
Мимохожий Однако
26.02.16
✎
09:01
|
(11)учись ). Для этого сделай форму для отладки или поищи в инете обработку для отладки внешних обработок.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |