Обработка позволяющая заменить одно значение справочника, счета или перечисления на другое везде, где оно присутствует (реквизиты справочников, общие реквизиты, реквизиты шапки и реквизиты табличных частей документов, сменить владельца у подчиненных элементов справочников, ссылки в других справочниках,константах, и в проводках где может присутствовать в виде субконто).
+ Может изменять движения документа ( периодических реквизитов установленных в документах через УстановитьРеквизитСправочника(), а также регистров Оперативного учета )
После замены можно например удалить дубликаты справочников (для этого собственно данная обработка и писалась).
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
2. Изменить процедуру ОбработкаПроведения() в модуле документа на:
Процедура ОбработкаПроведения(_Параметр)
Если ТипЗначенияСтр(_Параметр)="СписокЗначений" Тогда
Если Число(_Параметр.Получить("ИзменениеДвиженийДокумента"))=1 Тогда
_КонтекстОбработки=_Параметр.Получить("КонтекстОбработкиИзменения");
_Функция=_Параметр.Получить("Функция");
_Параметр.Установить("КонтекстДокумента",Контекст);
_СЗ=СоздатьОбъект("СписокЗначений");
_СЗ.ДобавитьЗначение(_Параметр);
_Результат=0;
глСервисFormEx.ВыполнитьФункцию(_КонтекстОбработки,_Функция,_СЗ,_Результат);
Возврат;
КонецЕсли;
КонецЕсли;
Внешняя обработка позволяет проверить уникальность номеров всех видов документов. При проверке в базу не вносятся никакие изменения. При желании можно сделать исправление дублей номеров.
Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.
Пример реализации сверок между базами и исправления расхождений в обе стороны, из 7.7 -> в 8.3 и из 8.3 -> в 7.7 на обычных формах. Фундаментальные обработки, которые работают на постоянной основе и поддерживают идентичность данных между базами основных поставщиков и основных покупателей (их соответствие прописано в модуле). Используется Новый COMОбъект("V77.Application"), пример использования внешнего источника данных. Реализация в поступление. Поступление в поступление. Корректировка поступления в корректировку отгрузки. СчФ выданный в СчФ полученный. Исправление СчФ полученного в исправление СчФ выданного. Перенос документа Реализация 7.7 в Поступление 8, Перемещение 7.7 в Поступление 8. Акт сверки взаиморасчетов (несколько организаций). Все обработки запускаются в базе 1С Предприятие 8 (обычные формы).
Универсальная обработка 7.7, представленная здесь, до сих пор почему-то по функционалу гораздо беднее, чем общеизвестная типовая "Универсальный подбор и обработка объектов" (UNIREPS82\UniversalSelection) 8.2-8.3", мне не хватило возможности выполнить произвольный код обработчика объектов. Данная обработка "UChoice.ert" является полным аналогом "UniversalSelection", представляет собой консоль выполнения произвольного кода, позволяет делать с объектами информационной базы 1С 7.7 абсолютно все, что угодно, а не узкий, сложно настраиваемый набор команд, на мой взгляд, она существенно превосходит имеющиеся аналоги, поэтому ничем другим кроме нее я не пользуюсь.
1. Обработка позволяет совершать следующие действия над объектами:
а. СПРАВОЧНИКИ: удаление; пометка на удаление; снятие пометки на удаление.
б. ДОКУМЕНТЫ: удаление; пометка на удаление; снятие пометки на удаление; проведение; отмена проведения; выключить проводки; включить проводки.
2. Действия могут быть ограничены некоторыми условиями.
3. Существует отбор по видам объектов.
4. Есть возможность обработать подчиненные справочники.
Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже).
В обработке документов реализованы следующие действия:
Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части.
В обработке справочников реализованы следующие действия:
Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.
не согласен с комментами 1 и 2. Uchoice.ert например не меняет периодический Реквизит созданный движением документа, а добавляет свой если датаПер не равна дате установке периодических реквизитов и вовсе ничего не делает если эти даты равны. После моей же обработки можно безболезненно удалить дубликаты справочников.
Кроме того можно менять движения регистров "БЕЗ ПРОВЕДЕНИЯ ДОКУМЕНТА" (на самом деле при проведении используется ТЗ)
это и достигается модифицированной обработкой проведения и с помощью ВК.
Насколько я знаю средства языка не позволяют изменять движения регистра вне контекста документа
или я ошибаюсь?
Странно конечно, что разработчики в свое время этого не сделали так же как с операцией документа (ее можно менять без контекста документа)
спасибо VladimirB попробую! хотел сам написать для торговли... манагеры понаплодили двойной номенклатуры!!! Жалко во все доки надо прописывать, но понятно что иначе никак. :D