|  | Редактирование записей регистра сведений | ☑ | 
    
        | 0
    
        mishkerdon   21.08.14✎ 11:00 | 
        Есть периодический независимый регистр сведений (периодичность - месяц) с одним измерением и одним ресурсом. 
В событии набора записей "ПередЗаписью" есть проверка текущего значения ресурса через срезпоследних с новым значением ресурса. При несовпадении значений это действие записывается в журналирующий регистр сведений.
 При редактировании уже существующей записи регистра сведений если поставить такое же значение ресурса, то действие все равно записывается.
 Что я делаю не так?
 |  | 
    
        | 1
    
        Maxus43   21.08.14✎ 11:02 | 
        код в студию.
А вообще вангую - срез не на ту дату делаешь, он "не видит" существующую дату
 |  | 
    
        | 2
    
        Ненавижу 1С   гуру 21.08.14✎ 11:04 | 
        посмотри отладчиком     |  | 
    
        | 3
    
        hhhh   21.08.14✎ 11:04 | 
        (0) редактирования записей в 1с не бывает. Физически происходит удаление записи и вместо нее добавляется новая, такая же.     |  | 
    
        | 4
    
        an-korot   21.08.14✎ 11:05 | 
        (3) +100500     |  | 
    
        | 5
    
        mishkerdon   21.08.14✎ 11:06 | 
        (3) в ПередЗаписью же 1С не еще не удаляет старую запись?? Почему 1С тогда не видит старые данные в срезе последних?     |  | 
    
        | 6
    
        Maxus43   21.08.14✎ 11:06 | 
        (3) это смотря на какое событие он повесил свой костыл с проверкой...     |  | 
    
        | 7
    
        mishkerdon   21.08.14✎ 11:09 | 
        (1) примерно такой код (сократил):
Для Каждого НоваяЗапись Из ЭтотОбъект Цикл
 Отбор=Новый Структура;
 Отбор.Вставить("Помещение",НоваяЗапись.Помещение);
 СП=РегистрыСведений.ПлощадиПомещения.СрезПоследних(КонецМесяца(НоваяЗапись.Период),Отбор);
 Если СП.Количество()=0 Тогда
 //действие по журналированию записи
 ИначеЕсли СП.Количество()=1 Тогда
 Если СП.Получить(0).Площадь<>НоваяЗапись.Площадь Тогда
 //действие по журналированию записи
 КонецЕсли;
 КонецЕсли;
 КонецЦикла;
 |  | 
    
        | 8
    
        Maxus43   21.08.14✎ 11:10 | 
        (7) перед записью регистра это? отладчиком смотри, там набор пустой скорей всего     |  | 
    
        | 9
    
        mishkerdon   21.08.14✎ 11:11 | 
        (8) да совершенно верно в событии "ПередЗаписью", как я и писал в первом сообщении. Вот сижу пробую отладчиком. Просто думал может кто быстрее скажет :)     |  | 
    
        | 10
    
        hhhh   21.08.14✎ 11:14 | 
        (9) ПередЗаписью два раза там вызывается.     |  | 
    
        | 11
    
        mishkerdon   21.08.14✎ 11:17 | 
        (10) в смысле??     |  | 
    
        | 12
    
        mishkerdon   21.08.14✎ 11:56 | 
        (10) в общем кажется понял что Вы имели ввиду. Оказывается регистр сведений при редактировании из формы два раза прогоняет запись: первое - удаление старой записи, второе - добавления новой записи, и именно в таком порядке.
Как можно в моем случае сравнить старое и новое значение??
 |  | 
        Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший