Документообмен между двумя одинаковыми конфигурациями

27 Comments

  1. mnepox

    Переносит непроведенными ?

    Reply
  2. Ёпрст

    Улыбнуло …

    Родитель1=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель;

    Родитель2=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель;

    Родитель3=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель;

    Родитель4=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель.Родитель;

    Родитель5=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель;

    Родитель6=ВыбЭлемент.Родитель.Родитель.Родитель;

    Родитель7=ВыбЭлемент.Родитель.Родитель;

    Родитель8=ВыбЭлемент.Родитель

    Reply
  3. Душелов

    (2) Жестоко…

    Reply
  4. Арчибальд

    (2)Причем два раза подряд ;))

    Reply
  5. Tatitutu

    -кто у Вас семье самый старший ?

    — пра …пра…пра…пра…пра…дедушка !

    — Но этого не может быть !!!

    — мо..мо..мо..мо..мо…жет 🙂

    Reply
  6. mvv1969

    ….

    Родитель4=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель.Родитель;

    Родитель5=ВыбЭлемент.Родитель.Родитель.Родитель.Родитель;

    Родитель6=ВыбЭлемент.Родитель.Родитель.Родитель;

    Родитель7=ВыбЭлемент.Родитель.Родитель;

    Родитель8=ВыбЭлемент.Родите …….

    Почитайте «простые примеры». там тоже так предлагается получать полный код справочника.

    Reply
  7. Altair777

    (7)

    > Почитайте «простые примеры». там тоже так предлагается получать полный код справочника.

    А где почитать?

    А так не судьба?

    Родитель8=ВыбЭлемент.Родитель;

    Родитель7=Родитель8.Родитель;

    Родитель6=Родитель7.Родитель;

    Родитель5=Родитель6.Родитель;

    Родитель4=Родитель5.Родитель;

    Родитель3=Родитель4.Родитель;

    Родитель2=Родитель3.Родитель;

    Родитель1=Родитель2.Родитель;

    Reply
  8. Altair777

    (7) А при чем тут полный код?

    см. СП

    Синтаксис:

    ПолныйКод()

    Назначение:

    Возвращает строку, содержащую полный код выбранного элемента справочника со всеми вышестоящими уровнями, разделенными символом /.

    Reply
  9. mvv1969

    (8) так лучше

    (9) через такую «лесенку» рекомендуется получать полный код запросом.

    Reply
  10. Altair777

    (10)

    > (8) так лучше

    Чем лучше?

    > (9) через такую «лесенку» рекомендуется получать полный код запросом.

    А запрос здесь при чем? И «Лесенка» 🙂

    Reply
  11. mvv1969

    (11) Лучше тем, что точек меньше. А чем больше точек, тем больше итераций. 8-ка умеет кешировать объекты и то будет дольше выкручивать владельцев с одного и того же элемента. в 7-ке было бы хуже.

    Reply
  12. venger

    Ух вы тут жжете с лесенками, аж страшно, брр, убегаю лучше опять в Life:-)

    Reply
  13. Altair777

    (12)

    В (2)

    Родитель1 — 8 точек

    Родитель2 — 7 точек

    Родитель3 — 6 точек

    Родитель4 — 5 точек

    Родитель5 — 4 точки

    Родитель6 — 3 точки

    Родитель7 — 2 точки

    Родитель8 — 1 точка

    Итого: 36 точек

    В (8) 8 точек

    П.С. Мне просто показалось, что Вы сказали что в (2) лучше 🙂

    Reply
  14. venger

    (14) А че цикл или рекурсию не судьба?

    Reply
  15. Altair777

    (15) Если задача стоит в том, что бы найти самого первого предка, то можно и функцию написать — ОсновательДинастии() 🙂 с циклом

    Reply
  16. alexandr_astafiev

    В ссылке сидят две обработки для универсального переноса документов и справочников между двумя одинаковыми конфигурациями. Обработкам «сто лет в обед» т.к когда то они шли на дисках 1С ИТС все работает через текстовый файл единственное что модернезировали в свое время добавили использование компоненты v7plus чтоб шустрее работало когда большие файлы получаются. Пользуйся народ. Удачи !!!

    http://narod.ru/disk/5618530000/УниверсальнаяЗагрузкаВыгрузкаДля1С77%20(copy%202).rar.html

    Reply
  17. venger

    Типа так:

    сп=СоздатьОбъект(«СписокЗначений»);

    сп.ДобавитьЗначение(спр.ТекущийЭлемент().Родитель);

    Для сч=1 По 7 Цикл

    ТекЗнач=сп.ПолучитьЗначение(сч).Родитель;

    Если ПустоеЗначение(ТекЗнач)=1 Тогда

    Если ПустоеЗначение(сп.ПолучитьЗначение(1))=1 Тогда

    сп.УдалитьВсе();

    КонецЕсли;

    Прервать;

    КонецЕсли;

    сп.ДобавитьЗначение(ТекЗнач);

    КонецЦикла;

    Reply
  18. venger

    (18) Это так, самый примитивный, родителей то не всегда 8-м у каждого элемента справочника или что там… Это для семерки:-)

    Reply
  19. Altair777

    (19) А так?

    Функция Родители(Элем)

    Перем сп, Род;

    сп=СоздатьОбъект(«СписокЗначений»);

    Род=Элем.Родитель;

    Пока ПустоеЗначение(Род)=0 Цикл

    сп.ДобавитьЗначение(Род);

    Род=Элем.Родитель;

    КонецЦикла;

    Возврат сп;

    КонецФункции

    Reply
  20. Altair777

    +(20) ой.. описка

    Функция Родители(Элем)

    Перем сп, Род;

    сп=СоздатьОбъект(«СписокЗначений»);

    Род=Элем.Родитель;

    Пока ПустоеЗначение(Род)=0 Цикл

    сп.ДобавитьЗначение(Род)

    Reply
  21. venger

    (21) :-)))

    Процедура УсеРодители(элем, сп)

    Если ПустоеЗначение(элем.Родитель)=1 Тогда

    Возврат;

    Иначе

    сп.ДобавитьЗначение(элем.Родитель);

    УсеРодители(элем.Родитель,сп);

    КонецЕсли;

    КонецПроцедуры

    Reply
  22. Altair777

    Рекурсия ресурсы кушает… стеки вызовов там всякие…. ?-)

    Reply
  23. venger

    (23) Счас замерю:-) Но в любом случае, обожаю краткость кода:-) Хотя, это ж 1С, а не программирование:-)

    Reply
  24. Altair777

    (24) И график, пожалуйста… типа как про пиратов 🙂

    Reply
  25. venger

    (25) Точно, чем меньше строк кода, тем больше ресурсов он жрет:-))) Вывод — пишите как можно больше кода:-)))

    Reply
  26. Altair777
  27. venger

    (27) Родилась шутка:-) Рекурсия, она как женщина, — затратна, но как красива, чертовка:-)))

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *