Имя: Пароль:
1C
1С v8
Вывод цены в ПодбореНоменклатуры
,
0 lam_anna
 
12.11.20
18:32
Необходимо чтобы в Обработке ПодборНоменклатуры выводились цены независимо от Типа Цены в документы. Сделала кнопку Заполнить Цены. Но почему то цену заполняет только для 1 строки номенклатуры в списке подбора

Код вот такой. Не могу сообразить как и где сделать Цикл, чтобы заполнялось для всех строк.

&НаКлиенте
Процедура ЗаполнитьЦены(Команда)
    ТД = Элементы.СписокНоменклатуры.ТекущиеДанные;
    ТД.Цена = ЗаполнитьЦеныНаСервере(ТД.Номенклатура);
    
КонецПроцедуры

&НаСервере
Функция ЗаполнитьЦеныНаСервере(Товар)  Экспорт
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |     ЦеныСрезПоследних.Номенклатура,
    |ВЫБОР
    |    КОГДА ЦеныСрезПоследних.Цена ЕСТЬ NULL
    |        ТОГДА 0
    |   ИНАЧЕ ЦеныСрезПоследних.Цена
    |КОНЕЦ Как Цена
    |ИЗ
    |   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, Номенклатура = &Номенклатура)
    |КАК ЦеныСрезПоследних" ;
    
    
    НаДату = КонецДня(ЭтаФорма.ДатаРасчетов);
    Запрос.УстановитьПараметр("Дата", Новый Граница(НаДату, ВидГраницы.Включая));
    Запрос.УстановитьПараметр("Номенклатура", Товар);

    Цена = 0;
    
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
        
    //это работает только для 1 строки
    Если Выборка.Следующий() Тогда
Возврат Выборка.Цена;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
1 VladZ
 
12.11.20
18:38
Читай букварь.
2 lam_anna
 
12.11.20
19:07
(1) учусь я еще) вот и прошу помочь знающим
3 hhhh
 
12.11.20
19:28
(2) это всё, что написали, выбросьте, это не пригодится. в правом верхнем углу формы реквизиты. Там найдите списокНоменклатуры. Щелкните по нему мышкой 2 раза, справа появится Свойства. Там должна стоять у вас галка Произвольный запрос, и ниже там должно быть редактирование запроса. Поменяйте его. как вам надо, чтобы и номенклатура была и цены.
4 hhhh
 
12.11.20
19:34
(2) и тут традиция вообще-то на форуме, у женщин обязательно должна быть фотография, можно и не в минибикини, но хотя бы топлес. Тогда охотнее помогать будут.
5 lam_anna
 
12.11.20
19:36
(3) Это стандартная обработка 1С. ПодборНоменклатуры https://prnt.sc/vi48t1 в ней нет СпискаНоменклатуры который можно поправить)

В самой ФормеСписка я все что могла уже добавила)

А вот насчет фото, я на форуме новичОк. Не знала о таком правиле)
6 hhhh
 
12.11.20
19:56
как же? Вы же пишете

Элементы.СписокНоменклатуры.ТекущиеДанные

значит, СписокНоменклатуры у вас там на форме есть.
7 lam_anna
 
12.11.20
20:09
Не к тому элементу обращение.
Из табличных форм только ПодобраннаяНоменклатура https://prnt.sc/vi4ven
8 NeiTRoN4ik
 
12.11.20
20:55
(0) Вообще уважаемый в (3) вам правильно написал. Но для понимания, что вы делаете не так именно в своем коде: вы вызываете функцию один раз, возвращаете значение и на этом все заканчивается. Правда меня  сейчас шапками закидают за то, что подсказываю, как сделать запрос в цикле)))
9 hhhh
 
13.11.20
00:23
(7) это слева вы смотрите. сюда не нужно смотреть. я же вам в (3) написал "справа"
10 lam_anna
 
13.11.20
06:47
(8) а что тут плохого, подсказывать? Но спасибо, навели на нужную мысль..
(9) Нету у меня справа списка. нету https://prnt.sc/vid6ig
11 NeiTRoN4ik
 
13.11.20
08:35
(10) В подсказывании нет ничего плохо. Плохое в том, что я подсказываю вам в решении того, как делать не надо. Вы идете по пути того, что у вас будет цикл, внутри которого запрос, а так делать не хорошо. Нужно переписать обработку так, чтобы цены подтягивались у вас в том же запросе, в котором формируется сам список номенклатуры
12 Chameleon1980
 
13.11.20
16:23
приполучении данных на сервере
13 nikneim
 
16.12.20
08:57
Комплексная автоматизация  2 (2.4.12.102)
Добрый день! Задача в следующем, в Расширении конфигурации
в документе «Заказ Клиента» в Форме добавил ТЧ СПРОС(Дефицит), а в Обработчике Подбор товаров в документ продажи в форме Запроса Количества и Серий добавил Поле ввода "Количество Всего"как связать их без Корзины чтоб при вводе "Количество всего" сразу перекидывалось в ТЧ Спроса , какие процедуры и функции нужно дописать или подменить.
То есть при подборе и  вводе количества он закидывает в корзину а затем через "Перенести в документ" переносится в ТЧ Товары. Надо чтобы также при вводе КОЛИЧЕСТВО ВСЕГО перекидывалось в ТЧ СПРОС(Дефицит)..