![]() |
|
Вывести розничную цену на печатную форму | ☑ | ||
---|---|---|---|---|
0
Joker2705
10.07.21
✎
13:34
|
Добрый день! Есть УТ 11.4. Пробую написать внешнюю печатную форму. Задача следующая: Есть документ Поступление товаров, нужно что бы из этого документа можно было распечатать накладную в Розничных ценах, при том, что сам документ заполняется в закупочных. Есть несколько магазинов (Условно маг1, маг2 и маг3), соответственно, поступление делается на определенный магазин. Подскажите, как мне узнать розничную цену этого товара (который в накладной), которая именно в том магазине, на который делается поступление.
Я примерно представляю, что нужно считать имя магазина (склада) из накладной, посмотреть, какая розничная цена стоит на этом магазине, посмотреть в номенклатуре цену по этому виду цен и вывести все это в печатную форму. Вопрос только в том, какими командами это сделать и как правильно построить запрос? |
|||
1
ДенисЧ
10.07.21
✎
13:39
|
Есть регистр сведений цены номенклатуры. Там вид цены, номенклатура и цены.
Вид цены - узнаешь из склада (обычно там это прописывается). Дельше СрезПоследних к этому регистру на дату накладной по найденному виду цен и списку номенклатуры из документа. Обычно такой пример приводится во всех учебниках, когда рассказывается о периодических регистрах. |
|||
2
Joker2705
10.07.21
✎
13:49
|
(1) Это я все понял, но вот проблема, подскажите, какой командой мне узнать Вид цены из склада? Как посмотреть и вывести Название склада я разобрался, оно висит в реквизитах Поступления товаров.
|
|||
3
Joker2705
10.07.21
✎
13:52
|
(2) Допустим, есть переменная "Склад1", как мне в Переменную "ВидЦены" считать и вставить именно тот вид цены, который принадлежит складу из переменной "Склад1"?
|
|||
4
acanta
10.07.21
✎
13:57
|
Если когда вы пишете склад1. вам после точки выдается список с наименованием, кодом и вид цен там тоже есть, то пишем видцены = склад1.видцены
Если ничего похожего нет, нажимаем на справочнике виды цен в конфигураторе поиск ссылок и изучаем в каких метаданных может храниться. |
|||
5
Joker2705
10.07.21
✎
14:19
|
(4) Так. Отлично. Начал получать. Для проверки написал в Модуль объекта
ОбластьМакета = Макет.ПолучитьОбласть("ВидЦены"); СтруктураДанныхВидЦены = Новый Структура; ВидЦен = ДанныеПечати.Склад.РозничныйВидЦены; СтруктураДанныхВидЦены.Вставить("ВидЦены", ВидЦен); ОбластьМакета.Параметры.Заполнить(СтруктураДанныхВидЦены); ТабличныйДокумент.Вывести(ОбластьМакета); И в печатной форме стало выводиться наименование Вида Цены. |
|||
6
Guk
10.07.21
✎
14:22
|
(5) фантастика!...
|
|||
7
Joker2705
10.07.21
✎
14:24
|
(6) можно без сарказма? Я делаю это в первый раз. Лучше подскажите что делать дальше? как мне теперь вывести эти цены на печатную форму?
|
|||
8
acanta
10.07.21
✎
14:56
|
Внешняя (и любая)печатная форма должна поддерживать по умолчанию два режима работы - печать списка выделенных документов из формы списка (журнала) и печать одного, еважно из формы документа или журнала.
Отсюда неутешительный вывод - документ должен быть записан, обращаться к нему следует "на Вы", т.е. запрос с фильтром по списку документов, группировка по ссылке и левое соединение к регистру сведений. Пербор строк формы на клиенте теоретически тоже возможен, но это скорее исключение.. |
|||
9
Joker2705
10.07.21
✎
15:02
|
Пробую сейчас вывести розничную цену, но при выводе печатной формы выдает ошибку "Несоответствие типов (параметр номер '2')"
вот переменная: ЦенаРозничная = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), ДанныеПечати.Склад.РозничныйВидЦены); |
|||
10
ДенисЧ
10.07.21
✎
15:05
|
(9) Выдели ПолучитьПоследнее, нажми Ctrl-F1 и почитай, какой параметр ему нужен вторым.
Подсказываю - структура, а не СправочникСсылка.ВидыЦен. Там в справке даже пример есть... Привыкай пользоваться этой волшебной кнопкой, она убережОт тебя от многих вопросов. |
|||
11
acanta
10.07.21
✎
15:06
|
Вероятно, требуется товар И вид цены или структура с соответствующим отбором.
|
|||
12
Joker2705
10.07.21
✎
16:02
|
Так, ошибка ушла, отчет выводится на просмотр, но тут же следующая проблема, в колонке с Розничной Ценой пишется "Структура" вместо цен,
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные"); ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам); Отбор = Новый Структура; Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.ТоварНаименованиеПолное); Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены); ЦенаРозничная = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор); СтруктураДанныхЦенаРоз = Новый Структура; СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная); ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз); ТабличныйДокумент.Присоединить(ОбластьДанных); Подскажите, что не так? |
|||
13
Joker2705
10.07.21
✎
16:19
|
Я просто не пойму, где в модуле код о выводе Цены, Количества, Ед.изм на печатную форму.
|
|||
14
ДенисЧ
10.07.21
✎
16:23
|
Я же предложил нажать волшебную кнопку...
А ещё я предложил прочитать, что написан в том, что вывелось по этой кнопке (((( Что ж за новички пошли, даже справку прочитать не могут....((( |
|||
15
Новый1сник2
10.07.21
✎
16:32
|
(14) отдал даром синакс-помощник))
|
|||
16
Joker2705
10.07.21
✎
16:32
|
(14) прочитал и сделал как там написано.
|
|||
17
Новый1сник2
10.07.21
✎
16:33
|
(15) *синтакс-помощник
|
|||
18
Joker2705
10.07.21
✎
16:36
|
А если вот так
Отбор = Новый Структура; Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.ТоварНаименованиеПолное); Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены); СтруктураРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор); ЦенаРозничная = СтруктураРесурсов.Цена; СтруктураДанныхЦенаРоз = Новый Структура; СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная); ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз); то вообще ничего не выводится |
|||
19
Новый1сник2
10.07.21
✎
16:41
|
(0) Стаж: 6 лет 4 месяца 20 дней, какую ни будь литературу читал? Радченко, Хрусталева например?
|
|||
20
Joker2705
10.07.21
✎
16:43
|
(19) Стаж все врет, программированием в 1С до сего дня не занимался. Литературу не читал. Просто клиент попросил помочь, я и взялся, попутно изучаю.
|
|||
21
Новый1сник2
10.07.21
✎
16:56
|
(20) начинать нужно с азов, а так ты только навредишь клиенту в худшем случае, в лучшем ни чем не поможешь
|
|||
22
Новый1сник2
10.07.21
✎
16:58
|
(20) прочитай хотя бы Практическое пособие 8.3
|
|||
23
Joker2705
10.07.21
✎
16:59
|
Так, вроде получилось, немного подправил и стала выводиться цена
Отбор = Новый Структура; Отбор.Вставить("Номенклатура", ВыборкаПоТоварам.Номенклатура); Отбор.Вставить("Характеристика", ВыборкаПоТоварам.Характеристика); Отбор.Вставить("ВидЦены", ДанныеПечати.Склад.РозничныйВидЦены); СтруктураРесурсов = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ТекущаяДата(), Отбор); ЦенаРозничная = СтруктураРесурсов.Цена; СтруктураДанныхЦенаРоз = Новый Структура; СтруктураДанныхЦенаРоз.Вставить("ЦенаРозничная", ЦенаРозничная); ОбластьДанных.Параметры.Заполнить(СтруктураДанныхЦенаРоз); |
|||
24
Joker2705
10.07.21
✎
16:59
|
(22) Обязательно прочитаю, но мне в понедельник уже отдать обработку нужно
|
|||
25
ДенисЧ
10.07.21
✎
17:38
|
(22) Некогда двигатель заводить, ехать надо!
Сам должен понимать!.. |
|||
26
Новый1сник2
10.07.21
✎
17:47
|
(25) "машина ждет" ?
|
|||
27
acht
10.07.21
✎
18:44
|
(20) > Просто клиент попросил помочь, я и взялся, попутно изучаю.
... (24) > но мне в понедельник уже отдать обработку нужно Опыт, получаемый когда берешься за то чего не знаешь - бесценен! Надеюсь, клиент тоже оценит. Расскажешь потом, чем дело кончилось? |
|||
28
Guk
10.07.21
✎
20:58
|
(27) если будет чем рассказать ;)...
|
|||
29
Joker2705
12.07.21
✎
12:14
|
(27) (28) Победил. Сделал все как нужно, клиент очень доволен, ему хорошо и мне приятно что удалось помочь и опыт получить))) Все сделал как пологается и по Фен-Шую))) Если кому интересно, то вот ссылка https://infostart.ru/public/1478379/
Так же, если кому нужна будет пишите в личку, вышлю на почту)))) СПАСИБО огромное всем, кто оказался не равнодушным и откликнулся на крик о помощи, все-таки не такое безнадежное сообщество как я думал. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |