|
ИНВ-19 (сличительная ведомость) | ☑ | ||
---|---|---|---|---|
0
Kucha88
09.12.12
✎
10:56
|
Доброго всем времени! Пытаюсь сделать внешнюю печатную форму ИНВ-19 но выходит ошибка при формировании печатной формы: Поле объекта не обнаружено (Номер)
Прикладываю код, подскажите пожалуйста что не так: Перем мВалютаРегламентированногоУчета Экспорт; ////// Валюта курс и кратность для пересчета регламентированных сумм Перем мВалютаУпрУчета Экспорт; //Перем мКурсУпрУчета Экспорт; //Перем мКратностьУпрУчета Экспорт; //Перем Склад Экспорт; Функция Печать()экспорт ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; Иначе ТоварКод = "Код"; КонецЕсли; Если Ссылканаобъект.Склад.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда ВалютаПересчета = мВалютаРегламентированногоУчета; Иначе ВалютаПересчета = мВалютаУпрУчета; КонецЕсли; ВалютаПечати = мВалютаРегламентированногоУчета; Параметры = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаПересчета, Ссылканаобъект.дата); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", Ссылканаобъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | Номер КАК НомерДокумента, | Дата КАК ДатаДокумента, | Дата КАК ДатаНачалаИнвентаризации, | Организация КАК Руководители, | Организация, | Склад.Представление КАК ПредставлениеСклада |ИЗ | Документ.ИнвентаризацияТоваровНаСкладе КАК ИнвентаризацияТоваровНаСкладе | |ГДЕ | ИнвентаризацияТоваровНаСкладе.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос.УстановитьПараметр("Курс", Параметры.Курс); Запрос.УстановитьПараметр("Кратность", Параметры.Кратность); Запрос.УстановитьПараметр("ВидСкладаНТТ", Перечисления.ВидыСкладов.НТТ); Запрос.Текст = "ВЫБРАТЬ | НомерСтроки КАК Номер, | Номенклатура, | Номенклатура.НаименованиеПолное КАК ТоварНаименование, | Номенклатура." + ТоварКод + " КАК ТоварКод, | ЕдиницаИзмерения.Представление КАК ЕдиницаИзмеренияНаименование, | ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК ЕдиницаИзмеренияКодПоОКЕИ, | Количество КАК ФактКоличество, | КоличествоУчет КАК БухКоличество, | ВЫБОР | КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА ЦенаВРознице | ИНАЧЕ Цена * &Курс / &Кратность | КОНЕЦ КАК Цена, | ВЫБОР | КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА Количество * ЦенаВРознице | ИНАЧЕ Сумма * &Курс / &Кратность | КОНЕЦ КАК ФактСумма, | ВЫБОР | КОГДА Ссылка.Склад.ВидСклада = &ВидСкладаНТТ ТОГДА КоличествоУчет *ЦенаВРознице | ИНАЧЕ СуммаУчет * &Курс / &Кратность | КОНЕЦ КАК БухСумма, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия |ИЗ | Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК Товары | |ГДЕ | Товары.Ссылка = &ТекущийДокумент | И (Товары.Количество - Товары.КоличествоУчет) <> 0 | |УПОРЯДОЧИТЬ ПО | Товары.НомерСтроки"; ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияТоваровНаСкладе_ИНВ19"; Макет = ПолучитьМакет("ИНВ19"); // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации); ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО; ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; ОбластьМакета.Параметры.ДатаНачалаИнвентаризации = Шапка.ДатаНачалаИнвентаризации; ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(ЭтотОбъект); Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Шапка.Руководители, Шапка.ДатаДокумента,); Руководитель = Руководители.Руководитель; Бухгалтер = Руководители.ГлавныйБухгалтер; ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); НомерСтраницы = 2; ИтогоРезультатИзлишекКолво = 0; ИтогоРезультатИзлишекСумма = 0; ИтогоРезультатНедостачаКолво = 0; ИтогоРезультатНедостачаСумма = 0; // Выводим заголовок таблицы ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы1"); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КоличествоСтрок = ВыборкаСтрокТовары.Количество(); // Выводим многострочную часть докмента ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы1"); ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ИтогоТаблицы1"); ОбластьПодвала = Макет.ПолучитьОбласть("Подвал"); МассивВыводимыхОбластей = Новый Массив; Ном = 0; Пока ВыборкаСтрокТовары.Следующий() Цикл Ном = Ном + 1; Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьМакета.Параметры.ТоварНаименование = ВыборкаСтрокТовары.ТоварНаименование + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары); ОбластьМакета.Параметры.Номер = КоличествоСтрок.Номер; Разница = 0; РазницаСумм = 0; Разница = ВыборкаСтрокТовары.ФактКоличество - ВыборкаСтрокТовары.БухКоличество; РазницаСумм = ВыборкаСтрокТовары.ФактСумма - ВыборкаСтрокТовары.БухСумма; Если Разница < 0 И РазницаСумм < 0 Тогда ОбластьМакета.Параметры.РезультатНедостачаКолво = - Разница; ОбластьМакета.Параметры.РезультатНедостачаСумма = - РазницаСумм; ОбластьМакета.Параметры.РезультатИзлишекКолво = 0; ОбластьМакета.Параметры.РезультатИзлишекСумма = 0; ИтогоРезультатНедостачаКолво = ИтогоРезультатНедостачаКолво + (- Разница); ИтогоРезультатНедостачаСумма = ИтогоРезультатНедостачаСумма + (- РазницаСумм); ИначеЕсли Разница < 0 И РазницаСумм >= 0 Тогда ОбластьМакета.Параметры.РезультатНедостачаКолво = - Разница; ОбластьМакета.Параметры.РезультатНедостачаСумма = РазницаСумм; ОбластьМакета.Параметры.РезультатИзлишекКолво = 0; ОбластьМакета.Параметры.РезультатИзлишекСумма = 0; ИтогоРезультатНедостачаКолво = ИтогоРезультатНедостачаКолво + (- Разница); ИтогоРезультатНедостачаСумма = ИтогоРезультатНедостачаСумма + РазницаСумм; Иначе ОбластьМакета.Параметры.РезультатНедостачаКолво = 0; ОбластьМакета.Параметры.РезультатНедостачаСумма = 0; ОбластьМакета.Параметры.РезультатИзлишекКолво = Разница; ОбластьМакета.Параметры.РезультатИзлишекСумма = РазницаСумм; ИтогоРезультатИзлишекКолво = ИтогоРезультатИзлишекКолво + Разница; ИтогоРезультатИзлишекСумма = ИтогоРезультатИзлишекСумма + РазницаСумм; КонецЕсли; МассивВыводимыхОбластей.Очистить(); МассивВыводимыхОбластей.Добавить(ОбластьМакета); МассивВыводимыхОбластей.Добавить(ОбластьИтоговПоСтранице); Если Ном = КоличествоСтрок Тогда МассивВыводимыхОбластей.Добавить(ОбластьПодвала); КонецЕсли; Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, МассивВыводимыхОбластей) Тогда НомерСтраницы = НомерСтраницы + 1; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатИзлишекКолво = ИтогоРезультатИзлишекКолво; ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатИзлишекСумма = ИтогоРезультатИзлишекСумма; ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатНедостачаКолво = ИтогоРезультатНедостачаКолво; ОбластьИтоговПоСтранице.Параметры.ИтогоРезультатНедостачаСумма = ИтогоРезультатНедостачаСумма; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); ОбластьПодвала.Параметры.ФИОБухгалтера = Бухгалтер; ОбластьПодвала.Параметры.Заполнить(Шапка); ТабДокумент.Вывести(ОбластьПодвала); // Зададим параметры макета ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Возврат ТабДокумент; КонецФункции // ПечатьИНВ19() Очень нужна помощь, за ранее спасибо! |
|||
1
KUBIK
09.12.12
✎
11:02
|
КоличествоСтрок.Номер;
Здесь ошибка? |
|||
2
Kucha88
09.12.12
✎
14:47
|
(1) скорей всего нет
я эту строчку кода ОбластьМакета.Параметры.Номер = КоличествоСтрок.Номер; Сам добавлял, все равно ошибка выходит вот решил обратиться за помощью на форум |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |