Имя: Пароль:
1C
1С v8
NULL в поле типа ДокументСсылка
0 Azgerd
 
01.04.15
14:42
В поле типа ДокументСсылка затесалось значение NULL (отключили свет)
Документ был регистратором для двух записей Регистра Накопления
Для исправления написал код:
    НаборЗаписей = РегистрыНакопления.Продажи.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ДокСсылка);
    НаборЗаписей.Прочитать();
    Для Каждого Запись Из НаборЗаписей Цикл
        Запись.ЗаказПокупателя =    Документы.ЗаказПокупателя.ПустаяСсылка();
        Запись.ДокументПродажи = Документы.ОтчетОРозничныхПродажах.ПустаяСсылка();
    КонецЦикла;
    НаборЗаписей.Записать();
После чего записи в регистре не исправились, а добавились ещё две, появились две правильные записи и две как были
1 D_E_S_131
 
01.04.15
14:46
ТиИ для чего создано?
2 Ненавижу 1С
 
гуру
01.04.15
14:46
и куда интересно оно затесалось?
база файловая что-ли?
3 Azgerd
 
01.04.15
14:53
(2) Затесалось в поле "ДокументПродажи" регистра накопления "Продажи" после некорректного выхода из программы (вырубился свет бесперебойник оказался убитым).
База файловая.
(1) ТиИ чего ?
P.S Тестирование и исправление не помогло, поэтому пытаюсь программно исправить эти битые ссылки со значением NULL
4 Azgerd
 
01.04.15
14:56
Так вот сам вопрос, а то что-то с форумом глюки... Почему записи в регистре не исправились а добавились?
5 Nuobu
 
01.04.15
15:04
(0) Сделай сторно.
6 Azgerd
 
01.04.15
15:15
(5) какое сторно????
7 dmpl
 
01.04.15
15:18
(0) А зачем читать? Просто запиши пустой набор...
8 Azgerd
 
01.04.15
15:34
(7) "Просто запиши пустой набор..." А можно подробнее? Мне же надо как-то изменить или удалить запись регистра со значением NULL.
9 Defender aka LINN
 
01.04.15
15:36
База файловая?
10 Azgerd
 
01.04.15
15:37
(9) Да база файловая
11 mehfk
 
01.04.15
15:37
(0) Выгрузить регистр в xml, грохнуть в конфигураторе, сохраниться, восстановить в конфигураторе, загрузить из xml
12 dmpl
 
01.04.15
15:40
(8) Убери Прочить().
13 Azgerd
 
01.04.15
15:47
(12) Убрал Прочитать() Воз и ныне там
Запись значения NULL в поле, не допускающее NULL
14 Azgerd
 
01.04.15
15:48
(11) Как регистр выгрузить в xml?
15 Defender aka LINN
 
01.04.15
15:52
(14) Обработку написать
16 ssh2006
 
01.04.15
15:56
(13) В ТИИ галки какие включал?
17 Azgerd
 
01.04.15
16:07
тии перепробовал все варианты крыжевания
18 mehfk
 
01.04.15
16:21
(14) УниверсальныйОбменДаннымиXML
19 mehfk
 
01.04.15
16:23
(18) Все время путаю ВыгрузкаЗагрузкаДанныхXML82
20 D_E_S_131
 
01.04.15
16:23
(17) Конкретно восстанавливать "битые" ссылки запускал?
21 Azgerd
 
01.04.15
17:00
(20)  "Конкретно восстанавливать "битые" ссылки запускал?" что имеется ввиду? Это обработка или что? Кстати платформа 8.1
Управление торговлей 10.3.
22 D_E_S_131
 
01.04.15
17:14
23 mehfk
 
01.04.15
17:38
(21) Если это та же самая база что и здесь Битые ссылки в УТ 10.3 то можно сделать вывод что она вам не нужна, можешь ее вообще удалить - ничего не поменяется.
24 Azgerd
 
02.04.15
08:47
(23) База та же, только потом выяснилось, что битые ссылки на номенклатуру не причём, а проблема именно в NULL в поле ДокументСсылка. <a href='Битые ссылки в УТ 10.3;в этой теме</a> говорилось про бэкап и что надо руки оторвать, но
а)База не моя, меня попросили помочь и интересен сам прцесс и причины такого поведения платформы.
б) Если прийдете к врачу с проблемой, например с желудком(не дай Бог), а врач Вам скажет:"Руки вам оторвать, нечего было жрать всякую муйню, помогать не буду, идите подыхать" - какова      будет Ваша реакция?
25 Azgerd
 
02.04.15
08:59
(22) пробовал, прерывается с ошибкой на недопустимость поля со значением NULL. И вообще тестирование и исправление, насколько я понял воюет в основном с "битыми" ссылками, а здесь не "битая" ссылка, а непонятно что, т.е NULL и это почему-то ставит платформу в тупик...
26 D_E_S_131
 
02.04.15
10:02
Аналогия с врачом не до конца развернута. Нет ни бэкапов, ни защиты от отключения электричества — это равносильно самоубийству. Наверняка еще и база файловая была.
Ваш случай — очень хороший повод "начать жизнь с чистого листа" и сделать все по уму.
27 ЧеловекДуши
 
02.04.15
10:08
(0) Используй менеджер записи :)
28 User_Agronom
 
02.04.15
10:08
(0) Сиё не удивительно. Первый записи со значением измерения NULL, а ты создал со значением измерения ДокументСсылка.

Попробуй удалить неверные записи (отбор по ПустаяСсылка), а потом проведи свои документы (они сделают движения)
29 eklmn
 
гуру
02.04.15
10:10
самое грустное, что наш "логик" не пробовал старый совет из (23)
30 dmpl
 
02.04.15
10:21
(28) Пустая ссылка не поможет, надо или NULL или Неопределено попробовать.
31 Serg_1960
 
02.04.15
10:25
(0) Попробуй через СоздатьМенеджерЗаписи() и в регистратор установи именно значение NULL. И удалять - используя ОбменДанными.Загрузка = Истина (это контроль отключает).
32 vyaz
 
02.04.15
10:25
НаборЗаписей.Записать(Истина);
33 Serg_1960
 
02.04.15
10:26
(31) Упс. Не "регистратор", а "ДокументПродажи" :(
34 Serg_1960
 
02.04.15
10:36
(32) ТС, имхо, не нужно исправлять и записывать сбойную запись  (у автора уже есть "правильные" записи) - нужно просто удалить.
35 Azgerd
 
02.04.15
13:09
В итоге скачал Tool_1CD с возможностью редактирования записей, и руками удалил "косячные" записи в регистрах, муторно конечно, но база "починилась"...
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.