|   |   | 
| 
 | Очищены все записи регистра сведений, внезапно. Ищу причину | ☑ | ||
|---|---|---|---|---|
| 0
    
        oslokot 05.02.20✎ 13:48 | 
        Всем привет!
 КА2.4, платформа 8.3.15 Есть самописный регистр сведений непериодический, зависимый и без измерений. Регистратор РТиУ Регистр имеет форму списка, на которой оператор производит различные действия - просмотр, отборы и прочее В одно прекрасное утро из него исчезают все записи. Записи в регистр добавляются в ПриЗаписи из формы РТиУ через обычный набор записей с отбором. В самописке куча мест, где вызывается обновление записей этого регистра. Если бы неправильно сработал отбор я бы понял, но без отбора зависимый регистр не дает записать. Меня интересует только одно - как такое могло произойти? | |||
| 1
    
        ДенисЧ 05.02.20✎ 13:52 | 
        В журнал регистрации смотрел?     | |||
| 2
    
        oslokot 05.02.20✎ 13:56 | 
        (1) смотрел, в промежуток времени данного инцидента никаких следов нет
 Грубо говоря вчера 23:30 все записи были (и бэкап это подтвердил), а в 8 утра пришел оператор и позвонил "все пропало" | |||
| 3
    
        RomanYS 05.02.20✎ 13:57 | 
        (0) Он точно зависимый и документ это не измерение? Тогда возможно при проведении очищается, если удаление записей стоит автоматическое     | |||
| 4
    
        oslokot 05.02.20✎ 13:59 | 
        (3) сейчас посмотрю     | |||
| 5
    
        Deon 05.02.20✎ 14:00 | 
        Сравнение объединение поменяло ID-шник регистра, удалив старый и добавив новый. И он стал новым и пустым     | |||
| 6
    
        Волшебник модератор 05.02.20✎ 14:00 | 
        зачем нужен зависимый регистр без измерений? Что это за регистр?     | |||
| 7
    
        ДенисЧ 05.02.20✎ 14:04 | 
        (6) Измерение есть - регистратор. Этого достаточно     | |||
| 8
    
        oslokot 05.02.20✎ 14:07 | 
        (3) Регистр зависимый и измерений нет. Регистратор только один - РТиУ
 В РТиУ режим удаления стоит "Не удалять автоматически" При проведении, отмене проведения записи этого регистра не затираются, только что проверил. | |||
| 9
    
        oslokot 05.02.20✎ 14:07 | 
        (6) да это какой-то логистический велосипед     | |||
| 10
    
        oslokot 05.02.20✎ 14:10 | 
        (5) в этот период конфа не менялась     | |||
| 11
    
        Deon 05.02.20✎ 14:12 | 
        (10) Напрямую очистили таблицу в БД     | |||
| 12
    
        oslokot 05.02.20✎ 14:19 | 
        (11) да ну, не) да и базка файловая     | |||
| 13
    
        АнализДанных 05.02.20✎ 14:53 | 
        (12) ctrl-A + Del     | |||
| 14
    
        oslokot 05.02.20✎ 15:01 | 
        (13) То есть возможная проблема в некорректном закрытии файловой БД? 
 Но что странно, ночью в базе никто не работал, а в бэкапе сделанном в 23:30 все записи на месте, а утром их уже нет Бэкап делается простым копированием 1CD с помощью cobian backup | |||
| 15
    
        wayss 05.02.20✎ 15:03 | 
        так не бывает. 
 ТИИ сделайте. | |||
| 16
    
        dka80 05.02.20✎ 16:00 | 
        Набор = РегистрыСведений.ТвойРегистр.СоздатьНаборЗаписей();
 Набор.Записать(); | |||
| 17
    
        dka80 05.02.20✎ 16:02 | 
        И посмотри кто заходил в базу между 23:30 и утром     | |||
| 18
    
        unbred 05.02.20✎ 16:05 | 
        так и сделано, скорее всего. я бы прям через контрол эф поискал в самописке.     | |||
