Имя: Пароль:
1C
1С v8
Корректировка набора записей регистра накопления
0 tararam
 
26.06.16
13:09
Всем доброго времени суток. Делаю обработку под деноминацию. надо скорректировать ВСЕ движения регистров накопления.
Примерно такой код.

                            Регистратор = Выборка.Регистратор;
                            
                            Состояние("Обработка регистра накопления: " + Регистр.Имя + ". Регистратор " + СокрЛП(Регистратор));
                            НаборЗаписей = РегистрыНакопления[Регистр.Имя].СоздатьНаборЗаписей();
                            НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
                            НаборЗаписей.Прочитать();
                            Для каждого Движ Из НаборЗаписей Цикл
                                Если Не Движ.Активность Тогда
                                    Продолжить;
                                КонецЕсли;
                                КолРесурсов = Регистр.Ресурсы.Количество();
                                Если КолРесурсов > 0 Тогда
                                    Для Каждого Ресурс Из Регистр.Ресурсы Цикл
                                        ИмяРесурса = Регистр.Имя + "." + Ресурс.Имя;
                                        ТекСтрока = ТРегистрыНакопления.Найти(ИмяРесурса, "ПредставлениеРесурса");
                                        Если ТекСтрока = Неопределено Тогда
                                            Продолжить;
                                        КонецЕсли;
                                        Если Не ТекСтрока.Обрабатывать Тогда
                                            Продолжить;
                                        КонецЕсли;
                                        СтароеЗначение = Движ[Ресурс.Имя];
                                        Движ[Ресурс.Имя] = СтароеЗначение / КоэфДеноминации;
                                    КонецЦикла;
                                КонецЕсли;
                            КонецЦикла;
                            НаборЗаписей.Записать(Истина);
                        КонецЦикла;

после выполнения обработки захожу в какой-нидь документ и обнаруживаю, что ресурсы заменились на 0.
в каком месте я лох? спасибо.
1 itlikbez
 
26.06.16
13:11
(0) А почему бы им и не быть 0?
2 tararam
 
26.06.16
13:12
(1) ?
3 Ник080808
 
26.06.16
13:13
(2) у Вас случайно коэфициент ошибочный?
4 itlikbez
 
26.06.16
13:14
(2) Например
10/11 легко может быть равно 0
5 Ник080808
 
26.06.16
13:14
(2) вообще посмотрите в отладчике что  Движ[Ресурс.Имя] = СтароеЗначение / КоэфДеноминации; присваивает
6 youalex
 
26.06.16
13:16
(0) а количество вы тоже деноминируете, или там определенно только суммы?
7 tararam
 
26.06.16
13:16
(5) так вот отладчиком уже и замучался гонять. не отвлекал бы народ от воскресного дня, если бы сначала не изнасиловал отладчик, а потом гугл. )))
8 tararam
 
26.06.16
13:17
(6). у меня на форме ТабПоле с настройками ресурсов, подлежащих корректировке

ТекСтрока = ТРегистрыНакопления.Найти(ИмяРесурса, "ПредставлениеРесурса");
                                        Если ТекСтрока = Неопределено Тогда
                                            Продолжить;
                                        КонецЕсли;
                                        Если Не ТекСтрока.Обрабатывать Тогда
                                            Продолжить;
                                        КонецЕсли;
9 tararam
 
26.06.16
13:20
(5) в отладчике в структуре Движ ресурсы заменяются как положено, и на запись набора не ругается. но открываю документ, допустим, записикнигипокупок, перехожу на движения регистра, допустим, НДС покупки, и вижу суммы НДС и Без НДС - ноли.
10 tararam
 
26.06.16
13:26
Всем спасибо. я - тормоз. у нас, знаете ли, жара. в тени может под 35... мозг поплыл. всем спасибо, прошу извинить за беспокойство.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан