0
- 11.03.2015 - 07:59
|
Как удалить из регистра остатков записи с битыми ссылками при помощи обработки | |
1
- 11.03.2015 - 08:10
|
ммм.... написать обработку, которая будет определять факт "битости" не предлагать? В просторечии "битая" означает отсутствие записи в основной таблице. Дальше сам. | |
2
- 11.03.2015 - 08:44
| А разве, когда в конфигураторе запускаешь режим проверки и исправления ошибок, там не спрашивает, что делать с "битыми" ссылками? Удалять, или создавать новые объекты. Где-то такое было... | |
3
- 11.03.2015 - 08:54
| Я хочу именно обработкой удалить из регистра остатков эти записи | |
4
- 11.03.2015 - 09:10
| если тема о 7ке, то по прежнему непонятно в чём собственно загвоздка? | |
5
- 11.03.2015 - 09:16
|
(3) разрешаем... не благодари) | |
6
- 11.03.2015 - 09:55
|
как обработкой указать регистратор. Ведь документ который сделал движения удален а движения его остались? | |
7
- 11.03.2015 - 09:59
| сильно! этот вопрос (6), но сформулированный иначе меня интриговал с 9:10 | |
8
- 11.03.2015 - 10:12
|
в 8-ке очень помогло http://w1c.ru/files/epf/GUID_300114.rar | |
9
- 11.03.2015 - 11:45
|
(6) и что? Ссылка на регистратор есть? есть, хотя и "битая". Отбор по ней кто-то запрещает установить? В чём проблема-то? | |
10
- 11.03.2015 - 13:02
|
Мне нужно сделать это обработкой в 7.7 Как я запишу регистратор обработкой? и как я получу этот регистратор, ведь если я выгружаю итоги регистра - регистратора я не вижу. | |
11
- 11.03.2015 - 13:04
|
ВремРег = СоздатьОбъект("Регистры"); Рег = ВремРег.ОстаткиТовара; Если Дта<ПолучитьДатуТА() Тогда Рег.ВременныйРасчет(); КонецЕсли; Рег.УстановитьФильтр(,ВыбСклад); Если Дта<ПолучитьДатуТА() Тогда ВремРег.РассчитатьРегистрыПо(Дта); КонецЕсли; Рег.ВыгрузитьИтоги(Табл,1,1); Табл.ВыбратьСтроки(); Пока Табл.ПолучитьСтроку()=1 Цикл Регистр.ОстаткиТовара.Товар=Табл.Товар; Регистр.ОстаткиТовара.Склад=Табл.Склад; Регистр.ОстаткиТовара.Количество=Табл.Количество; Регистр.ОстаткиТовара.Стоимость=Табл.Сумма; Регистр.ОстаткиТоваровСк.ДвижениеРасходВыполнить() ; КонецЦикла; а куда записать регистратор? | |
12
- 11.03.2015 - 13:20
|
11-Pusto > Неправильно. Не надо ничего записывать в регистр: надо восстановить объект метаданных. Т.е., если "битая ссылка" является указателем на несуществующую запись справочника Номенклатура, то надо создать по новому свежую запись Номенклатуры с прежним значением ID. P.S. Для этого достаточно запустить ТиИ с оцией "Исправить". P.P.S. А потом убить ап стену того типа, который разрешил непосредственное удаление объектов. С особой жестокостью. | |
13
- 11.03.2015 - 13:23
| Это периферийная база и запускать ТиИ (проверка логической целостности) нельзя так как это чревато другими последствиями. Центральная база больше ПБ раз в 50. Поэтому нужна только обработка. | |
14
- 11.03.2015 - 13:37
|
13-Pusto > Регистратор записывается самим регистратором из Модуля документа. Разработчики 1Cv7 смотрят на тебя с интересом. | |
15
- 11.03.2015 - 22:27
|
Можно сделать Так как в регистр штатно доступ только через документ То есть два варианта Прямыми запросами ищешь битые ссылки и удаляешь записи с такими ссылками Виорой вариант запускаешь тии с опуией исправить Она тебе нарожает кучу дркументов которые отсутствуют в базе но по которым есть движения в регистре Далее в модуле этих документов делаешь вставку чтобы отрабатывала только удаление записей при проведении и делаешь проведение и распроведение этих доков потом удаляешь эти доки штатно А потом снимаешьчистишь таблицу регистрации изменений чтобы вся эта муть не ушла в цб Но прямыми запросами быстрее будет наверное Посмотри на исе разработку Граната для обезьянки | |
16
- 11.03.2015 - 22:29
|
10-Pusto > итоги по регистру это отдельная таблица Так как итоги по регистратору бессмыслены то в таблице итогов ссыли на регистратор нет Регистратор есть только в таблице движений Более подробно инфу можно почерпнуть в словаре данных Это файлик с расширением dd или dds | |
| Интернет-форум Краснодарского края и Краснодара |