Удаление записей из регистра остатков с битыми ссылками Как удалить из регистра остатков записи с битыми ссылками при помощи обработки |
ммм.... написать обработку, которая будет определять факт "битости" не предлагать? В просторечии "битая" означает отсутствие записи в основной таблице. Дальше сам. |
А разве, когда в конфигураторе запускаешь режим проверки и исправления ошибок, там не спрашивает, что делать с "битыми" ссылками? Удалять, или создавать новые объекты. Где-то такое было... |
Я хочу именно обработкой удалить из регистра остатков эти записи |
если тема о 7ке, то по прежнему непонятно в чём собственно загвоздка? |
(3) разрешаем... не благодари) |
как обработкой указать регистратор. Ведь документ который сделал движения удален а движения его остались? |
сильно! этот вопрос (6), но сформулированный иначе меня интриговал с 9:10 |
в 8-ке очень помогло [url]http://w1c.ru/files/epf/GUID_300114.rar[/url] |
(6) и что? Ссылка на регистратор есть? есть, хотя и "битая". Отбор по ней кто-то запрещает установить? В чём проблема-то? |
Мне нужно сделать это обработкой в 7.7 Как я запишу регистратор обработкой? и как я получу этот регистратор, ведь если я выгружаю итоги регистра - регистратора я не вижу. |
ВремРег = СоздатьОбъект("Регистры"); Рег = ВремРег.ОстаткиТовара; Если Дта<ПолучитьДатуТА() Тогда Рег.ВременныйРасчет(); КонецЕсли; Рег.УстановитьФильтр(,ВыбСклад); Если Дта<ПолучитьДатуТА() Тогда ВремРег.РассчитатьРегистрыПо(Дта); КонецЕсли; Рег.ВыгрузитьИтоги(Табл,1,1); Табл.ВыбратьСтроки(); Пока Табл.ПолучитьСтроку()=1 Цикл Регистр.ОстаткиТовара.Товар=Табл.Товар; Регистр.ОстаткиТовара.Склад=Табл.Склад; Регистр.ОстаткиТовара.Количество=Табл.Количество; Регистр.ОстаткиТовара.Стоимость=Табл.Сумма; Регистр.ОстаткиТоваровСк.ДвижениеРасходВыполнить(); КонецЦикла; а куда записать регистратор? |
11-Pusto > Неправильно. Не надо ничего записывать в регистр: надо восстановить [b]объект метаданных[/b]. Т.е., если "битая ссылка" является указателем на несуществующую запись справочника Номенклатура, то надо создать по новому свежую запись Номенклатуры [b]с прежним значением ID[/b]. P.S. Для этого достаточно запустить ТиИ с оцией "Исправить". P.P.S. А потом убить ап стену того типа, который разрешил непосредственное удаление объектов. С особой жестокостью. |
Это периферийная база и запускать ТиИ (проверка логической целостности) нельзя так как это чревато другими последствиями. Центральная база больше ПБ раз в 50. Поэтому нужна только обработка. |
13-Pusto > Регистратор записывается самим регистратором из Модуля документа. Разработчики 1Cv7 смотрят на тебя с интересом. |
Можно сделать Так как в регистр штатно доступ только через документ То есть два варианта Прямыми запросами ищешь битые ссылки и удаляешь записи с такими ссылками Виорой вариант запускаешь тии с опуией исправить Она тебе нарожает кучу дркументов которые отсутствуют в базе но по которым есть движения в регистре Далее в модуле этих документов делаешь вставку чтобы отрабатывала только удаление записей при проведении и делаешь проведение и распроведение этих доков потом удаляешь эти доки штатно А потом снимаешьчистишь таблицу регистрации изменений чтобы вся эта муть не ушла в цб Но прямыми запросами быстрее будет наверное Посмотри на исе разработку Граната для обезьянки |
10-Pusto > итоги по регистру это отдельная таблица Так как итоги по регистратору бессмыслены то в таблице итогов ссыли на регистратор нет Регистратор есть только в таблице движений Более подробно инфу можно почерпнуть в словаре данных Это файлик с расширением dd или dds |
Текущее время: 22:32. Часовой пояс GMT +3. |