Вход | Регистрация
 

Замена партнера и контрагента во всех возможных объектах

Замена партнера и контрагента во всех возможных объектах
Я
   NIGHTHUNTER
 
08.08.21 - 13:39
Здравствуйте!

УТ 11.4. Подскажите пожалуйста по коду.

Необходимо по наеденным ссылкам, менять в этих объектах партнера. Затем так же по контрагенту.
Вопрос в том что заранее не известно в каких справочниках или документах. появится этот партнер и контрагент,
где нужно будет произвести его замену. Пока что, не встречал такого. и решил узнать.
Можно ли автоматизировать универсально этот процесс? Что бы подменять контрагента во всех возможных встретившихся объектах.
   ДенисЧ
 
1 - 08.08.21 - 13:49
   NIGHTHUNTER
 
2 - 08.08.21 - 13:50
Вот например по партнеру. По уже известным объектам. Но как в общем универсиализировать код?

    ПартнерДляЗамены    = Справочники.Партнеры.НайтиПоКоду(ОбрабатываемыйКодПартнера);
    Если Не ПартнерДляЗамены = Справочники.Партнеры.ПустаяСсылка() Тогда
        //

        ПартнерНаЗамену = Справочники.Партнеры.НайтиПоКоду(ОбрабатываемыеДубли);
        Если Не ПартнерНаЗамену = Справочники.Партнеры.ПустаяСсылка() Тогда
            //

            ЗаменаУдалениеСсылокПоПартнеру(ПартнерДляЗамены, ПартнерНаЗамену);

Процедура ЗаменаУдалениеСсылокПоПартнеру(ПартнерДляЗамены, ПартнерНаЗамену)
    //

    // ДЕЙСТВИЯ С НАЙДЕННЫМИ ССЫЛКАМИ ПАРТНЕР ->

    МассивПартнерДляЗамены = Новый Массив;
    МассивПартнерДляЗамены.Добавить(ПартнерДляЗамены);
    СсылкиНаОбъектПоПартнеру = НайтиПоСсылкам(МассивПартнерДляЗамены);
    Для Каждого Элем Из СсылкиНаОбъектПоПартнеру Цикл
        //

        Если ТипЗнч(Элем.Данные) = Тип("СправочникСсылка.Контрагенты") Тогда
            // Справочник.Контрагенты

            //

            //КонтрагентОбъект         = Элем.Данные.ПолучитьОбъект();

            //КонтрагентОбъект.Партнер = ПартнерНаЗамену;

            //КонтрагентОбъект.Записать();

            //

            //КонтрагентСсылка         = Справочники.Контрагенты.НайтиПоРеквизиту("Партнер", Элем.Ссылка);

            //Если Не КонтрагентСсылка = Справочники.Контрагенты.ПустаяСсылка() Тогда

            //    КонтрагентОбъект         = КонтрагентСсылка.ПолучитьОбъект();

            //    КонтрагентОбъект.Партнер = ПартнерНаЗамену;

            //    КонтрагентОбъект.Записать();

            //КонецЕсли;

        ИначеЕсли ТипЗнч(Элем.Данные) = Тип("СправочникСсылка.КартыЛояльности") Тогда
            // Справочник.КартыЛояльности

            //

            КартыЛояльностиОбъект         = Элем.Данные.ПолучитьОбъект();
            КартыЛояльностиОбъект.Партнер = ПартнерНаЗамену;
            КартыЛояльностиОбъект.Записать();
            //

            //КартыЛояльностиСсылка         = Справочники.КартыЛояльности.НайтиПоРеквизиту("Партнер", Элем.Ссылка);

            //Если Не КартыЛояльностиСсылка = Справочники.КартыЛояльности.ПустаяСсылка() Тогда

            //    КартыЛояльностиОбъект         = КартыЛояльностиСсылка.ПолучитьОбъект();

            //    КартыЛояльностиОбъект.Партнер = ПартнерНаЗамену;

            //    КартыЛояльностиОбъект.Записать();

            //КонецЕсли;

        ИначеЕсли ТипЗнч(Элем.Данные) = Тип("СправочникСсылка.КлючиАналитикиУчетаПоПартнерам") Тогда
            // Справочник.КлючиАналитикиУчетаПоПартнерам

            //

            КлючиАналитикиУчетаПоПартнерамОбъект = Элем.Данные.ПолучитьОбъект();
            КлючиАналитикиУчетаПоПартнерамОбъект.Удалить();
            //

            //КлючиАналитикиУчетаПоПартнерамСсылка = Справочники.КлючиАналитикиУчетаПоПартнерам.НайтиПоРеквизиту("Партнер", Элем.Ссылка);

            //Если Не КлючиАналитикиУчетаПоПартнерамСсылка = Справочники.КлючиАналитикиУчетаПоПартнерам.ПустаяСсылка() Тогда

            //    КлючиАналитикиУчетаПоПартнерамОбъект = КлючиАналитикиУчетаПоПартнерамСсылка.ПолучитьОбъект();

            //    КлючиАналитикиУчетаПоПартнерамОбъект.Удалить();

            //КонецЕсли;

        ИначеЕсли ТипЗнч(Элем.Данные) = Тип("СправочникСсылка.КлючиРеестраДокументов") Тогда
            // Справочник.КлючиРеестраДокументов

            //

            КлючиРеестраДокументовОбъект = Элем.Данные.ПолучитьОбъект();
            КлючиРеестраДокументовОбъект.Удалить();
            //

            //КлючиРеестраДокументовСсылка = Справочники.КлючиРеестраДокументов.НайтиПоРеквизиту("Ключ", Элем.Ссылка);

            //Если Не КлючиРеестраДокументовСсылка = Справочники.КлючиРеестраДокументов.ПустаяСсылка() Тогда

            //    КлючиРеестраДокументовОбъект = КлючиРеестраДокументовСсылка.ПолучитьОбъект();

            //    КлючиРеестраДокументовОбъект.Удалить();

            //КонецЕсли;

        ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.АналитикаУчетаПопартнерам") Тогда
            // РегистрСведений.АналитикаУчетаПоПартнерам (Не периодический, не зависимый)

            //

            Запись             = РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьМенеджерЗаписи();
            Запись.Партнер     = Элем.Ссылка;
            Запись.Организация = Элем.Данные.Организация;
            Запись.Удалить();                    
            //

        ИначеЕсли ТипЗнч(Элем.Данные) = Тип("РегистрСведенийКлючЗаписи.ГруппыЗначенийДоступа") Тогда
   NIGHTHUNTER
 
