Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вывести розничную цену на печатную форму

Вывести розничную цену на печатную форму
Я
   Joker2705
 
10.07.21 - 13:34
Добрый день! Есть УТ 11.4. Пробую написать внешнюю печатную форму. Задача следующая: Есть документ Поступление товаров, нужно что бы из этого документа можно было распечатать накладную в Розничных ценах, при том, что сам документ заполняется в закупочных. Есть несколько магазинов (Условно маг1, маг2 и маг3), соответственно, поступление делается на определенный магазин. Подскажите, как мне узнать розничную цену этого товара (который в накладной), которая именно в том магазине, на который делается поступление.
Я примерно представляю, что нужно считать имя магазина (склада) из накладной, посмотреть, какая розничная цена стоит на этом магазине, посмотреть в номенклатуре цену по этому виду цен и вывести все это в печатную форму.
Вопрос только в том, какими командами это сделать и как правильно построить запрос?
   ДенисЧ
 
1 - 10.07.21 - 13:39
Есть регистр сведений цены номенклатуры. Там вид цены, номенклатура и цены.
Вид цены - узнаешь из склада (обычно там это прописывается).
Дельше СрезПоследних к этому регистру на дату накладной по найденному виду цен и списку номенклатуры из документа.
Обычно такой пример приводится во всех учебниках, когда рассказывается о периодических регистрах.
   Joker2705
 
2 - 10.07.21 - 13:49
(1) Это я все понял, но вот проблема, подскажите, какой командой мне узнать Вид цены из склада? Как посмотреть и вывести Название склада я разобрался, оно висит в реквизитах Поступления товаров.
   Joker2705
 
3 - 10.07.21 - 13:52
(2) Допустим, есть переменная "Склад1", как мне в Переменную "ВидЦены" считать и вставить именно тот вид цены, который принадлежит складу из переменной "Склад1"?
   acanta
 
4 - 10.07.21 - 13:57
Если когда вы пишете склад1. вам после точки выдается список с наименованием, кодом и вид цен там тоже есть, то пишем видцены = склад1.видцены
Если ничего похожего нет, нажимаем на справочнике виды цен в конфигураторе поиск ссылок и изучаем в каких метаданных может храниться.
   Joker2705
 
5 - 10.07.21 - 14:19
(4) Так. Отлично. Начал получать. Для проверки написал в Модуль объекта
ОбластьМакета = Макет.ПолучитьОбласть("ВидЦены");
СтруктураДанныхВидЦены = Новый Структура;
ВидЦен = ДанныеПечати.Склад.РозничныйВидЦены;
СтруктураДанныхВидЦены.Вставить("ВидЦены", ВидЦен);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхВидЦены);
ТабличныйДокумент.Вывести(ОбластьМакета);

И в печатной форме стало выводиться наименование Вида Цены.
   Guk
 
6 - 10.07.21 - 14:22
(5) фантастика!...
   Joker2705
 
7 - 10.07.21 - 14:24
(6) можно без сарказма? Я делаю это в первый раз. Лучше подскажите что делать дальше? как мне теперь вывести эти цены на печатную форму?
   acanta
 
8 - 10.07.21 - 14:56
Внешняя (и любая)печатная форма должна поддерживать по умолчанию два режима работы - печать списка выделенных документов из формы списка (журнала) и печать одного, еважно из формы документа или журнала.
Отсюда неутешительный вывод - документ должен быть записан, обращаться к нему следует "на Вы", т.е. запрос с фильтром по списку документов, группировка по ссылке и левое соединение к регистру сведений.
Пербор строк формы на клиенте теоретически тоже возможен, но это скорее исключение..
   Joker2705
 
9 - 10.07.21 - 15:02
Пробую сейчас вывести розничную цену, но при выводе печатной формы выдает ошибку "Несоответствие типов (параметр номер '2')"

вот переменная:
ЦенаРозничная = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), ДанныеПечати.Склад.РозничныйВидЦены);
   ДенисЧ
 
10 - 10.07.21 - 15:05
(9) Выдели ПолучитьПоследнее, нажми Ctrl-F1 и почитай, какой параметр ему нужен вторым.
Подсказываю - структура, а не СправочникСсылка.ВидыЦен.
Там в справке даже пример есть...

