Сначала списки, потом произведения
Клиент сначала попросил, чтобы в колонку «Фасовка» добавлялись списки чисел, которые нужно суммировать и подставлять в колонку «Количество»:
Я сделал, но потом вдруг еще пожелали чтобы можно было произведения добавлять. Ну что же, сделал и это:
Вот код расширения формы заказа покупателя:
&НаКлиенте Процедура мл_ФасовкаПриИзменении(Элемент) //Пересчитываем количество Если Элементы.Запасы.ТекущиеДанные = Неопределено Тогда Возврат; КонецЕсли; ТекущиеДанные = Элементы.Запасы.ТекущиеДанные; //Суммируем количества в фасовке Фасовка = ТекущиеДанные.мл_Фасовка; М = СтрРазделить(Фасовка, ","); НовоеКоличество = 0; Для Каждого Эл Из М Цикл М2 = СтрРазделить(Эл, "*"); Если М2.Количество() > 1 Тогда Ч = мл_КлиентСервер.ЧислоИзСтроки(М2[0]) * мл_КлиентСервер.ЧислоИзСтроки(М2[1]); Иначе Ч = мл_КлиентСервер.ЧислоИзСтроки(Эл); КонецЕсли; НовоеКоличество = НовоеКоличество + Ч; КонецЦикла; ТекущиеДанные.Количество = НовоеКоличество; //Обрабатываем изменение количества типовой процедурой обработки изменения количества ЗапасыКоличествоПриИзменении(Неопределено); КонецПроцедуры
Среда: УНФ 3.0.1.248. Объем 1 час.
А если три множителя? Сразу универсально нельзя было?
три не используется у них. Зачем автоматизировать ненужное?
Универсально можно, но дороже.