3 - 08.08.21 - 13:50
(1) Совсем не к месту вы.
   timurhv
 
4 - 08.08.21 - 13:50
(0) стандартная обработка "Поиск и замена дублей"?
   timurhv
 
5 - 08.08.21 - 13:55
(2) Универсально:
ОбщегоНазначения.ЗаменитьСсылки
   acanta
 
6 - 08.08.21 - 14:11
Вы хотите сказать, что функция НайтиСсылки() возвращает таблицу значений, в которой есть название реквизита, в котором эта ссылка участвует?
   Злопчинский
 
7 - 08.08.21 - 14:41
не взлетит по простому.
этак у тебя в документе вместо Васи станет Петя, а договор останется от Васи.
   NIGHTHUNTER
 
8 - 08.08.21 - 14:52
(6) Да там все есть.
   NIGHTHUNTER
 
9 - 08.08.21 - 14:53
(7) Значит и договор следует подменять.
   d_monah
 
10 - 08.08.21 - 15:04
Есть мнение,что базе будет кирдык,сегодня или завтра.Я немного за темой три дня смотрю,вижу что камрад идет к успеху.
   NIGHTHUNTER
 
11 - 08.08.21 - 15:04
(6) Возвращает http://joxi.ru/l2Zz3VECRzjnN2

Ссылка - ссылка на которую произведен поиск ссылок
Данные - сами ссылки на все найденные объекты
Метаданные
   NIGHTHUNTER
 
12 - 08.08.21 - 15:06
(10) Я попросил, подскажите по коду, замены партнера, договора, если что ещё нужно, по документам.

А то сам пока их не виду. По возможным документам и справочникам.

Что бы если попадаются не учтенные для обработки, справочники, документы, что бы в них делать подмену.
   acht
 
13 - 08.08.21 - 15:07
(10) >  три дня смотрю

А мы - 16 лет, дядь Дим. 16 гребаных лет...
   acht
 
14 - 08.08.21 - 15:11
Кстати. Провести ретроспективу вопросов LivingStar через falselight, TolstiyBeremenniy, кого-то может и забыл, до текущего NIGHTHUNTER было б весьма интересено. Вопрос - насколько может быть продуктивен результат работы и псевдообучения путем допроса форума на протяжении 16 лет, мог бы быть отличной темой проекта.

Жалко, что я не доктор.
   NIGHTHUNTER
 
15 - 08.08.21 - 15:15
(7) Как правильно подменять договор?
   GANR
 
16 - 08.08.21 - 15:19
(7) На самом деле замена ссылок и в договоре подменит ссылку на нового контрагента. Но побочка будет - это факт. Документы после проведения другие проводки могут дать, чем если бы был старый контрагент.
   Иванович Михаил
 
17 - 08.08.21 - 15:25
(15) Может не надо?
   d_monah
 
18 - 08.08.21 - 15:32
(13) Да ну нах((,я до конца не дочитал,вижу стаж 11 месяцев.Думаю под..ть чуток,для тонуса,а там интриги,тайны.Раньше то я не флудил)).Ладненько,ознакомимся с вопросом поплотнее.
   d_monah
 
19 - 08.08.21 - 15:35
(14) Таак,а ну подвиньсь,доктор тут буду я.По выходным.Больше времени нет.))
   d_monah
 
20 - 08.08.21 - 15:37
(15) У тебя печать хоть есть?
   hhhh
 
21 - 08.08.21 - 18:13
(15) а обмена с бухгалтерией нет? Если вдруг есть, то после этих пертрубаций в бузгалтерии наступит полный п.ц.
   DJ Anthon
 
22 - 08.08.21 - 18:44
третий акт марлезонского балета?
   DJ Anthon
 
23 - 08.08.21 - 18:45
когда у тебя наступит стадия принятия? тебе уже весь форум одно и то же говорит
   hhhh
 
24 - 08.08.21 - 19:32
(23) у него рабочий день с 4 часов утра.
   Злопчинский
 
25 - 08.08.21 - 20:11
(9) а при смене договора надо, возморжно, выполнить кучу пересчетов
   NIGHTHUNTER
 
26 - 09.08.21 - 03:23
(23) Я делаю свою обработку и продвигаюсь по решению.
Мне важно понимать как и что работает.
   rphosts
 
27 - 09.08.21 - 05:12
(0) C ИТС  "Поиск и замена"
   NIGHTHUNTER
 
28 - 09.08.21 - 05:25
(27) Я делаю под лист эксель более 50000 строк
   NIGHTHUNTER
 
29 - 09.08.21 - 05:25
(27) там наверное не разобраться в этой обработке ((((( Я сам начал делать и продолжаю.
   DJ Anthon
 
30 - 09.08.21 - 07:59
(29) ну, раз у тебя такой энтузиазм, то продолжай. как раз к новому году и справишься. все равно у тебя будет та же самая обработка, только кривая. не умеешь читать код, так учись, без этого ты дальше не продвинешься.
 
 
   Скользящий
 
31 - 09.08.21 - 08:02
Я смотрю, время летит, а дятлы с титановыми клювами не меняются.
   ДенисЧ
 
32 - 09.08.21 - 08:04
(31) Титан не ржавеет...
   rphosts
 
33 - 09.08.21 - 08:07
(29) Если тебе в этом не разобраться - свою никогда не напишешь...
PS Может тебе просто переименовать контрагента (изменить ему наимаеновнаие, инн, кпп, ...). Гусары, молчать!
   DJ Anthon
 
34 - 09.08.21 - 08:09
(33) не-не, пусть жуёт кактус
   вым
 
35 - 09.08.21 - 09:28
а перепечатывать первичку, подписывать и отправлять счет-фактуры и тд тоже автоматом? ну и вопросы законности оного решать
   hhhh
 
36 - 09.08.21 - 09:36
(35) дубли же.


Список тем форума
 
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.