| 19
    
        1Сергей 05.02.20✎ 16:10 | 
        Не в расширении ли?     | |||
| 20
    
        palsergeich 05.02.20✎ 16:11 | 
        (16) в прдчиненном регистратору не прокатит.
 Там надо будет циклом по каждому пройтись | |||
| 21
    
        oslokot 05.02.20✎ 16:13 | 
        (16) Такие места есть,но там везде устанавливается отбор. И даже если предположить что отбор вдруг не сработал, то такая запись не прокатит, ибо (20) 
 Я даже проверил на всякий случай, без отбора не дает записать. | |||
| 22
    
        oslokot 05.02.20✎ 16:14 | 
        (19) Расширений нет, уже смотрел     | |||
| 23
    
        1Сергей 05.02.20✎ 16:16 | 
        (22) Конфа не менялась в искомый период?     | |||
| 24
    
        Deon 05.02.20✎ 16:20 | 
        (22) А ТИИ чего-нибудь говорит? А то может там и правда всё порушилось внутре     | |||
| 25
    
        oslokot 05.02.20✎ 16:20 | 
        (23) нет     | |||
| 26
    
        oslokot 05.02.20✎ 16:21 | 
        (15) (24) ТиИ сделал, результатов не дало     | |||
| 27
    
        dka80 05.02.20✎ 16:21 | 
        (21)  Такие места есть,но там везде устанавливается отбор
 Так и что? Набор = РегистрыСведений.ТвойРегистр.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(ТвойРегистратор); Набор.Записать(); | |||
| 28
    
        Deon 05.02.20✎ 16:22 | 
        (27) Так это надо ещё в цикл завернуть по всем регистраторам     | |||
| 29
    
        oslokot 05.02.20✎ 16:26 | 
        (27) без отбора хрен оно запишется, у РС регистратор есть     | |||
| 30
    
        1Сергей 05.02.20✎ 16:30 | 
        (24) есть подозрение, что ТИИ и похерело всё     | |||
| 31
    
        hhhh 05.02.20✎ 16:31 | 
        (29) ну, покажите эту процедуру ПриЗаписи. где записываете регистр     | |||
| 32
    
        vicof 05.02.20✎ 16:31 | 
        Да мож кто-нить консоль кода запустил да поудалял все     | |||
| 33
    
        oslokot 05.02.20✎ 16:32 | 
        (30) так я ТиИ запустил только что на копии     | |||
| 34
    
        oslokot 05.02.20✎ 16:32 | 
        (32) терроризм?     | |||
| 35
    
        oslokot 05.02.20✎ 16:33 | 
        (31) ну выглядит примерно так (27)     | |||
| 36
    
        Ёпрст гуру 05.02.20✎ 16:34 | 
        ну открой cd-ник через tool1cd да посмотри глазками, есть ли там чего в табличке рег сведений     | |||
| 37
    
        oslokot 05.02.20✎ 16:36 | 
        (36) а где ее взять     | |||
| 38
    
        hhhh 05.02.20✎ 16:36 | 
        (35) так как в (27) работать не будет. Там только очистка регистра     | |||
| 39
    
        Deon 05.02.20✎ 16:38 | 
        А в ЖР очистка по каждому регистратору пишется?     | |||
| 40
    
        oslokot 05.02.20✎ 16:38 | 
        (38) пардонте, там еще и НаборЗаписей.Добавить() конечно есть     | |||
| 41
    
        hhhh 05.02.20✎ 16:39 | 
        (40) а поле Регистратор присваивается?     | |||
| 42
    
        dka80 05.02.20✎ 16:39 | 
        (40) а НаборЗаписей.Прочитать() там есть?     | |||
| 43
    
        kzot 05.02.20✎ 16:42 | 
        в расписании фоновые задачи, итоги.     | |||
| 44
    
        Ёпрст гуру 05.02.20✎ 16:44 | ||||
| 45
    
        Serg_1960 05.02.20✎ 16:46 | 
        Теоретически рассуждая, если это сбой в базе (а в файловой базе вероятность выше), то могли "побиться" служебные данные. Например, индексы. Не исключено также, что сами данные регистра в базе присутствуют, но они недоступны.     | |||
