Как удалить запись с пустым полем регистратор из регистра накопления? #463320


#0 by Sashko773
Подскажите плиз как удалить запись с пустым полем регистратор из регистра накопления? Проблема именно в том что ссылка на регистратор не битая а пустая.
#1 by Михей
ГДЕ НЕ Регистратор.Номер ЕСТЬ NULL
#2 by DrShad
и что это даст?
#3 by Sashko773
Наверное отобрать все записи с не пустым значением регистратора и перезаписать их в регистр
#4 by DrShad
в регистр без регистратора?
#5 by DrShad
я бы для начала запустил лекарство
#6 by Sashko773
какое?
#7 by Sashko773
ТИИ?
#8 by DrShad
нивкоем случае
#9 by DrShad
chdbfl.exe
#10 by IronDemon
#11 by Михей
#12 by Sashko773
А разве это не тоже самое?
#13 by Sashko773
Пробовал, не работает. Выскакивает ошибка о том что не задан отбор для регистратора
#14 by Sashko773
щас попробую
#15 by Sashko773
Вообще не пашит, даже ни одной кривой записи не находит
#16 by DrShad
тогда колись как и в каком регистре ты его обнаружил?
#17 by IronDemon
Пашет, но ищет не пустые а битые
#18 by Михей
все там работает, запускал уже не раз
#19 by Sashko773
Да просто. Обнавлять не дается))). Открыл регистр РабочееВремяРаботниковОрганизаций а там пустых строк аж 120 штук
#20 by Sashko773
Все поля не заполнены. Думаю из-за потери связи с базой (на серваке) появились такие записи
#21 by Sashko773
А у тебя именно пустые ссылки были или на несуществующие документы?
#22 by Sashko773
У миня пустые - NULL
#23 by DrShad
конфа?
#24 by Михей
на не существующий документы у которых <объект не найден>
#25 by Sashko773
ЗУП типовая
#26 by Михей
и шо у тебя возвращает вот это? ВЫБРАТЬ * ИЗ  РегистрСведений.РабочееВремяРаботниковОрганизаций ГДЕ ГДЕ НЕ Регистратор.Номер ЕСТЬ NULL
#27 by Sashko773
Все целые записи
#28 by DrShad
не может быть
#29 by Sashko773
может :)
#30 by shuhard
если может, то чему равен Регистратор.Номер ?
#31 by Sashko773
Не понял тебя?
#32 by DrShad
народ а не может такой глюк быть, если дописали движения к документу не указав его при этом регистратором?
#33 by 73
В <ГДЕ НЕ ...> - не убери. И посмотри, что вернет.
#34 by DrShad
ведь форма списка регистра такая же форма как и все остальные и если тип значения в табоичном поле не соответствует присваемому то тоже пустая ячейка
#35 by Sashko773
А чего удивительного то, условие если номер документа регистратора не равен NULL. Вот все записи у которых проставлен регистратор и отбираются
#36 by Sashko773
ну соответственно все коцаные отобрал
#37 by Михей
тупанул там НЕ не надо
#38 by DrShad
посыпаю голову пеплом
#39 by Sashko773
Михей пробую твой код, я немного другой юзал. Ругается на    Если Строка(Выборка.Регистратор) <> GUID Тогда
#40 by Sashko773
Переменная не определена (GUID)
#41 by Sashko773
Там чаго перед GUID дописать надо?
#42 by DrShad
естественно
#43 by Sashko773
и...
#44 by DrShad
это переменная и надо ей присвоить значение
#45 by Sashko773
Я просто не совсем вообще понимаю зачем этот кусок и что там проверяется
#46 by DrShad
там проверяется равенство ссылки
#47 by Sashko773
Ей надо присвоить идентификатор пустой ссылки что-ли?
#48 by DrShad
врядли тогда просто можно было проверить на Пустая
#49 by Sashko773
Блин так ничего и не вышло. Тема актуальна. Алгоритм работает только в случае с битыми но не пустыми ссылками. Есть еще предложения???
#50 by H A D G E H O G s
#51 by Sashko773
Таблица не найдена "РегистрНакопления.РегистрНакопления" <<?>>РегистрНакопления.РегистрНакопления КАК РегистрНакопления
#52 by Sashko773
Подправил, но тем не менее это все равно не работает. Все таже ошибка - Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Взаиморасчеты с работниками организаций)
#53 by Михей
это  - Набор.Отбор.Регистратор.Установить(Регистратор); есть перед записью?
#54 by Sashko773
Есть, но но там регистратор то пустой. Вот видимо он отбор по пустому установить и не может
#55 by Sashko773
Может быть можно отобрать только верные записи, очистить регистр и записать туда снова только их
#56 by Sashko773
Если да, то нипишите как сделать
#57 by Михей
записывать НаборЗаписей для РегистраНакопления можно только с установленным отбором по Регистратору
#58 by Sashko773
я понял, а какой выход то найти?
#59 by Михей
точна уверен что регистратор именно ПустаяСсылка ?
#60 by Михей
ваще можно запустить ТиИ, с соответствующими настройками для начала
#61 by Sashko773
точно пустая. Вот этим у меня все такие пустые записи отбираются * ИЗ  РегистрСведений.РабочееВремяРаботниковОрганизаций ГДЕ Регистратор.Номер ЕСТЬ NULL
#62 by Sashko773
точно пустая. Вот этим у меня все такие пустые записи отбираются * ИЗ  РегистрСведений.РабочееВремяРаботниковОрганизаций ГДЕ Регистратор ЕСТЬ NULL
#63 by Sashko773
Запускал, не помогает
#64 by Михей
а вот этот? * ИЗ  РегистрСведений.РабочееВремяРаботниковОрганизаций
#65 by 73
А кстати, этот не должен выбирать...
#66 by Sashko773
Да да этот не отбирает, обманул )
#67 by Михей
пушо у тебя там все таки не ПустаяСсылка ссылка у регистратора есть, но нету данных на которые она ссылается так шо тебя спасет
#68 by Sashko773
А как быть с этим? Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Взаиморасчеты с работниками организаций)
#69 by 73
Регистратор - один или неск типов? И что дает ?
#70 by Михей
покажи свой код
#71 by Sashko773
Один. Условие задать не получается такое. ЗНАЧЕНИЕ(Документ.ТабельУчетарабочегоВремениОрганизаций.ПустаяСсылка)
#72 by Sashko773
#73 by Sashko773
Все подобные обработки на таком же алгоритме построенны и поэтому ни одна из них мне не помогла
#74 by 73
Как условие не получается? Должно получаться. Или ничего не выбирает? Уточни.
#75 by Михей
может у тя есть какой то код в модуле набора записей регистра РабочееВремяРаботниковОрганизаций, что мешает записать
#76 by Sashko773
Ругается вот на это ЗНАЧЕНИЕ(Документ.ТабельУчетарабочегоВремениОрганизаций.ПустаяСсылка) не понимает
#77 by Sashko773
не понял
#78 by Михей
в модуле набора записей регистра РабочееВремяРаботниковОрганизаций есть что то?
#79 by 73
1с 8.0 что ли?
#80 by 73
Вместо попробуй: ВЫБРАТЬ * ИЗ  РегистрСведений.РабочееВремяРаботниковОрганизаций
#81 by Sashko773
Это текст внешней обработки с одной единственной процедурой
#82 by 73
У самого регистра тоже модуль есть.... Клацни на нем правой кнопкой мыши в конфигураторе.
#83 by Sashko773
Регистр кстати не сведений а накопления, просто сначала все с ошибкой начали писать
#84 by 73
Не суть. Копипастил...
#85 by Sashko773
#86 by H A D G E H O G s
У товарисча в регистре записи, с Пустым (не битым) регистраторов. Регистратор = ПустойСсылке, UID ее =00000000-0000-0000-0000-000000000000. Только через SQL удалять.
#87 by H A D G E H O G s
Либо регистр выгрузить в xml, удалить в конфигураторе, реструктуризовать, вставить такой же регистр из копии, загрузить данные их xml
#88 by Sashko773
весело. Встречал уже такой вариант на одном форуме, думал есть попроще способ. Спасибо наверное так и буду делать. База типовая не хотелось такие манипуляции проводить
#89 by Михей
а как можно записать в регистр пустую ссылку?
#90 by Sashko773
были частые прерывания связи с базой во время работы. Я думаю из-за этого так получилось
#91 by 73
Так это подтвердил? Или я что-то пропустил?
#92 by Sashko773
Запрос так и не сформировал. Регистратор  Значение = Ошибка чтения значения
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С