Не могу распечатать документ "Переоценка товаров в рознице"
Показывать по
10
20
40
сообщений
- 1
- 2
30.11.2009
12:09
#1
Конфигурация Управление торговлей 10
При попытке распечатать документ "Переоценка товаров в рознице" - выдается сообщение "Ни один товар не был переоценен". Хотя, документ проведен, движения по регистру сформированы, товар на складе есть. Когда печатаешь ценники или этикетки - всё нормально печатается. Почему не получается распечатать стандартную форму документа переоценки???
При попытке распечатать документ "Переоценка товаров в рознице" - выдается сообщение "Ни один товар не был переоценен". Хотя, документ проведен, движения по регистру сформированы, товар на складе есть. Когда печатаешь ценники или этикетки - всё нормально печатается. Почему не получается распечатать стандартную форму документа переоценки???
30.11.2009
12:24
#2
Странно. Судя по коду процедуры печати достаточно чтобы в табличной части документа был хотя бы один товар.
30.11.2009
12:31
#3
"Так вот же. Когда смотрю в отладчике - там выполняется запрос, но в него не попадают записи.Вот стандартный код
//********************************************
// Функция формирует табличный документ с печатной формой переоценки в рознице.
//
// Возвращаемое значение:
// Табличный документ.
//
Функция ПечатьПереоценкиТоваровВРознице()
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокСсылка", Ссылка);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("СписокНоменклатуры", Товары.ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("СписокХарактеристик", Товары.ВыгрузитьКолонку("ХарактеристикаНоменклатуры"));
Запрос.УстановитьПараметр("Дата", Дата);
ТекстЗапроса = "
|ВЫБРАТЬ
| Док.Ссылка.Номер,
| Док.Ссылка.Дата,
| Док.Ссылка.Организация,
| Док.Ссылка.Организация КАК Поставщик,
| Док.Ссылка.Склад КАК Получатель,
| Док.Ссылка.Склад.Представление КАК ПредставлениеПолучателя,
| ТоварыВРознице.НомерСтроки,
| Остатки.КоличествоОстаток КАК Количество,
| ТоварыВРознице.Номенклатура,
| ТоварыВРознице.Номенклатура.НаименованиеПолное КАК Товар,
| ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
| ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент,
| ВЫБОР КОГДА Остатки.КоличествоОстаток = 0 ТОГДА
| 0
| ИНАЧЕ
| Остатки.СуммаПродажнаяОстаток / Остатки.КоличествоОстаток
| КОНЕЦ КАК ЦенаВРозницеСтарая,
| Док.ЦенаВРознице,
| ТоварыВРознице.СуммаПродажная КАК ОтклонениеСтоимости,
| ТоварыВРознице.ХарактеристикаНоменклатуры КАК Характеристика,
| ТоварыВРознице.СерияНоменклатуры КАК Серия
|ИЗ
| Документ.ПереоценкаТоваровВРознице.Товары КАК Док
|ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| Характеристики.Ссылка КАК Ссылка,
| Характеристики.Владелец КАК Владелец
| ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК Характеристики
| ГДЕ
| Характеристики.Владелец В (&СписокНоменклатуры)
| И Характеристики.Ссылка НЕ В (&СписокХарактеристик)
| И Характеристики.Ссылка НЕ В (
| ВЫБРАТЬ
| ЦеныПродажные.ХарактеристикаНоменклатуры
| ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(&Дата,
| Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПродажные
| )
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка,
| Номенклатура.Ссылка КАК Владелец
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ
| Номенклатура.Ссылка В (&СписокНоменклатуры)
| ) КАК Характеристики
|ПО
| Док.Номенклатура = Характеристики.Владелец
| И Док.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
|СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРознице.Остатки(&Дата, Склад = &Склад И Номенклатура В (&СписокНоменклатуры)) КАК Остатки
|ПО
| Док.Номенклатура = Остатки.Номенклатура
| И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = Остатки.ХарактеристикаНоменклатуры
|СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
|ПО
| Док.Ссылка = ТоварыВРознице.Регистратор
| И Док.Номенклатура = ТоварыВРознице.Номенклатура
| И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = ТоварыВРознице.ХарактеристикаНоменклатуры
|ГДЕ
| Док.Ссылка = &ДокСсылка
|УПОРЯДОЧИТЬ ПО
| ТоварыВРознице.НомерСтроки
|";
Запрос.Текст = ТекстЗапроса;
Шапка = Запрос.Выполнить().Выбрать();
Если Не Шапка.Следующий() Тогда
Предупреждение("Ни один товар не был переоценен.");
Возврат Неопределено;
КонецЕсли;
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПереоценкаТоваровВРознице_ПереоценкаТоваро вВРознице";
Макет = ПолучитьМакет("ПереоценкаТоваровВРознице");
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Переоценка товаров в рознице");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ИтогОтклонениеСтоимости = 0;
ВыборкаСтрокТовары = Шапка;
ВыборкаСтрокТовары.Сбросить();
Пока ВыборкаСтрокТовары.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Товар) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.Товар = ВыборкаСтрокТовары.Товар + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
ТабДокумент.Вывести(ОбластьМакета);
ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости + ВыборкаСтрокТовары.ОтклонениеСтоимости;
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Итог");
ОбластьМакета.Параметры.ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции // ПечатьПереоценкиТоваровВНТТ()
//*****************************************************
В момент
Шапка = Запрос.Выполнить().Выбрать();
Если Не Шапка.Следующий() Тогда
Предупреждение("Ни один товар не был переоценен.");
Возврат Неопределено;
КонецЕсли;
Переменная "ШАПКА" - пишет, что значение неопределено.
"
//********************************************
// Функция формирует табличный документ с печатной формой переоценки в рознице.
//
// Возвращаемое значение:
// Табличный документ.
//
Функция ПечатьПереоценкиТоваровВРознице()
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокСсылка", Ссылка);
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("СписокНоменклатуры", Товары.ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("СписокХарактеристик", Товары.ВыгрузитьКолонку("ХарактеристикаНоменклатуры"));
Запрос.УстановитьПараметр("Дата", Дата);
ТекстЗапроса = "
|ВЫБРАТЬ
| Док.Ссылка.Номер,
| Док.Ссылка.Дата,
| Док.Ссылка.Организация,
| Док.Ссылка.Организация КАК Поставщик,
| Док.Ссылка.Склад КАК Получатель,
| Док.Ссылка.Склад.Представление КАК ПредставлениеПолучателя,
| ТоварыВРознице.НомерСтроки,
| Остатки.КоличествоОстаток КАК Количество,
| ТоварыВРознице.Номенклатура,
| ТоварыВРознице.Номенклатура.НаименованиеПолное КАК Товар,
| ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
| ТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент,
| ВЫБОР КОГДА Остатки.КоличествоОстаток = 0 ТОГДА
| 0
| ИНАЧЕ
| Остатки.СуммаПродажнаяОстаток / Остатки.КоличествоОстаток
| КОНЕЦ КАК ЦенаВРозницеСтарая,
| Док.ЦенаВРознице,
| ТоварыВРознице.СуммаПродажная КАК ОтклонениеСтоимости,
| ТоварыВРознице.ХарактеристикаНоменклатуры КАК Характеристика,
| ТоварыВРознице.СерияНоменклатуры КАК Серия
|ИЗ
| Документ.ПереоценкаТоваровВРознице.Товары КАК Док
|ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| Характеристики.Ссылка КАК Ссылка,
| Характеристики.Владелец КАК Владелец
| ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК Характеристики
| ГДЕ
| Характеристики.Владелец В (&СписокНоменклатуры)
| И Характеристики.Ссылка НЕ В (&СписокХарактеристик)
| И Характеристики.Ссылка НЕ В (
| ВЫБРАТЬ
| ЦеныПродажные.ХарактеристикаНоменклатуры
| ИЗ
| РегистрСведений.ЦеныАТТ.СрезПоследних(&Дата,
| Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПродажные
| )
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка,
| Номенклатура.Ссылка КАК Владелец
| ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ГДЕ
| Номенклатура.Ссылка В (&СписокНоменклатуры)
| ) КАК Характеристики
|ПО
| Док.Номенклатура = Характеристики.Владелец
| И Док.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
|СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРознице.Остатки(&Дата, Склад = &Склад И Номенклатура В (&СписокНоменклатуры)) КАК Остатки
|ПО
| Док.Номенклатура = Остатки.Номенклатура
| И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = Остатки.ХарактеристикаНоменклатуры
|СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
|ПО
| Док.Ссылка = ТоварыВРознице.Регистратор
| И Док.Номенклатура = ТоварыВРознице.Номенклатура
| И ЕСТЬNULL(Характеристики.Ссылка, Док.ХарактеристикаНоменклатуры) = ТоварыВРознице.ХарактеристикаНоменклатуры
|ГДЕ
| Док.Ссылка = &ДокСсылка
|УПОРЯДОЧИТЬ ПО
| ТоварыВРознице.НомерСтроки
|";
Запрос.Текст = ТекстЗапроса;
Шапка = Запрос.Выполнить().Выбрать();
Если Не Шапка.Следующий() Тогда
Предупреждение("Ни один товар не был переоценен.");
Возврат Неопределено;
КонецЕсли;
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПереоценкаТоваровВРознице_ПереоценкаТоваро
Макет = ПолучитьМакет("ПереоценкаТоваровВРознице");
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Переоценка товаров в рознице");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ИтогОтклонениеСтоимости = 0;
ВыборкаСтрокТовары = Шапка;
ВыборкаСтрокТовары.Сбросить();
Пока ВыборкаСтрокТовары.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Товар) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.Товар = ВыборкаСтрокТовары.Товар + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
ТабДокумент.Вывести(ОбластьМакета);
ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости + ВыборкаСтрокТовары.ОтклонениеСтоимости;
КонецЦикла;
ОбластьМакета = Макет.ПолучитьОбласть("Итог");
ОбластьМакета.Параметры.ИтогОтклонениеСтоимости = ИтогОтклонениеСтоимости;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции // ПечатьПереоценкиТоваровВНТТ()
//*****************************************************
В момент
Шапка = Запрос.Выполнить().Выбрать();
Если Не Шапка.Следующий() Тогда
Предупреждение("Ни один товар не был переоценен.");
Возврат Неопределено;
КонецЕсли;
Переменная "ШАПКА" - пишет, что значение неопределено.
"
30.11.2009
13:03
#7
Запрос.Выполнить().Пустой() - значение ИСТИНА тип БУЛЕВО
Запрос.Выполнить().Колонки - Возвращает колонки.
Запрос.Выполнить().Колонки - Возвращает колонки.
- 1
- 2
Технический вопрос СРОЧНО!Управление Торговлей 10.3.8.9, ввод заказов поставщикам по одному заказу покупателя
Читают тему
(гостей: 1)