| 46
    
        Ёпрст гуру 05.02.20✎ 16:51 | 
        ну или на нимфостарте ищи, там Агеев выкладывал в коментах     | |||
| 47
    
        oslokot 05.02.20✎ 17:05 | 
        (41) (42) Код обновления записей регистра вот такой:
 
И таких кусков встречается несколько. В принципе ничего военного, вроде норм Если бы не сработал отбор то ругнулось бы и все. И да, есть кусок кода удаляющий запись, вызываемый по спец.кнопке Но не в цикле! Нужно былоб специально встать на каждую запись и жмакнуть 
 | |||
| 48
    
        oslokot 05.02.20✎ 17:06 | 
        (44) Спасибо!     | |||
| 49
    
        oslokot 05.02.20✎ 17:07 | 
        (42) да, во всех участках кода есть НаборЗаписей.Прочитать() прежде чем НаборЗаписей.Записать()     | |||
| 50
    
        oslokot 06.02.20✎ 15:49 | 
        Нашел причину. Все как всегда блин :)
 При отмене проведения РТиУ из формы списка удаляются все записи движений, в т.ч. и этот самописный регистр Извиняюсь за беспокойство, тему можно закрыть | |||
| 51
    
        dka80 07.02.20✎ 14:04 | 
        (50) нет уж. Давай расскажи как они удаляются. Автоматически, вручную? У всех РТиУ отменили проведение?     | |||
| 52
    
        Ёпрст гуру 07.02.20✎ 14:23 | 
        скорее всего, рег сведений не подчинен регисрацию и тупо пустой набор записали     | |||
| 53
    
        Ёпрст гуру 07.02.20✎ 14:23 | 
        *регистратору     | |||
| 54
    
        oslokot 12.02.20✎ 13:14 | 
        (51) Рассказываю. 
 Утром у всех РТиУ за весь период отменили проведение и заново провели. В РТиУ режим удаления стоит "Не удалять автоматически" При отмене проведения срабатывает соответствующая процедура модуля РТиУ, в которой очищаются все движения регистратора, в т.ч. и этот самописный РС (53) РС подчинен регистратору | |||
| 55
    
        dka80 12.02.20✎ 14:25 | 
        (54) ну круто, че     | |||
| 56
    
        FIXXXL 12.02.20✎ 14:29 | 
        (54) а формирование записей в форме документа что ли прописано?     | |||
| 57
    
        Serg_1960 12.02.20✎ 14:46 | 
        (56) Угу. Автор в самом начале сказал - "Записи в регистр добавляются в ПриЗаписи из формы РТиУ". Далее тему можно уже не обсуждать - достаточно воспользоваться типовой обработкой перепроведения документов и будут "очищены все записи регистра сведений, внезапно."(с)     | |||
| 58
    
        FIXXXL 12.02.20✎ 14:47 | 
        (57) смелое решение! :)     | |||
| 59
    
        RomanYS 12.02.20✎ 14:51 | 
        (57) Самое интересное, он всё проверил в (8)     | |||
| 60
    
        Serg_1960 12.02.20✎ 15:01 | 
        PS: не судите строго автора - он же уже извинился за неверную информацию в (50).     | |||
| 61
    
        Cyberhawk 12.02.20✎ 15:05 | 
        (60) Добавь в заголовок ветки инфу о том, что ответ найден, и номер сообщения в ветке     | |||
| 62
    
        Ботаник Гарден Меран 12.02.20✎ 15:09 | 
        (59)
 Проверял из формы, нажимая кнопки А надо было из списка или обработкой. | |||
| 63
    
        oslokot 12.02.20✎ 15:15 | 
        (59) (62) да, я делал интерактивно, из формы поэтому и написал в (8) что все ок. А на самом деле было (50)     | |||
| 64
    
        Конструктор1С 12.02.20✎ 17:19 | 
        "куча мест, где вызывается обновление записей этого регистра"
 Инкапсуляция? Не, не слышал | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |