Установить номенклатуру по кнопке

1. Leader01 11.05.20 12:46 Сейчас в теме
Добрый день. В документе РеализацияТоваровИУслуг нужно установить кнопку, при нажатии которой заполнится цена номенклатуры.
Ниже есть пример, который работает. Но нужно другим способом сделать. Подскажите пожалуйста

&НаКлиенте
Процедура Команда1(Команда)
	     Для Каждого Строка ИЗ Объект.Товар Цикл
		Строка.Цена= Команда1НаСервере(Строка.Номенклатура);
	КонецЦикла;		
		
КонецПроцедуры

&НаСервере
Функция Команда1НаСервере(Номенклатура)
		
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЦеныНоменклатурыСрезПоследних.Цена,
		|	ЦеныНоменклатурыСрезПоследних.Номенклатура
		|ИЗ
		|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних
		|ГДЕ
		|	ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";
	
	Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Если ВыборкаДетальныеЗаписи.Следующий() Тогда
		Возврат ВыборкаДетальныеЗаписи.Цена;
	Иначе 
		Возврат 0;
	КонецЕсли;
		 	  
КонецФункции
Показать
По теме из базы знаний
Найденные решения
4. SeiOkami 3482 11.05.20 14:36 Сейчас в теме
(3) приложил обработку. Это так, на вскидку. На ERP работает
Только вам нужно понимать, что цены номенклатуры могут быть разных видов.
Прикрепленные файлы:
ЦеныНоменклатуры_topic240800.epf
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SeiOkami 3482 11.05.20 13:23 Сейчас в теме
(1),
Но нужно другим способом сделать.

А конкретнее?)

По текущему коду.

1. Сделай метод не &НаСервере, а &НаСервереБезКонтекста
2. Передавай не одну номенклатуру, а массив со всеми уникальными номенклатурами ТЧ
3. Возвращай из метода соответствие, где Ключ - Номенклатура, а Значение - Цена. Поиск по соответствию работает быстрее всего.
4. Назови нормально метод, а не это вот всё )
3. Leader01 11.05.20 13:56 Сейчас в теме
(2) По текущему коду, для каждой строки делается запрос. А нужно получить цену один раз в запросе и после в цикле поставить цены.
1. Сделал
2. Как правильно передать, подскажите
3. Возврат ВыборкаДетальныеЗаписи.Номенклатура=ВыборкаДетальныеЗаписи.Цена; Правильно?
4. SeiOkami 3482 11.05.20 14:36 Сейчас в теме
(3) приложил обработку. Это так, на вскидку. На ERP работает
Только вам нужно понимать, что цены номенклатуры могут быть разных видов.
Прикрепленные файлы:
ЦеныНоменклатуры_topic240800.epf
5. Leader01 11.05.20 15:25 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот