Не могу распечатать документ "Переоценка товаров в рознице"

Новая тема
Показывать по 10 20 40 сообщений
Конфигурация Управление торговлей 10
При попытке распечатать документ "Переоценка товаров в рознице" - выдается сообщение "Ни один товар не был переоценен". Хотя, документ проведен, движения по регистру сформированы, товар на складе есть. Когда печатаешь ценники или этикетки - всё нормально печатается. Почему не получается распечатать стандартную форму документа переоценки???
Странно. Судя по коду процедуры печати достаточно чтобы в табличной части документа был хотя бы один товар.
"Так вот же. Когда смотрю в отладчике - там выполняется запрос, но в него не попадают записи.Вот стандартный код
//********************************************
// Функция формирует табличный документ с печатной формой переоценки в рознице.
//
// Возвращаемое значение:
//  Табличный документ.
//
Функция ПечатьПереоценкиТоваровВРознице()

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокСсылка", Ссылка);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("СписокНоменклатуры", Товары.ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("СписокХарактеристик", Товары.ВыгрузитьКолонку("ХарактеристикаНоменклатуры"));
Запрос.УстановитьПараметр("Дата", Дата);

ТекстЗапроса = "
|ВЫБРАТЬ
| Док.Ссылка.Номер,
| Док.Ссылка.Дата,
| Док.Ссылка.Организация,
| Док.Ссылка.Организация КАК Поставщик,
| Док.Ссылка.Склад КАК Получатель,
| Док.Ссылка.Склад.Представление КАК ПредставлениеПолучателя,
| ТоварыВРознице.НомерСтроки,
| Остатки.КоличествоОстаток КАК Количество,
| ТоварыВРознице.Номенклатура,
| ТоварыВРознице.Номенклатура.НаименованиеПолное КАК Товар,
| ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
| ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент,
| ВЫБОР КОГДА Остатки.КоличествоОстаток = 0 ТОГДА
| 0
| ИНАЧЕ
| Остатки.СуммаПродажнаяОстаток / Остатки.КоличествоОстаток
| КОНЕЦ КАК ЦенаВРозницеСтарая,
| Док.ЦенаВРознице,
| ТоварыВРознице.СуммаПродажная КАК ОтклонениеСтоимости,
| ТоварыВРознице.ХарактеристикаНоменклатуры КАК Характеристика,
| ТоварыВРознице.СерияНоменклатуры КАК Серия
|ИЗ
| Документ.ПереоценкаТоваровВРознице.Товары КАК Док
|ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| Характеристики.Ссылка КАК Ссылка,
| Характеристики.Владелец КАК Владелец
| ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК Характеристики
| ГДЕ
| Характеристики.Владелец В (&СписокНоменклатуры)
| И Характеристики.Ссылка НЕ В (&СписокХарактеристик)
| И Характеристики.Ссылка НЕ В (
| ВЫБРАТЬ
| ЦеныПродажные.ХарактеристикаНоменклатуры
| ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(&Дата,
|   Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПродажные
| )
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка,
| Номенклатура.Ссылка КАК Владелец
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ
| Номенклатура.Ссылка В (&СписокНоменклатуры)
| ) КАК Характеристики
|ПО
| Док.Номенклатура = Характеристики.Владелец
| И Док.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
|СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРознице.Остатки(&Дата, Склад = &Склад И Номенклатура В (&СписокНоменклатуры)) КАК Остатки
|ПО
| Док.Номенклатура = Остатки.Номенклатура
| И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = Остатки.ХарактеристикаНоменклатуры
|СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
|ПО
| Док.Ссылка = ТоварыВРознице.Регистратор
| И Док.Номенклатура = ТоварыВРознице.Номенклатура
| И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = ТоварыВРознице.ХарактеристикаНоменклатуры
|ГДЕ
| Док.Ссылка = &ДокСсылка
|УПОРЯДОЧИТЬ ПО
| ТоварыВРознице.НомерСтроки
|";

Запрос.Текст = ТекстЗапроса;

Шапка = Запрос.Выполнить().Выбрать();
Если Не Шапка.Следующий() Тогда
Предупреждение("Ни один товар не был переоценен.");
Возврат Неопределено;
КонецЕсли;

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПереоценкаТоваровВРознице_ПереоценкаТоваро­вВРознице";
Макет = ПолучитьМакет("ПереоценкаТоваровВРознице");

ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Переоценка товаров в рознице");
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Строка");

ИтогОтклонениеСтоимости = 0;
ВыборкаСтрокТовары = Шапка;
ВыборкаСтрокТовары.Сбросить();
Пока ВыборкаСтрокТовары.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Товар) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;

ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.Товар = ВыборкаСтрокТовары.Товар + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
ТабДокумент.Вывести(ОбластьМакета);

ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости + ВыборкаСтрокТовары.ОтклонениеСтоимости;
КонецЦикла;

ОбластьМакета = Макет.ПолучитьОбласть("Итог");
ОбластьМакета.Параметры.ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости;
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);

Возврат ТабДокумент;

КонецФункции // ПечатьПереоценкиТоваровВНТТ()
//*****************************************************
В момент
Шапка = Запрос.Выполнить().Выбрать();
Если Не Шапка.Следующий() Тогда
Предупреждение("Ни один товар не был переоценен.");
Возврат Неопределено;
КонецЕсли;
Переменная "ШАПКА" - пишет, что значение неопределено.
"
посмотрите в отладчике значение
Запрос.Параметры["ДокСсылка"]
нормально. все параметры, как надо заполнены.
так-с, еще проверьте
Запрос.Выполнить().Пустой()
Запрос.Выполнить().Пустой() - значение ИСТИНА тип БУЛЕВО
Запрос.Выполнить().Колонки - Возвращает колонки.
Шапка -  там результат - "ОШИБКА ЧТЕНИЯ ЗНАЧЕНИЯ"
Сымитировал сейчас ситуацию на типовой УТ - действительно там бредовая какая-то процедура печати. По хорошему бы в тех.поддержку написать, а то иначе придется нешнюю печ.форму делать.
Вот я только об этом подумал. :) Наверное напишу внешнюю печатную форму и все дела. Запрос сдеру от них. Спасибо за ответы.
Читают тему
(гостей: 1)

Быстрый переход