|
Вывод Розничной цены из регистра сведений.. | ☑ | ||
---|---|---|---|---|
0
ГоловуСломала
16.12.19
✎
06:24
|
Всем Доброго времени суток. Есть печатная форма, внешняя, печать из документа ПоступлениеТоваров, но вывести надо цену Розничную.
Делаю через Запрос: Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, | ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура1 |ИЗ | Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекущаяДата, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних | ПО ПоступлениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПоступлениеТоваровТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная")); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл КонецЦикла; Для Каждого СтрокаТаблицы Из СсылкаНаОбъект.Товары Цикл ЗаполнитьЗначенияСвойств(ОбластьЦенника.Параметры,Выборка); ОбластьЦенника.Параметры.Цена2 = Выборка.Цена; И вот тут какая-то лажа... Если в документе только одна строка, то цену выводит правильно, а если например 2, то у всех номенклатурных позиций только одна цена (я так поняла та которая позже всего установлена), т.е связки между номенклатурой и ценой видимо нет. Не очень сильна в этом, но хотелось бы разобраться))) Помогите Товарищи!!! |
5 |
||
1
shadow_sw
16.12.19
✎
06:26
|
а зачем перебирать строки документа, когда надо перебирать результат запроса?
|
|||
2
ГоловуСломала
16.12.19
✎
06:32
|
Ну...Я так пыталась связать номенклатуру и цену
|
|||
3
ГоловуСломала
16.12.19
✎
06:32
|
Подскажите как будет правильно?
|
|||
4
shadow_sw
16.12.19
✎
06:39
|
Пока выборка.следующий() Цикл
//Здесь вывод всех параметров ценника ОбластьЦенника.Параметры.Цена2 = Выборка.Цена; |
|||
5
Krabb
16.12.19
✎
06:42
|
(0)
Вот это: ЗаполнитьЗначенияСвойств(ОбластьЦенника.Параметры,Выборка); ОбластьЦенника.Параметры.Цена2 = Выборка.Цена; Нужно писать вот в этом цикле: Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл |
|||
6
shadow_sw
16.12.19
✎
06:46
|
какая конфигурация? может не нужен запрос?
|
|||
7
ГоловуСломала
16.12.19
✎
06:46
|
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьЦенника.Параметры,Выборка); ОбластьЦенника.Параметры.Цена2 = Выборка.Цена; КонецЦикла; Так?, Все равно выводит только одну цену |
9 |
||
8
ГоловуСломала
16.12.19
✎
06:47
|
Розница 2.2
|
|||
9
hhhh
16.12.19
✎
06:52
|
(7) забыла вывод ценника в таб. документ
|
|||
10
ГоловуСломала
16.12.19
✎
06:55
|
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати) Экспорт
ТабДокумент = Новый ТабличныйДокумент; Макет = ПолучитьМакет ("Макет"); ОбластьЦенника = Макет.ПолучитьОбласть("Строка|Столбец1"); ТекСтолбец = 0; ТекСтрока = 0; Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, | ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура1 |ИЗ | Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекущаяДата, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних | ПО ПоступлениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПоступлениеТоваровТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная")); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьЦенника.Параметры,Выборка); ОбластьЦенника.Параметры.Цена2 = Выборка.Цена; ОбластьЦенника.Параметры.Наимен = Выборка.Номенклатура; КонецЦикла; Если ТекСтолбец = 0 Тогда ТабДокумент.Вывести(ОбластьЦенника); Иначе ТабДокумент.Присоединить(ОбластьЦенника); КонецЕсли; ТекСтолбец = ТекСтолбец + 1; Если ТекСтолбец = 3 Тогда ТекСтрока = ТекСтрока + 1; ТекСтолбец = 0; КонецЕсли; Если ТекСтрока = 10 Тогда ТекСтрока = 0; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; Возврат ТабДокумент; КонецФункции//СформироватьПечатнуюФорму |
|||
11
ГоловуСломала
16.12.19
✎
06:56
|
Но так совсем перестала работать... Теперь на номенклатуру ругается..
|
13 |
||
12
ГоловуСломала
16.12.19
✎
06:56
|
Говорит что такого параметра у меня нет..
|
|||
13
hhhh
16.12.19
✎
07:01
|
(11) вы издеваетесь? еще раз
вывод ценника Если ТекСтолбец = 0 Тогда ТабДокумент.Вывести(ОбластьЦенника); Иначе ТабДокумент.Присоединить(ОбластьЦенника); КонецЕсли; нужно внутри цикла Пока Выборка.Следующий() Цикл |
|||
14
ГоловуСломала
16.12.19
✎
07:07
|
hhhh Спасибо Вам огромное!!!!!!
|
|||
15
ГоловуСломала
16.12.19
✎
07:07
|
И совсем не хотела издеваться!!!!!!!
|
|||
16
ГоловуСломала
16.12.19
✎
07:07
|
Все получилось!!!! Спасибо огромное ВСЕМ!!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |