Цены в табличной части

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Цены в табличной части, не пересчитывает цены в табличной части
 
ААА4.1 (4.1.01.22)

Вот собственно в чем проблема:

1. При указании в типе цены "автоматический расчет" в функцию "орПолучитьЦену" добавил свой алгоритм расчета который в итоге присваивает значение переменной "цена" (по аналогии ПроцентыСкидкиНаценки).

При добавлении строки в табличную часть "счет на оплату" нужная цена расчитывается и выставляется, а вот если у всего документа поменять тип цены то обновление строк не происходит... :(

Подскажите в каком направлении копать...
 
Добрый день.
Должно по идее работать. Вопрос о смене типа цен и необходимости перерасчета задается? В отладчике пройдитесь. Общая форма ЦеныИВалюта, процедура ОсновныеДействияФормыОК. Там есть цикл по перерасчету цен в ТЧ.
 
Да при смене типа цен задает вопрос: "Были изменены данные влияющие на суммовые показатели документа! Выполнить пересчет?" потом происходит отработка функции, но в табличной части данные не обновляются..
 
И вот еще интересный момент если в "орПолучитьЦену" Переменной Цена присвоить 0, тогда роизводятся изменения в табличной части на пустую цену, как и должно быть...
 
В процедуре ОсновныеДействияФормыОК есть проверка переменной "Цена" на значение 0, а если не 0 тогда... ???



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

Если ОбнулятьСуммовыеПоказатели Тогда
ТекСтрока.Цена = 0;
ИначеЕсли ИзменилиВалюту Тогда
// Если обнулять цену не нужно, и при этом изменилась валюта,
//то выполним пересчет значения старой цены.
ТекСтрока.Цена = обПересчет(ТекСтрока.Цена, СтараяВалюта, СтарыйКурс, НоваяВалюта, НовыйКурс);
КонецЕсли;
КонецЕсли;
 
В общем модуле дкДокументы функция дкОбработкаРеквизита. В секции Имя = "ТипЦен" пересчет цен осуществляется. Отладчиком посмотрите что происходит.
 
Отладчиком посмотрел проходит мимо... :(
 
Значит надо копать что еще вокруг поломалось.
 
Спасибо проблема решилась. Тема закрыта.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С