|   |   | 
| 
 | Подписка на событие перед записью регистра накопления | ☑ | ||
|---|---|---|---|---|
| 0
    
        Быдло замкадное 14.06.19✎ 09:49 | 
        Привет, хочу отредактировать движения.
 Если пишу Для Каждого Стр Из Источник Цикл Стр.Количество = 333; КонецЦикла; Ничего не меняется. Если пишу Источник.Прочитать(); Для Каждого Стр Из Источник Цикл Стр.Количество = 333; КонецЦикла; Движения каждый раз при проведении или отмене проведения дублируются! Вместо 4 движений будет 8, 16, 32 и т.д. Как сделать то?! | |||
| 1
    
        vicof 14.06.19✎ 09:50 | 
        Почему перед записью?     | |||
| 2
    
        Быдло замкадное 14.06.19✎ 09:50 | 
        (1) при записи они вроде как уже записаны     | |||
| 3
    
        ptiz 14.06.19✎ 10:13 | 
        (0) "Если пишу
 Для Каждого Стр Из Источник Цикл Стр.Количество = 333; КонецЦикла; Ничего не меняется. " Всё меняется. | |||
| 4
    
        Быдло замкадное 14.06.19✎ 10:16 | 
        (3) у меня не меняется..     | |||
| 5
    
        hhhh 14.06.19✎ 10:19 | 
        (4) ну может не там смотришь. На первом или втором проходе?     | |||
| 6
    
        Вафель 14.06.19✎ 10:19 | 
        (4) значит кто-то еще меняет     | |||
| 7
    
        Вафель 14.06.19✎ 10:20 | 
        сделай замер от места после твоего кода до конца     | |||
| 8
    
        Cyberhawk 14.06.19✎ 10:21 | 
        (5) На первом проходе оно в цикл вроде вообще не должно заходить, ведь там количество записей ноль     | |||
| 9
    
        Быдло замкадное 14.06.19✎ 11:14 | 
        (7) отладка выключена.
 Я даже в модуле объекта поменять не могу.. В выходные включу отладку, тогда разберусь. | |||
| 10
    
        Быдло замкадное 17.06.19✎ 10:35 | 
        нужно было добавить Источник.Записывать = Истина;
 Процедура ПередЗаписьюРНУчетЗатратПередЗаписью(Источник, Отказ, Замещение) Экспорт Если Источник.Количество() > 0 Тогда РегистраторСсылка = Источник.Отбор.Регистратор.Значение; Источник.Записывать = Истина; Если ТипЗнч(РегистраторСсылка) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда Если ЗначениеЗаполнено(РегистраторСсылка.ДатаЗатрат) Тогда Для Каждого Стр Из Источник Цикл Стр.Период = РегистраторСсылка.ДатаЗатрат; КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры | |||
| 11
    
        Cyberhawk 17.06.19✎ 11:14 | 
        (10) Ну тогда уж флаг взводи только если запись действительно нужна     | |||
| 12
    
        Быдло замкадное 17.06.19✎ 11:56 | 
        (11) эм ну да, немного не туда сунул строчку)     | |||
| 13
    
        Cyberhawk 17.06.19✎ 12:00 | 
        Ну и вообще писать набор дважды (сначала штатно-типово до нашей инъекции, потом после) и в плане производительности, и в плане надежности решение не самое лучшее. В плане доработки / последующего обновления конечно же удобнее, и даже если не брать в расчет производительность, то всегда может оказаться чей-нибудь *овнокод при записи набора, который не будет рассчитывать, что в текущей транзакции этот набор уже записан.     | |||
| 14
    
        Быдло замкадное 17.06.19✎ 12:02 | 
        (13) в типовой обработке проведения кстати этот набор пустой! Учет затрат видимо в подписке пишется, можно и ее найти конечно     | |||
| 15
    
        Cyberhawk 17.06.19✎ 12:04 | 
        (14) Бывает еще что движения регистратора попадают в регистр не путем наполнения коллекции движений этого регистратора, а путем создания и записи независимого НЗ, "подложенного" под этот регистратор.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |