Как во внешней обработке прописать программно цикл для каждой строки с выполнением кода

1. user844451 20.06.21 12:02 Сейчас в теме
Здравствуйте, Уважаемое сообщество!!! Подскажите пожалуйста, кто знает, всю голову сломал над этой задачей. Есть внешняя обработка Печать ценников и этикеток для конфигурации 1С УТ 11.4, добавлено в форму два элемента, поле Скидка и кнопка Рассчитать скидку со своим кодом для этого расчета. Вопрос: Как в команде кнопки дописать код цикла для каждой строки табличной части, чтобы при выделение всех строк, программный код кнопки Рассчитать скидку работал одновременно для всех строк!?

Прилагаю скриншот, программный код кнопки, саму внешнюю обработку!

&НаКлиенте
Процедура РасчитатьСкидку(Команда)
	
	Цена1 = Элементы.Товары.ТекущиеДанные.Цена;
	Цена2 = Элементы.Товары.ТекущиеДанные.ЦенаДополнительно;
	Скидка = Элементы.Товары.ТекущиеДанные.Скидка;
	
	Если Цена2 > 0 Тогда
		Разница = Цена2 / Цена1;
		Разница2 = Разница * 100;
		Скидка = 100 - Разница2;
		Элементы.Товары.ТекущиеДанные.Скидка = Формат(Скидка, "ЧДЦ=2; ЧРД=,");
		ОчиститьСообщения();
		Сообщить("Скидка успешно расчитана по процентной ставке...");
	КонецЕсли;
	
	Возврат;
		
КонецПроцедуры
Показать
Прикрепленные файлы:
ПечатьЭтикетокИЦенников.epf
По теме из базы знаний
Найденные решения
2. Timic 50 20.06.21 13:53 Сейчас в теме
(1) Примерно так:
&НаКлиенте
Процедура РасчитатьСкидку(Команда)
	
	ОчиститьСообщения();
	
	Для Каждого Строка Из Объект.Товары Цикл
		
		Если Строка.ЦенаДополнительно > 0 
			И Строка.Цена <> 0 Тогда
			Строка.Скидка = 100 * (1 - Строка.ЦенаДополнительно / Строка.Цена);
			Сообщить(СтрШаблон("В строке %1 Скидка успешно расчитана по процентной ставке...", Строка.НомерСтроки));
		КонецЕсли;
		
	КонецЦикла;
        
КонецПроцедуры
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Timic 50 20.06.21 13:53 Сейчас в теме
(1) Примерно так:
&НаКлиенте
Процедура РасчитатьСкидку(Команда)
	
	ОчиститьСообщения();
	
	Для Каждого Строка Из Объект.Товары Цикл
		
		Если Строка.ЦенаДополнительно > 0 
			И Строка.Цена <> 0 Тогда
			Строка.Скидка = 100 * (1 - Строка.ЦенаДополнительно / Строка.Цена);
			Сообщить(СтрШаблон("В строке %1 Скидка успешно расчитана по процентной ставке...", Строка.НомерСтроки));
		КонецЕсли;
		
	КонецЦикла;
        
КонецПроцедуры
Показать
3. user844451 20.06.21 15:22 Сейчас в теме
То что нужно!!! Спасибо!!!
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день