IE2017

Замена ссылок (7.7 SQL) - (аналог repval)

Обработки - Свертка базы

Замена ссылок в SQL-базе без перепроведения документов.

Обработка заменяет ссылки на элементы справочника в константах, справочниках, периодических значениях, документах, движениях регистров и проводках.

Минусы:

  • Замена ссылок только элементов справочника (в 90% случаев только это и необходимо)
  • Не охваченным остался участок "Зарплата" - там замен не происходит.
  • В некоторых случаях требуется "пересчет служебных данных" (табличка 1SCRDOC), опять-таки из Конфигуратора.

 

Главный плюс - нет необходимости в перепроводке документов (для этого и писалась).

Есть возможность "частичной замены" - то есть, не во всех объектах БД.

 

Обработка ориентирована на опытных пользователей и администраторов БД, знающих структуру ИБ.

Требует загруженной 1cpp.dll

 

Схожие обработки:

 

UPD 26/10/10 Добавил возможность удаления и поиска ссылок. Исправлен баг: не заменялись значения в реквизитах оборотного регистра.

Скачать файлы

Наименование Файл Версия Размер
ЗаменассылокSQL.ert
.ert 46,50Kb
03.09.14
197
.ert 46,50Kb 197 Скачать

См. также

Комментарии
1. Сергей (Che) Коцюра (CheBurator) 3387 09.03.10 20:31 Сейчас в теме
хорошо, но хочется заменять в регистрах и другие агрегатные типы (перечисления, например)
2. Ёпрст (Ёпрст) 1021 10.03.10 07:52 Сейчас в теме
Не качал...тупо апдейтишь все таблички ?...
А периодику ?
А почему в 1SCRDOC не меняешь ?... Там же всё - и графы отбора и подчиненность..
3. Ёпрст (Ёпрст) 1021 10.03.10 07:58 Сейчас в теме
Посмотрел..
Так и не понял - нахрена там нужен обычный запрос для справочника, чтоб поиметь потом тот-же самый список Элементов в нём ?
4. Алексей Плутенко (Noy) 1057 10.03.10 08:02 Сейчас в теме
(1)
с периодикой все чин-чином, и с со значениями типа "Неопределенный" или "Справочник" тоже.
А с 1SCRDOC - там сложнее: если установлен отбор по справочнику, ссылка на который присутствует в табличной части, то можно напороться на документ, в котором есть ссылка и на "оригинал" и на "замену" (а там уникальный индекс). Поэтому апдейт этой таблички не делаю, только чищу (Delete).
5. Алексей Плутенко (Noy) 1057 10.03.10 08:03 Сейчас в теме
(3) Да. Пользователю легче выбрать группу, чем подбирать элементы.
6. Алексей Плутенко (Noy) 1057 10.03.10 08:04 Сейчас в теме
7. Ёпрст (Ёпрст) 1021 10.03.10 08:11 Сейчас в теме
(5) а...про группы ка-то не подумал..

Для дбф тоже сойдёт.. имена табличек только поменять, да еще блоб обработать придёться..