Привыкай пользоваться этой волшебной кнопкой, она убережОт тебя от многих вопросов.
   acanta
 
11 - 10.07.21 - 15:06
Вероятно, требуется товар И вид цены или структура с соответствующим отбором.
   Joker2705
 
12 - 10.07.21 - 16:02
Так, ошибка ушла, отчет выводится на просмотр, но тут же следующая проблема, в колонке с Розничной Ценой пишется "Структура" вместо цен,
ОбластьДанных  = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные");
ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.ТоварНаименованиеПолное);
Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены);
ЦенаРозничная = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор);
            
СтруктураДанныхЦенаРоз = Новый Структура;
СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная);
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз);
            
ТабличныйДокумент.Присоединить(ОбластьДанных);


Подскажите, что не так?
   Joker2705
 
13 - 10.07.21 - 16:19
Я просто не пойму, где в модуле код о выводе Цены, Количества, Ед.изм на печатную форму.
   ДенисЧ
 
14 - 10.07.21 - 16:23
Я же предложил нажать волшебную кнопку...
А ещё я предложил прочитать, что написан в том, что вывелось по этой кнопке ((((

Что ж за новички пошли, даже справку прочитать не могут....(((
   Новый1сник2
 
15 - 10.07.21 - 16:32
(14) отдал даром синакс-помощник))
   Joker2705
 
16 - 10.07.21 - 16:32
(14)  прочитал и сделал как там написано.
   Новый1сник2
 
17 - 10.07.21 - 16:33
(15) *синтакс-помощник
   Joker2705
 
18 - 10.07.21 - 16:36
А если вот так

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

то вообще ничего не выводится
   Новый1сник2
 
19 - 10.07.21 - 16:41
(0) Стаж: 6 лет 4 месяца 20 дней, какую ни будь литературу читал? Радченко, Хрусталева например?
   Joker2705
 
20 - 10.07.21 - 16:43
(19) Стаж все врет, программированием в 1С до сего дня не занимался. Литературу не читал. Просто клиент попросил помочь, я и взялся, попутно изучаю.
   Новый1сник2
 
21 - 10.07.21 - 16:56
(20) начинать нужно с азов, а так ты только навредишь клиенту в худшем случае, в лучшем ни чем не поможешь
   Новый1сник2
 
22 - 10.07.21 - 16:58
(20) прочитай хотя бы Практическое пособие 8.3
   Joker2705
 
23 - 10.07.21 - 16:59
Так, вроде получилось, немного подправил и стала выводиться цена

Отбор = Новый Структура;
Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.Номенклатура);
Отбор.Вставить("Характеристика", ВыборкаПоТоварам.Характеристика);
Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены);
СтруктураРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор);
ЦенаРозничная = СтруктураРесурсов.Цена;
            
СтруктураДанныхЦенаРоз = Новый Структура;
СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная);
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз);
   Joker2705
 
24 - 10.07.21 - 16:59
(22) Обязательно прочитаю, но мне в понедельник уже отдать обработку нужно
   ДенисЧ
 
25 - 10.07.21 - 17:38
(22) Некогда двигатель заводить, ехать надо!
Сам должен понимать!..
   Новый1сник2
 
26 - 10.07.21 - 17:47
(25) "машина ждет" ?
   acht
 
27 - 10.07.21 - 18:44
(20) > Просто клиент попросил помочь, я и взялся, попутно изучаю.
...
(24) > но мне в понедельник уже отдать обработку нужно

Опыт, получаемый когда берешься за то чего не знаешь - бесценен! Надеюсь, клиент тоже оценит.
Расскажешь потом, чем дело кончилось?
   Guk
 
28 - 10.07.21 - 20:58
(27) если будет чем рассказать ;)...
   Joker2705
 
29 - 12.07.21 - 12:14
(27) (28) Победил. Сделал все как нужно, клиент очень доволен, ему хорошо и мне приятно что удалось помочь и опыт получить))) Все сделал как пологается и по Фен-Шую))) Если кому интересно, то вот ссылка https://infostart.ru/public/1478379/
Так же, если кому нужна будет пишите в личку, вышлю на почту))))

СПАСИБО огромное всем, кто оказался не равнодушным и откликнулся на крик о помощи, все-таки не такое безнадежное сообщество как я думал.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.