Имя: Пароль:
1C
1С v8
Программное изменение регистра накопления "Продажи"
0 ТАК12
 
14.09.15
14:39
Сделала Подписку на событие (ОбработкаПроведения), которая должна менять данные регистра "ПартииПереданныхТоваров". Все работает. Делаю аналогичную для изменения регистра "Продажи" - не меняет Количество, все остается, как было. Подскажите, пожалуйста, кто знает, что не так.

    НачатьТранзакцию();
    Отказ = Ложь;
            
    НаборЗаписей = РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка);
    НаборЗаписей.Прочитать();
    НаборЗаписей.БлокироватьДляИзменения = Истина;
            
    Для каждого Запись Из НаборЗаписей Цикл
        Запись.Количество = 100500;
    КонецЦикла;
        
    Попытка
        НаборЗаписей.Записать();
    Исключение
        Отказ = Истина;
    КонецПопытки;
        
    Если Отказ Тогда
        ОтменитьТранзакцию();
    Иначе
        ЗафиксироватьТранзакцию();
    КонецЕсли;
1 torgm
 
14.09.15
14:52
В зупе нет данных регистров, а по факту движения еще не записаны, по другому к регистру обращаться наддо
2 Михаил Козлов
 
14.09.15
14:55
Набор записей для ПартииПереданныхТоваров формируется и записывается в общем модуле УправленияЗапасамиПартионныйУчет.
В наборы записей РН Продажи формируются в модулях документов, поэтому, скорее всего, НаборЗаписей.Прочитать() дает пустой набор.
Попробуйте набор записей взять из коллекции движений документа.
3 Михаил Козлов
 
14.09.15
14:56
(2)+ И транзакцию уберите.
4 aleks_default
 
14.09.15
14:57
(0)Такое вообще-то нужно делать в модуле набора записей регистра.
5 Михаил Козлов
 
14.09.15
14:58
Поддержу (4)
6 aleks_default
 
14.09.15
15:03
+(4)Или в подписке на событие ПередЗаписью(если типовая и менять нельзя) набора записей регистра.
7 ТАК12
 
14.09.15
15:15
Как раз типовая УПП, менять нельзя. С РН Затраты такой текст подписки срабатывает, РН ПартииТоваровПереданные тоже. А с Продажами - никак. Чем Продажи отличаются от других регистров накопления?
Кстати, поменяла событие на ПередЗаписью - не помогло.
8 aleks_default
 
14.09.15
15:17
Для каждого Запись из ЭтотОбъект цикл
Запись.количество=10500;
КонецЦикла

И никаких транзакций и записе не надо
9 aleks_default
 
14.09.15
15:17
*записей
10 aleks_default
 
14.09.15
15:19
Или там не ЭтотОбъект а Источник?
11 ТАК12
 
14.09.15
15:20
Источник
12 ТАК12
 
14.09.15
15:22
Источник - это документ Отчет комиссионера о продажах. А данные надо поменять только в РН Продажи.
13 aleks_default
 
14.09.15
15:23
Если подписка на событие как в (6), то источник - набор записей регистра.
14 aleks_default
 
14.09.15
15:29
Кстати, предвосхищая следующий вопрос: как определить документ-регистратор - Источник.Отбор.регистратор.Значение
15 Михаил Козлов
 
14.09.15
15:33
(7) см.(2).
В отладчике посмотрите коллекцию движений источника по РН "Продажи".