Вывести розничную цену на печатную форму
Добрый день! Есть УТ 11.4. Пробую написать внешнюю печатную форму. Задача следующая: Есть документ Поступление товаров, нужно что бы из этого документа можно было распечатать накладную в Розничных ценах, при том, что сам документ заполняется в закупочных. Есть несколько магазинов (Условно маг1, маг2 и маг3), соответственно, поступление делается на определенный магазин. Подскажите, как мне узнать розничную цену этого товара (который в накладной), которая именно в том магазине, на который делается поступление.
Я примерно представляю, что нужно считать имя магазина (склада) из накладной, посмотреть, какая розничная цена стоит на этом магазине, посмотреть в номенклатуре цену по этому виду цен и вывести все это в печатную форму.
Вопрос только в том, какими командами это сделать и как правильно построить запрос?
Я примерно представляю, что нужно считать имя магазина (склада) из накладной, посмотреть, какая розничная цена стоит на этом магазине, посмотреть в номенклатуре цену по этому виду цен и вывести все это в печатную форму.
Вопрос только в том, какими командами это сделать и как правильно построить запрос?
По теме из базы знаний
- Поступление товаров в розничных ценах для 1С Розница
- Поступление товаров с розничной ценой для УТ 10.3
- Несколько команд печати у одной внешней печатной формы для разных вариантов отчета для документа Поступление товаров конфигурации Розница 2.2
- Новый взгляд на старое. Внешняя печатная форма – НАСТРАИВАЕМАЯ
- Розничная цена дополнительной колонкой в Приобретении товаров
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Нужно написать запрос, в котором таблицу с товарами соединить с регистром цен номенклатуры - виртуальная таблица среза последних по дате документа. Внутри отфильтровать по типу цены (если для каждого магазина есть отдельный тип цен, то подставить именно его).
Как-то так.
Дальше результат запроса уже выгрузить в печатную форму.
Как-то так.
Дальше результат запроса уже выгрузить в печатную форму.
(1)
Получить из регистра сведений ЦеныНоменклатуры.
(1)
У вас целая конфигурация УТ под глазами - лучший учебник, смотрите как реализовано в ней. Для каждого документа есть процедуры получения данных для печати, обычно они находятся в менеджере документа, реже в общих модулях и обработках. Например, можете посмотреть: СписаниеНедостачТоваровЛокализация.ПолучитьДанныеДляПечатнойФормыТОРГ16() или Документ.ИнвентаризационнаяОпись.ПолучитьДанныеДокумента(). В них есть получение цен номенклатуры по указанному в документе виду цен.
как мне узнать розничную цену этого товара (который в накладной), которая именно в том магазине, на который делается поступление.
Получить из регистра сведений ЦеныНоменклатуры.
(1)
Я примерно представляю, что нужно считать имя магазина (склада) из накладной, посмотреть, какая розничная цена стоит на этом магазине, посмотреть в номенклатуре цену по этому виду цен и вывести все это в печатную форму.
Вопрос только в том, какими командами это сделать и как правильно построить запрос?
Вопрос только в том, какими командами это сделать и как правильно построить запрос?
У вас целая конфигурация УТ под глазами - лучший учебник, смотрите как реализовано в ней. Для каждого документа есть процедуры получения данных для печати, обычно они находятся в менеджере документа, реже в общих модулях и обработках. Например, можете посмотреть: СписаниеНедостачТоваровЛокализация.ПолучитьДанныеДляПечатнойФормыТОРГ16() или Документ.ИнвентаризационнаяОпись.ПолучитьДанныеДокумента(). В них есть получение цен номенклатуры по указанному в документе виду цен.
Почти сделал, осталось только вывести это все в печатную форму, но в колонке с Розничной Ценой пишется "Структура" вместо цен, вот код, который я написал:
Подскажите, что не так?
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные");
ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.ТоварНаименованиеПолное);
Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены);
ЦенаРозничная = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор);
СтруктураДанныхЦенаРоз = Новый Структура;
СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная);
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз);
ТабличныйДокумент.Присоединить(ОбластьДанных);
ПоказатьПодскажите, что не так?
делал вот так
теперь вообще не выводится, пустая колонка
А про это
я ничего не знаю
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.ТоварНаименованиеПолное);
Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены);
СтруктураРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор);
ЦенаРозничная = СтруктураРесурсов.Цена;
СтруктураДанныхЦенаРоз = Новый Структура;
СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная);
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз);
Показатьтеперь вообще не выводится, пустая колонка
А про это
ПродажиСервер.ПолучитьЦенуПоОтбору(ПараметрыОтбора)
я ничего не знаю
(18)
1. Номенклатура в отборе должна быть ссылкой на элемент справочника, а не названием этого элемента, там скорее всего должно быть ВыборкаПоТоварам.Номенклатура
2. У регистра сведений есть ещё измерение Характеристика, его значение так же должно быть установлено в отборе, чтото типа ВыборкаПоТоварам.Характеристика
теперь вообще не выводится, пустая колонка
1. Номенклатура в отборе должна быть ссылкой на элемент справочника, а не названием этого элемента, там скорее всего должно быть ВыборкаПоТоварам.Номенклатура
2. У регистра сведений есть ещё измерение Характеристика, его значение так же должно быть установлено в отборе, чтото типа ВыборкаПоТоварам.Характеристика
(19)Дааа, ура, все появилось
теперь пойду дальше воевать, по принцип уже понятен))))
СПАСИБО огромное
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.Номенклатура);
Отбор.Вставить("Характеристика", ВыборкаПоТоварам.Характеристика);
Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены);
СтруктураРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор);
ЦенаРозничная = СтруктураРесурсов.Цена;
СтруктураДанныхЦенаРоз = Новый Структура;
СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная);
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз);
Показатьтеперь пойду дальше воевать, по принцип уже понятен))))
СПАСИБО огромное
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот