Цены в табличной части
Читают тему
Вход в личный кабинет
Для получения доступа к форуму необходимо
авторизоваться
или
зарегистрироваться
на сайте.
{{ formTitle ? formTitle : 'Заказ обратного звонка' }}
{{ formDescription }}
Сообщить об ошибке
Вот собственно в чем проблема:
1. При указании в типе цены "автоматический расчет" в функцию "орПолучитьЦену" добавил свой алгоритм расчета который в итоге присваивает значение переменной "цена" (по аналогии ПроцентыСкидкиНаценки).
При добавлении строки в табличную часть "счет на оплату" нужная цена расчитывается и выставляется, а вот если у всего документа поменять тип цены то обновление строк не происходит...
Подскажите в каком направлении копать...
Должно по идее работать. Вопрос о смене типа цен и необходимости перерасчета задается? В отладчике пройдитесь. Общая форма ЦеныИВалюта, процедура ОсновныеДействияФормыОК. Там есть цикл по перерасчету цен в ТЧ.
Цена = обПолучитьЦену(НовыйТипЦен,ТекСтрока.Номенклатура,?(ВладелецФормы.ЭтотОбъект.ЭтоНовый(),ВладелецФормы.ЭтотОбъект.Дата,ВладелецФормы.ЭтотОбъект.МоментВремени()),,НоваяВалюта,НовыйКурс, ХарактеристикаНоменклатуры, ЕдиницаИзмерения, ВладелецФормы.ЭтотОбъект.ПодразделениеКомпании);
Если Цена=0 Тогда
Если ОбнулятьСуммовыеПоказатели=Неопределено Тогда // Если вопрос еще не задавался, то зададим его.
Ответ = Вопрос("В табличной части присутствуют товары с нулевой ценой для выбранного типа цен <" + НовыйТипЦен + ">.
|Обнулить цены для данных позиций?", РежимДиалогаВопрос.ДаНет);
Если Ответ=КодВозвратаДиалога.Нет Тогда
ОбнулятьСуммовыеПоказатели = Ложь;
Иначе
ОбнулятьСуммовыеПоказатели = Истина;
КонецЕсли;
КонецЕсли;
Если ОбнулятьСуммовыеПоказатели Тогда
ТекСтрока.Цена = 0;
ИначеЕсли ИзменилиВалюту Тогда
// Если обнулять цену не нужно, и при этом изменилась валюта,
//то выполним пересчет значения старой цены.
ТекСтрока.Цена = обПересчет(ТекСтрока.Цена, СтараяВалюта, СтарыйКурс, НоваяВалюта, НовыйКурс);
КонецЕсли;
КонецЕсли;