Имя: Пароль:
1C
1С v8
Не удается сделать ТиИ чтобы удалить битые ссылки
0 Vade_kirza
 
19.05.21
12:26
Добрый день! Подскажите пожалуйста, в базе есть 2 битых документа - объект не найден Списание с РС, на форме списка они есть, но зайти в них/удалить/отменить проведение нельзя, а проводка по ним висит. Но вот проблема, что при ТиИ оно просто молча вылетает и не удаляет эти ссылки, чек делал, выгрузку загрузку дт тоже, копии откуда можно перенести эти доки нет. Есть ли еще какой-нибудь способ удалить эти доки из базы? Или как понять причину, почему ТиИ не может это сделать? Заранее спасибо!
1 Почему 1С
 
19.05.21
12:28
Удали их из проводок сам
2 Garykom
 
гуру
19.05.21
12:35
(0) если файловая то chdbfl сначала на копии базы
3 Vade_kirza
 
19.05.21
12:36
(2) делал, не помогло
4 Фрэнки
 
19.05.21
12:37
Набор записей создавай с отбором по такому битому регистратору, затем Прочитать() и Очистить() Записать()
5 Фрэнки
 
19.05.21
12:38
Форма списка - это какого списка?
6 Garykom
 
гуру
19.05.21
12:41
(4) Ты это юзеру/админу советуешь да?

Прог бы уже наверно сам попробовал
7 Vade_kirza
 
19.05.21
12:42
(5) форма списка Списание с Расчетного счета. Так, мне нравится идея из (1) и (4), только как поставить отбор по регитсратору объект не найден?
8 Ёпрст
 
19.05.21
12:43
(7) запросом к регистру найти все записи с пустым регистратором, в выборке установить отбор по этому регистратору и просто записать набор.
Очистить() не обязательно, как и Прочитать()
9 RomanYS
 
19.05.21
12:48
(7) получить ссылку запросом (или к проводкам или к регистру-источнику для ДС формы списка), а дальше отбор как и с обычной ссылкой
10 RomanYS
 
19.05.21
12:49
(8) "с пустым регистратором" - строго говоря, битая ссылка совсем не пустая
11 Garykom
 
гуру
19.05.21
12:49
(0) Сделать ТиИ "и исправление" с выбранным "создание объектов"
Затем сам догадаешься
12 Ёпрст
 
19.05.21
12:50
На вот, развлекайся
        