Хотя, идея восстановления ссылок путём ТиИ -не комильфо.. как и само ТиИ.
8. Алексей Плутенко (Noy) 1057 10.03.10 08:13 Сейчас в теме
(7) Доработаю на досуге....
но Тии все равно надо - для пересчета итогов. Можно конечно и самому попробовать пересчитать, но думаю что будет сложновато....
9. Ёпрст (Ёпрст) 1021 10.03.10 08:55 Сейчас в теме
(8) Тии для пересчета итогов вовсе не обязательно - монопольно и так всё пересчитывается в предприятии..
Разве что итоги по колонкам пересчитываются еще.
10. Дмитрий Глазырин (glassman) 128 10.03.10 11:19 Сейчас в теме
Работаю над аналогичной обработкой. Только еще не требующей ТИИ. Регистры победил, с бух. итогами не получилось пока...
11. Алексей Плутенко (Noy) 1057 10.03.10 11:31 Сейчас в теме
(10) Респект. Если нужна помощь - можешь на меня рассчитывать (только мой уровень знания скл пониже будет).
12. Дмитрий Глазырин (glassman) 128 10.03.10 12:07 Сейчас в теме
От помощи в тестировании не откажусь. :) Но до этого еще дойти надо...
13. Алексей Плутенко (Noy) 1057 10.03.10 12:09 Сейчас в теме
14. Ёпрст (Ёпрст) 1021 10.03.10 12:11 Сейчас в теме
(10) выкладывай. что ужо есть..
15. Дмитрий Глазырин (glassman) 128 10.03.10 12:37 Сейчас в теме
http://files.mail.ru/5OOMAF
изначально все было расчитано на конкретную конфу. Потом поменяю, сделаю с выбором вида справочника. Без прекрас. Не трогает таблицу ссылок документов, т.к. интересующий вид справочника в графах не участвует, то и не заморачивался пока. Обычные таблицы делает апдейтом. Для регистров сделан перенос итогов с одного на другой. Качественно не тестировалось, но вроде работает верно. Родители и владельцы справочников обрабатываются.
По бухгалтерии была мысль надергать из SQL Profiler-а всякую чушь, что 1С выполняет при проведении документа и симулировать перезапись проводок. Чтобы вручную не писать обновление всяких итогов по субконто и прочее. Т.е. у меня пусть и коряво, но собираются ссылки на документы в проводках которых есть ссылки на убираемый объект. И с этими документами дальше махинации идут с вызовом хранимых 1с-овских процедур. Финт ушами не вышел, короче, что-то я упускаю... Итоги кривятся. Этот кусок закоментирован. Остановился пока на том, что документы, которые делают бух проводки, проводятся обычным Док.Провести(). Благо у меня в базе самые тяжелые документы по безумным регистрам двигаются. :)
В свободное время битву продолжаю.
Напомню, качественно ничего не тестировалось, это текущая рабочая версия. Точно вычищает все ссылки. А вот с итогами и корректностью этих итогов большие вопросы пока.
16. Ёпрст (Ёпрст) 1021 10.03.10 13:31 Сейчас в теме
(15) с итогами регистров - норм, а вот с бух -засада ? На сколько я понял ?...
17. Ёпрст (Ёпрст) 1021 10.03.10 13:35 Сейчас в теме
+16 неплохо бы еще удалять записи с нулевыми итогами (если такие получаются при суммировании) заодно...
18. Дмитрий Глазырин (glassman) 128 10.03.10 14:17 Сейчас в теме
(16) ну если только как бонус. :) 1С за этим сама не следит тоже. Тока при пересчете убираются. :)

С бух. итогами я не пробовал аналогичные запросы писать по объединению итогов. Плюс там таблицы отбора по субконто, итоги по счетам. Короче, темный лес. :) Надо заняться, не думаю, что там что-то из разряда невозможного. Еще проблемы со сложными проводками. Я их не то что в скульной базе не видел, я их вообще один раз только в работающей 1С встречал. :)
19. Дмитрий Глазырин (glassman) 128 12.03.10 08:02 Сейчас в теме
Вообще-то подмена ссылок и автопересчет итогов в регистрах и бух.итогах довольно опасная штука. В том плане, что в логике проведения документа могут быть всякие нюансы, от которых зависят движения. И прямая замена движений может вызвать нелогичные движения. Взять тот же партионный учет в ТиС. При замене одной номенклатуры на другую будет получаться так, что списываться будут не те партии, которые должны по fifo. В результате будем иметь некорректный расчет доходности.
20. Ёпрст (Ёпрст) 1021 12.03.10 08:11 Сейчас в теме
(19) ну да.. + партия будет от другой номенклатуры.
21. Дмитрий Глазырин (glassman) 128 12.03.10 08:22 Сейчас в теме
(20) ну у партии-то владелец подменится. :)
22. Алексей Плутенко (Noy) 1057 12.03.10 09:24 Сейчас в теме
(19), (20) Я как раз для замены товаров обработку и использую. Первым запуском все "неактуальные" товары превращаю в один "Товар удален из базы" - у него появляется куча партий (владелец то меняется), а вторым проходом меняю все партии на одну. Конечно перепроводка старых документов даст неправильную себестоимость, но я удаляю товар, который уже более 2-х лет не имеет движений - соответственно документы за те периоды не будут перепроводится никогда.
Также поступаю и с клиентами.
Кстати на тестовой базе все прошло хорошо и размер таблиц с итогами (особенно "отбор проводок по субконто") ощутимо уменьшился.
23. Алексей Плутенко (Noy) 1057 26.10.10 14:23 Сейчас в теме
Добавил возможность простого штатного поиска ссылок, и возможность непосредственного удаления элементов прямо из обработки.
24. AlexN (alexn) 04.07.12 17:04 Сейчас в теме
Черкнул пару-другую строк в обработку zamena_elementa.ert
Для замены значений не во всей базе, а в документах-регистрах за определенный период времени.
Если интересно могу выслать или опубликовать.
Оставьте свое сообщение