Как во внешней обработке прописать программно цикл для каждой строки с выполнением кода
Здравствуйте, Уважаемое сообщество!!! Подскажите пожалуйста, кто знает, всю голову сломал над этой задачей. Есть внешняя обработка Печать ценников и этикеток для конфигурации 1С УТ 11.4, добавлено в форму два элемента, поле Скидка и кнопка Рассчитать скидку со своим кодом для этого расчета. Вопрос: Как в команде кнопки дописать код цикла для каждой строки табличной части, чтобы при выделение всех строк, программный код кнопки Рассчитать скидку работал одновременно для всех строк!?
Прилагаю скриншот, программный код кнопки, саму внешнюю обработку!
Прилагаю скриншот, программный код кнопки, саму внешнюю обработку!
&НаКлиенте
Процедура РасчитатьСкидку(Команда)
Цена1 = Элементы.Товары.ТекущиеДанные.Цена;
Цена2 = Элементы.Товары.ТекущиеДанные.ЦенаДополнительно;
Скидка = Элементы.Товары.ТекущиеДанные.Скидка;
Если Цена2 > 0 Тогда
Разница = Цена2 / Цена1;
Разница2 = Разница * 100;
Скидка = 100 - Разница2;
Элементы.Товары.ТекущиеДанные.Скидка = Формат(Скидка, "ЧДЦ=2; ЧРД=,");
ОчиститьСообщения();
Сообщить("Скидка успешно расчитана по процентной ставке...");
КонецЕсли;
Возврат;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Разработка и сценарное тестирование с Vanessa-ADD. Установка инструментов. Запись действий пользователя и выполнение сценариев
- Заполнение дополнительных реквизитов в модуле на сервере, в правилах КД 2.0, в модуле внешней обработки
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
- Оператор GOTO в 1С - табу или волшебная палочка?
Найденные решения
(1) Примерно так:
&НаКлиенте
Процедура РасчитатьСкидку(Команда)
ОчиститьСообщения();
Для Каждого Строка Из Объект.Товары Цикл
Если Строка.ЦенаДополнительно > 0
И Строка.Цена <> 0 Тогда
Строка.Скидка = 100 * (1 - Строка.ЦенаДополнительно / Строка.Цена);
Сообщить(СтрШаблон("В строке %1 Скидка успешно расчитана по процентной ставке...", Строка.НомерСтроки));
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1) Примерно так:
&НаКлиенте
Процедура РасчитатьСкидку(Команда)
ОчиститьСообщения();
Для Каждого Строка Из Объект.Товары Цикл
Если Строка.ЦенаДополнительно > 0
И Строка.Цена <> 0 Тогда
Строка.Скидка = 100 * (1 - Строка.ЦенаДополнительно / Строка.Цена);
Сообщить(СтрШаблон("В строке %1 Скидка успешно расчитана по процентной ставке...", Строка.НомерСтроки));
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)