Запрос = Новый Запрос("
            |ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    СписаниеСРасчетногоСчета.Регистратор
            |ИЗ
            |    РегистрНакопления.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета
            |ГДЕ
            |    СписаниеСРасчетногоСчета.Регистратор.ССылка Есть NULL");


Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
     НаборЗаписей = РегистрыНакопления.СписаниеСРасчетногоСчета .СоздатьНаборЗаписей();
     НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
     НаборЗаписей.Записать();
КонецЦикла;
13 RomanYS
 
19.05.21
12:53
Вообще интересно, если ТИИ не помогло, то может и нет никаких битых ссылок. Может просто РЛС кто-то кривой сделал
14 Vade_kirza
 
19.05.21
12:53
(11) не делает, просто вылетает с записью дампа
15 Vade_kirza
 
19.05.21
12:54
(12) спасибо. Только чуть чуть поправлю, там не РН, а РБ
16 Vade_kirza
 
19.05.21
12:54
(13) там не то, что не помогло, а оно на проверке таблицы ССРС просто закрывается молча
17 Garykom
 
гуру
19.05.21
12:55
(14) по идее надо писать в 1С/франчу по ИТС если вылетает
ибо это бага платформы
18 Garykom
 
гуру
19.05.21
12:56
(17)+ или ТиИ делать на серверной sql базе - имхается там не вылетит
19 Vade_kirza
 
19.05.21
12:57
(18) сейчас попробую. Ибо проводку я удалил, но битая ссылка все равно осталась, а это может привести к проблемам при обновлении
20 RomanYS
 
19.05.21
12:59
(19) так же как удалил проводку удали запись в РС-источнике для ДС формы списка
21 Vade_kirza
 
19.05.21
14:41
(18) попробовал, на скуле тоже вылетает
22 Vade_kirza
 
19.05.21
14:48
(20) не совсем понимаю, там запрос просто к таблице ДокументСписаниеСРасчетногоСчета
23 Vade_kirza
 
19.05.21
14:48
ВЫБРАТЬ
    ДокументСписаниеСРасчетногоСчета.Ссылка КАК Ссылка,
    ДокументСписаниеСРасчетногоСчета.ПометкаУдаления КАК ПометкаУдаления,
    ДокументСписаниеСРасчетногоСчета.Номер КАК Номер,
    ДокументСписаниеСРасчетногоСчета.Дата КАК Дата,
    ДокументСписаниеСРасчетногоСчета.Проведен КАК Проведен,
    ДокументСписаниеСРасчетногоСчета.ВидОперации КАК ВидОперации,
    ДокументСписаниеСРасчетногоСчета.Организация КАК Организация,
    ДокументСписаниеСРасчетногоСчета.СчетОрганизации КАК СчетОрганизации,
    ДокументСписаниеСРасчетногоСчета.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    ДокументСписаниеСРасчетногоСчета.СчетБанк КАК СчетБанк,
    ДокументСписаниеСРасчетногоСчета.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
    ДокументСписаниеСРасчетногоСчета.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
    ДокументСписаниеСРасчетногоСчета.Контрагент КАК Контрагент,
    ДокументСписаниеСРасчетногоСчета.СчетКонтрагента КАК СчетКонтрагента,
    ДокументСписаниеСРасчетногоСчета.СуммаДокумента КАК СуммаДокумента,
    ДокументСписаниеСРасчетногоСчета.СчетУчетаРасчетовСКонтрагентом КАК СчетУчетаРасчетовСКонтрагентом,
    ДокументСписаниеСРасчетногоСчета.СубконтоДт1 КАК СубконтоДт1,
    ДокументСписаниеСРасчетногоСчета.СубконтоДт2 КАК СубконтоДт2,
    ДокументСписаниеСРасчетногоСчета.СубконтоДт3 КАК СубконтоДт3,
    ДокументСписаниеСРасчетногоСчета.ПодразделениеДт КАК ПодразделениеДт,
    ДокументСписаниеСРасчетногоСчета.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
    ДокументСписаниеСРасчетногоСчета.НазначениеПлатежа КАК НазначениеПлатежа,
    ДокументСписаниеСРасчетногоСчета.Ответственный КАК Ответственный,
    ДокументСписаниеСРасчетногоСчета.Комментарий КАК Комментарий,
    ДокументСписаниеСРасчетногоСчета.ДокументОснование КАК ДокументОснование,
    ДокументСписаниеСРасчетногоСчета.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ДокументСписаниеСРасчетногоСчета.ВалютаДокумента КАК ВалютаДокумента,
    ДокументСписаниеСРасчетногоСчета.Содержание_УСН КАК Содержание_УСН,
    ДокументСписаниеСРасчетногоСчета.Графа4_УСН КАК Графа4_УСН,
    ДокументСписаниеСРасчетногоСчета.Графа5_УСН КАК Графа5_УСН,
    ДокументСписаниеСРасчетногоСчета.Графа6_УСН КАК Графа6_УСН,
    ДокументСписаниеСРасчетногоСчета.Графа7_УСН КАК Графа7_УСН,
    ДокументСписаниеСРасчетногоСчета.ДоходыЕНВД_УСН КАК ДоходыЕНВД_УСН,
    ДокументСписаниеСРасчетногоСчета.РасходыЕНВД_УСН КАК РасходыЕНВД_УСН,
    ДокументСписаниеСРасчетногоСчета.НДС_УСН КАК НДС_УСН,
    ДокументСписаниеСРасчетногоСчета.РучнаяКорректировка КАК РучнаяКорректировка,
    ДокументСписаниеСРасчетногоСчета.НеПодтвержденоВыпискойБанка КАК НеПодтвержденоВыпискойБанка,
    ДокументСписаниеСРасчетногоСчета.НалоговыйПериод КАК НалоговыйПериод,
    ДокументСписаниеСРасчетногоСчета.ПлатежнаяВедомость КАК ПлатежнаяВедомость,
    ВЫБОР
        КОГДА ДокументСписаниеСРасчетногоСчета.РучнаяКорректировка = ИСТИНА
            ТОГДА ВЫБОР
                    КОГДА ДокументСписаниеСРасчетногоСчета.ПометкаУдаления = ИСТИНА
                        ТОГДА 10
                    КОГДА ДокументСписаниеСРасчетногоСчета.Проведен = ЛОЖЬ
                        ТОГДА 9
                    ИНАЧЕ 8
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА ДокументСписаниеСРасчетногоСчета.ПометкаУдаления = ИСТИНА
                    ТОГДА 2
                КОГДА ДокументСписаниеСРасчетногоСчета.Проведен = ИСТИНА
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ
    КОНЕЦ КАК СостояниеДокумента,
    ВЫБОР
        КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
            ТОГДА 1
        КОГДА НаличиеФайлов.ЕстьФайлы
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ЕстьФайлы
ИЗ
    Документ.СписаниеСРасчетногоСчета КАК ДокументСписаниеСРасчетногоСчета
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
        ПО ДокументСписаниеСРасчетногоСчета.Ссылка = НаличиеФайлов.ОбъектСФайлами}
24 RomanYS
 
19.05.21
15:12
(23) Тогда списке не может быть битых ссылок. Может это другая форма списка.
Что вообще видно в списке?
25 Pro-tone
 
19.05.21
15:15
(4) >>Набор записей создавай с отбором по такому битому регистратору, затем Прочитать() и Очистить() Записать()

Прочитать() и Очистить() лишнее:) достаточно Записать()
26 hhhh
 
19.05.21
15:18
(24) почему? не сам документ битый, а его реквизит.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.