|
Редактирование записей регистра сведений |
☑ |
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) в общем кажется понял что Вы имели ввиду. Оказывается регистр сведений при редактировании из формы два раза прогоняет запись: первое - удаление старой записи, второе - добавления новой записи, и именно в таком порядке.
Как можно в моем случае сравнить старое и новое значение??
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший