В обработке есть удобный обзор по подсистемам, поиск и обработка данных по заданному фильтру. Сравнение объектов, поиск ссылок.
Конструктор кода по созданию объектов, написание скриптов и отладка мини-функций в УФ.
Отключение/включение регламентных заданий. Регистрация/снятие с регистрации объектов в планах обмена. И многое другое.
Инструменты администратора в одной обработке.
Предлагаю вашему вниманию, на правах разработчика, обработку Перенос объектов (версия 3.19).
Перечень основных возможностей:
— Предварительный наглядный анализ данных перед непосредственной загрузкой в базу приемник;
— Настройка правил перед выгрузкой;
— Настройка правил перед загрузкой;
— Обмен данными через интернет (с использованием сжатия zip);
— В самой обработке есть удобный обзор и обработка данных на уровне конфигуратора;
— Во всех версиях обработки используется одинаковый модуль объекта;
— Запуск обработки из другой с заданными параметрами для автоматической выгрузки или загрузки;
— Обработка при записи объектов использует по умолчанию признак ОбменДанными.Загрузка=Истина;
— Есть возможность сравнить обороты по счетам между разными базами, что упрощает контроль переноса документов;
— Можно сравнить количество объектов в базе, что упрощает контроль переноса объектов;
— Использование только cервера для файлов (файлы выгрузки и загрузки будут находится на стороне сервера) для версии УФ;
— Можно использовать уникальный идентификатор при переносе данных;
— Фильтр по подсистемам в обзоре конфигурации и при выгрузке объектов;
— В правилах выгрузки можно добавить любой произвольный запрос;
— Выгружать зависимые сведения при выгрузке справочников (например Контрагенты и их контактная информация);
— Создание объектов из текста на основании строк вида Код=Наименование;
— Упорядочить кода заданного справочника с предварительным анализом;
— Печать активной таблицы в режиме управляемых форм;
— Конструктор кода по созданию выбранного объекта;
— Сохранить любое ХранилищеЗначения (ДвоичныеДанные) в файл;
— Проверка использования реквизитов в базе;
— Запуск любого приложения после окончания операции по загрузке или выгрузке данных;
— Поиск ссылок на выбранный объект с указанием имени реквизита, где объект используется;
— Перенос файлов через текст без использования файлов;
— Выгрузка отмеченных объектов в обзоре данных сразу в текст;
— Проверка пустых субконто в движениях;
— Сравнить детально отмеченные объекты;
— Иерархическая печать элементов справочников;
— Не выгружать все реквизиты шапки и табличной части;
— Выгрузка объектов на основе данных журнала регистрации;
— Показать все варианты значения реквизита;
— Групповая замена номеров документов;
— Групповая замена кодов справочника;
— Табло, скрипты и отладка функций в УФ;
— Включение/отключение регламентного задания одним кликом мыши;
— Регистрация отмеченных объектов в планах обмена;
— Многофункциональный поиск по структуре метаданных и полнотекстовый поиск;
— Пометить на удаление отмеченные при отсутствие ссылок на объект;
— Выгрузка структуры метаданных конфигурации опционально.
Обработка "ПереносОбъектов" больше всего подходит для точечного переноса объектов между базами данных 1С 8.
Например, необходимо перенести несколько документов за один день. Отмечаем в выгрузке период и необходимый вид документов,
и обработка сама подтянет все остальные объекты на которые есть ссылки по цепочке, пока не доберется до примитивных типов (строка, число, дата).
Перед использованием пререноса данных рекомендуется запустить отчет в самой обработке "Обзор-Отчеты-Проверка уникальности объектов для переноса", который проверит на дубликат код и наименование в справочниках, т.к. для переноса объектов без уникального идентификатора это важно. Там же есть и возможность исправить задвоения. Если при переносе используется уникальный идентификатор, то в запуске отчета на уникальность нет необходимости.
Выкладываю два варианта обработки:
MovingObjects-mf.epf — для 1С 8.3 (Управляемые формы и обычные формы, и для регламентных заданий)
MovingObjects-8.1.epf — для 1С 8.1, 8.2, 8.3 (обычные формы, с функцией Состояние, не будет работать на сервере)
Если Вы считаете, что обработка чего-то стоит, или хотите поддержать ее дальнейшее развитие, то Вы можете перечислить любую сумму автору обработки минуя посредников. Номер интернет-кошелька Яндекс-Деньги — 4100170082825
Видео-инструкции
Надеюсь, обработка поможет программистам 1С в наших рутинных делах. 🙂
+
возможно есть и другое что (даже видел тут платную правда похожую на типовую выгрузку xml)
но …
для меня реально что-то похожего не хватало от 1с (обычной выгрузки — загрузки, без возможности особых «извращений»)
Присоединюсь — обработка дельная, перенос номенклатуры из БП 2.0 в БП 3.0 вместе с ценами сделала.
При выгрузке и загрузке выдало сообщение:
Внимание! У элемента справочника пустой код и пустое наименование! Вид = НомераГТД
Можно добавить информационности
(3) Константин С., из сообщения вроде понятно, что элемент справочника НомераГТД не имеет ни кода ни наименования.
здесь два варианта:
1. найти этот элемент в базе источнике(или в базе получателе) и установить любой код или наименование и заново выгрузить. (это можно сделать как раз на закладке обзор через фильтр и обработку)
2. Вариант когда в конфигурации стоит длина кода=0 и длина наименования=0, — это вообще плохо, когда в информационной базе есть такие справочники. Здесь либо использовать УникальныйИдентификатор, либо обработка будет постоянно делать новый элемент при загрузке данных и возможно будет постоянно показывать разницу при анализе данных.
Cпасибо за ответ, я вообшем разобрался как решить. Хотель обратить внимание на информационность
А еще прогресс загрузки выгрузки в УФ.
(5) Константин С., с прогрессом загрузки/выгрузки в УФ — это я еще не разобрался с УФ. Эта обработка — мое первое знакомство с УФ 🙂
если есть какие ссылки на пример прогресса — буду признателен.
быстрый поиск по сайту))
http://infostart.ru/public/274721/
http://infostart.ru/public/326393/
http://infostart.ru/public/159607/
Хммм… Интересно, а если я пытаюсь, реализовать, например, такое: Несколько баз, абсолютно разные конфигурации, даже имена реквизитов и реквизитов ТЧ не совпадают. В каждой базе открывается обработка, ей выбираются несколько реализаций и выгружаются в XML-файл. Потом в основной базе я загружаю эти файлы и у меня создаются нормальные реализации. Эта обработка умеет делать похожее нечеткое чтение? Мне текущий вариант с перебором возможных наименований реквизитов не нравится, как раз думал как бы лучше сделать…
(8) necropunk, Пример, который вы описали — у меня есть что-то похожее у клиента. Обработка дорабатывается на стороне источников (код обработки открыт), можно сделать любые преобразования из базы источника. Даже можно создать виртуальные документы получателя на основании каких-то данных в источнике. На стороне получателей все загружается с удобным предварительным сравнением в ручную (либо в автоматическом режиме после внедрения).
Если интересно сотрудничество, то пишите в личку…
(9) спасибо. Скачал обработку, посмотрел. Порадовали примеры использования в макетах, будет время — внимательнее посмотрю.
Интересно.Плюс.
Спасибо, тоже проверю, давно ждали.
Добрый день! Попыталась скачать варианты для 8.3 (я купила абонемент, он действителен по кр. мере до конца апреля, оставалось 8 $m). Появилось сообщение «Загрузка файла началась», но этим сообщением всё и ограничилось, файл не скачался, хотя 2 $m с меня снялись. Прошу помощи!!! Ирина
Кстати, перед этой неудачной попыткой вполне удачно скачала «ВыгрузкаЗагрузкаJSON82_1.2.1»
Что бы это значило — при выгрузке:
«Внимание! есть необработанные данные типов —
Тип,Массив,Фиксированное соответствие,Фиксированная
структура,Фиксированный массив,Дерево значений,Табличный
документ,Двоичные данные»
Конфигурация БП3.0+ТСЖ
При загрузке «Ключ не найден»
При анализе (перед выгрузкой) выгрузке одного документа «ОперацияБух» (БП 3.0.39.60)
выдает ошибку
Ошибка инициализации модуля: Документ.УдалитьПередачаСЗВ4вПФР.МодульМенеджера
по причине:
{Документ.УдалитьПередачаСЗВ4вПФР.МодульМенеджера(62,60)}: Переменная не определена (ОбщегоНазначенияЗК)
СтрокаОписания.Представление = ПустойРаздел25РасчетаРСВ1(<<?>>ОбщегоНазначенияЗК.ПолучитьЗначениеРеквизита(Ссылка,»Организация»), ДатаПодписи, НумероватьСтраницы, НомерПервойСтраницы);
и тд.
Вот еще одна ошибка на БП 3.0.39.60
Ошибка инициализации модуля: РегистрНакопления.УдалитьНДФЛПредоставленныеСтандартныеВычетыФизЛиц.МодульНабораЗаписей
по причине:
{РегистрНакопления.УдалитьНДФЛПредоставленныеСтандартныеВычетыФизЛиц.МодульНабораЗаписей(8,2)}: Переменная не определена (СправкиПоНДФЛ)
<<?>>СправкиПоНДФЛ.ОчиститьКодыОКТМО(ЭтотОбъект);
Это на пять )))
1С из кожи лезет, чтобы протолкнуть обмены через файлы и прочие XML, а тут — ей такая подножка )))
(16) steelsi, (17) steelsi, Проверено на БП 3.0.39.59 — ошибок не возникает…
Да и по ошибке видно, что она к обработке не относится.
(15) pvb2003, Обработки доработаны, Теперь можно переносить Тип,Массив,Фиксированное соответствие,Фиксированная
структура,Фиксированный массив,Дерево значений,Табличный документ,Двоичные данные
(18) AlexO, я вот не понял, чем автору не угодил xml. Позабавила логика: «не xml, а значит, избежим зависаний». И это при том, что работа с xml — один из самых быстрых способов и экономичных (ну, не считая json).
Кстати, автор, а на каком принципе обмен реализован? Свой формат придумали?
Добрый день!
При Выгрузке счета-фактуры (полученный и выданный) из УТ 10.3 Базовой пишет:
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(2391)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если (ЗначениеЗаполнено(Объект1С)) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
Что я делаю не так? Помогите, пожалуйста
(21) Yashazz, Проверил на тестах, да, согласен — XML сейчас в 8-ке быстрее благодаря встроенным функциям ПрочитатьXML(), ЗаписатьXML().
Тесты показали результаты на больших объемах около 100 000 объектов:
Выгрузка/Загрузка в XML быстрее ровно в 3 раза чем Перенос объектов.
Утверждение про зависание убрал из описания. Вообще обработка появилась на заре перехода с 7-ки на 8-ку, и там все было хуже XML.
Но у Переноса объектов:
1. Еще есть потенциал для ускорения выгрузки и загрузки объектов (жаль что пока в 1C нет что-то типа «Новый ЧтениеДвоичныхДанных()», но думаю это решаемо);
2. Не нужны дополнительные конфигурации для настройки правил обмена;
3. Файлы получаются гораздо компактнее (1.8 Мб в SFO против 35 Мб в XML);
4. файл SFO на выходе нормализован уже сам по себе (как пример — если в базе допущена орфографическая ошибка в строке, то она легко исправляется только в одном месте в файле в списке уникальных строк, при загрузке она исчезает).
5. При загрузке предварительно анализируя данные пользователь видит что он загружает, как загружает, то есть он может «почувствовать» данные (а это лучше, чем черный ящик «выгрузил/загрузил», а потом думай что именно загрузилось).
(21) Yashazz, формат файла SFO прост и не так избыточен как XML:
Файл SFO напоминает ini файл и состоит в основном из четырех разделов. В наименование каждого раздела добавляется количество строк в разделе.
[SFO] — в данном разделе находится информация о времени выгрузки, базе данных и т.д. В данный раздел можно добавлять любую необходимую информацию;
[Строки] — список уникальных строк, чисел, дат;
[Объекты] — список объектов в виде строк вида «ИмяСвойства1=Значение1,ИмяСвойства2=Значение2…»;
Если Значение представляет собой примитивный тип (строка, число, дата), то оно равно номеру строки из раздела «[Строки]»
Если Значение является ссылкой на другой объект, то оно равно номеру строки из раздела «[Объекты]» со знаком минус;
[Иерархия] — Иерархия объектов, необходима для загрузки, чтобы понять какие объекты надо создавать в базе раньше, а какие позже. Данный раздел выгружается только при необходимости, когда есть сложные зависимости объектов.
(22) DimaBab, исправлено в последней версии обработке.
(24) ну, не знаю… Использовать формат, с которым не умеет работать платформа и который не читается большинством других обработок, общепринятых в среде 1С-ников, это, на мой взгляд, тупиковый путь. Впрочем, главное, чтобы работало)
(23)
Это все тоже построчное чтение текстового файла, в 1С-XML только читается «несколько строк» как «один объект». В XML «проще» чем в «обычном» тексте переносить иерархию и связанные объекты.
с JSON все тоже самое, только формат XML другой.
DOM вроде как читает «из памяти», но в память-то мы читаем и помещаем все тот же текстовый файл все теми же технологиями чтения текстовых файлов от 1С.
Все продолжают обманывать сами себя — придумывают себе использование «новых» форматов «а вот я в CSV… а я в XML… а я в SFO…»
А все одно — использование чтения из текстового файла, с которым у 1с всегда и везде были проблемы.
Т.е. кардинально никакого прироста нет.
(23)
И каковы цифры? И если у вас чтение одного текста в три раза быстрее чтения того же самого текста — то большие вопросы в оптимизации самой вашей постобработки: у вас большие тормоза при обработке данных, не считая тормозов при чтении текста.
В 1С нет никаких «супер таинственных технологий» чтения XML: все также «построчно», все также «последовательно».
(26) Yashazz, «тупиковый путь» — это всегда следовать за кем-то, как в игрушке про леммингов 🙂
А если серьезно, то обработка используется как законченный продукт, ей не нужны другие «обработки общепринятые в среде 1С-ников».
Задача обработки — перенести(или просто сравнить) Х объектов из базы А в базу Б, и обработка делает это просто и без сложных настроек.
(28) [quote]»тупиковый путь» — это всегда следовать за кем-то, как в игрушке про леммингов[/quote]
moolex, на мой сугубо личный взгляд, вы несёте полный бред, с любой из точек зрения — что технической, что экономической, что маркетинговой. Жалкое существование «особенных» продуктов, пошедших «своим путём», когда кругом рулят мейнстрим и стандарт, тому доказательство. Впрочем, если найти «своего» клиента, сесть ему на шею и уютно сидеть лет 10, то поддерживайте любой формат, какой хотите, но не удивляйтесь, что большой прогресс пройдёт мимо, и вы с вашей поделкой никому не будете нужны. Но это оффтоп.
(29) Yashazz, «с любой из точек зрения — что технической, что экономической» — вот как раз клиенту совершенно без разницы как программист переносит данных, главное для него конечная сумма в счете за проделанную работу, а сумма в счете всегда зависит от времени работы программиста.
И я не имею ничего против типового переноса через XML. Каждое решение надо использовать для своих целей и в зависимости от конкретной ситуации.
При выгрузке из БП 3.0.40.31 (обработка MovingObjects-mf.epf) возникает ошибка:
«Каталог не обнаружен »D:БухгалтерияБП_01-01-2015-01-02-20151.xml»
В поле выгрузки выбранный путь и имя файла меняются на ‘C:Tempv8_6ceb_4c’. (вместо »D:БухгалтерияБП_01-01-2015-01-02-2015.sfo»)
Файл на выходе создается, но проверить его формат и состав выгруженных данных весьма затруднительно.
Не совсем понятно, с чем связана данная ошибка. Пробовал на другой версии конфигурации 3.0.39 и версии Предприятия пониже, на другом компе, дабы исключить локальные факторы — ошибка везде повторяется!
(31) ferrari2000, в поле Файл на закладке выгрузка введите «C:1.sfo» и попробуйте выгрузить. Если выгрузка пройдет, значит вы не правильно указали путь до этого…
К сожалению (в поле Файл на закладке выгрузка введите «C:1.sfo») получаю по окончании выгрузки аналогичное сообщение «Каталог не обнаружен ‘C:11.mxl’, а в строке выгрузки введенное значение файла для выгрузки меняется на «C:Tempv8_678d_49». Как я уже писал, выходной файл действительно создается! Но проверить корректность его формата и содержащихся в нем данных весьма сложно, учитывая ошибку в процессе формирования. Больше похоже на ошибку в обработке, которая создает в папке Temp несколько каталогов (в моем случае, v8_678d_25 с файлами *.mxl и *.dat и v8_678d_49 с файлами *.mxl), данные из которых затем должны форматироваться и записываться в выходной sfo-файл.
Проблема возникает только в обработке MovingObjects-mf.epf и вызывает ее конкретный тип документа, пока не могу сказать какой — пробовать по каждому довольно хлопотно, исключаю группами.
(33) ferrari2000, Ошибка исправлена.
Текущая версия обработки — 2.54
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(1170)}: Ошибка при установке значения атрибута контекста (Родитель)
НовыйОбъект.Родитель = ТЗОбъекты.Получить(-Число(ИдРодителя)-1).Объект1С;
по причине:
Справочник не многоуровневый
Скачал, обработку она не работает.
Решите проблемму.
(34)
А вы сами обработки на страничке не обновляете?
(35) Информаудитсервис, Исправлено, текущая версия обработок 2.55.
И не забудьте перед загрузкой поставить флаг «Конфигурации различны», т.к. по ошибке видно что конфигурация источник не равна приемнику
Проверка мутабельных значений не поддерживается. Что делать с такой проблемой?
(38) alis-finance, а можно номер строки модуля, где выдается такая ошибка?
(38) alis-finance, Исправлено, текущая версия обработок 2.56
Это ж надо как Бывает, чую скоро когда у основной массы кодеров дойдут руки до Графита, еще не то появится…..и Это Хорошо )
Возник вопрос по обработке. Подскажите как быть.
Необходимо из одной базы выгрузить данные в другую базу. (объединить две базы).
По справочникам идет сопоставление по коду. В обоих базах в некоторых справочниках коды повторяются. Где-то это хорошо (валюты к примеру), а где-то — нет (Номенклатура).
Как быть?
Из пожеланий:
1. сохранять настройку выбранных объектов в дереве метаданных в файл.
2. Возможность задавать для каждого объекта те реквизиты, по которым будет происходить синхронизация.
Первый раз данные в новую базу были выгружены — оказалось что не перегружена учетная политика. После добавления ее в выгрузку, при попытке загрузить заново весь объем данных (с документами), вылезла ошибка:
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(4652)}: Поле объекта не обнаружено (Вид)
Вид = ВернутьСтроку(СТЗ2.Вид);
(42) y-ha, по ошибке, попробуйте удалить эту строку из обработки
4652 — Вид = ВернутьСтроку(СТЗ2.Вид) — она там явно лишняя
если ошибка уйдет перевыложу новые версии…
пожелания учту…
«В обоих базах в некоторых справочниках коды повторяются.» — самый простой способ — для тех спр. в которых нельзя совмещать объекты по коду — упорядочить кода и в первой и во второй базе со смещением (например в первой базе с 1 начать, а во второй с 10000).
(43)
По поводу ошибки — будет время, протестирую. Но в принципе основная задача была достигнута — данные были перенесены. Пользователи сейчас тестируют.
По поводу изменения кода — с документами так и было сделано — в организации добавлен префикс и все документы переименованы с учетом префикса.
Со справочниками решение было более красивое — из выгружаемых данных код был удален (через настройки выгрузки). А при загрузке установлен флаг — сверять только по реквизитам, имеющимся в выгрузке. Мне кажется решение боле красивое — у загруженных элементов код был назначен новый.
Обработка помогла, т.к. наглядно показывает какие данные были найдены в базе загрузки, а какие нет. Хорошо что данных было не так много.
Из пожеланий — было бы здорово иметь флаг обновлять данные или нет. В идеале, даже не для всех данных/справочника, а для конкретного элемента. т.е. если справочник в базе приемнике боле новый чем в базе источнике, то обновления не происходит. Вроде сейчас всегда идет обновление данных, так?
Было бы полезно добавить в описание по каким реквизитам идет сравнение данных. Тем более есть несколько настроек, влияющих на этот алгоритм.
(44) y-ha, «было бы здорово иметь флаг обновлять данные или нет…» — не понятно это пожелание,
что значит: «если справочник в базе приемнике боле новый » ?
(45)
Идет выгрузка данных из одной базы (источник, допустим некая древняя резервная копия) в другую базу (приемник — рабочая база).
Понятно что со временем некоторые реквизиты элементов справочников могли обновиться в рабочей базе. (допустим у контрагента поменялся КПП).
При загрузке данных из базы-источника в базу-приемник происходит поиск одинаковых элементов справочника и, насколько понятно из видео, их обновление загружаемыми данными. Такое обновление не всегда нужно и хочется инструмент для управления таким обновлением — решать надо обновлять данные или нет.
Аналог в конвертации данных — там есть флаг «Не замещать существующие объекты …» — хочется аналог такого флага либо для вида справочника/документа в целом, либо для каждого элемента справочника/документа/….
(46) y-ha, Обработка перенос объектов была спроектирована таким образом, что все настраивается в выгрузке (в правилах выгрузки или прямо в коде обработки).
Это было обусловлено тем, что на этапе загрузки был человек, который выполнял роль проверки и мало смыслил в программировании (и не особо хотел что то там настраивать).
Т.е. инструмент для управления есть, просто он находится на этапе выгрузке. Так в большинстве случаев проще контролировать обмен данными…
Выгружаем немного — анализируем перед загрузкой — не правильно — корректируем выгрузку — и по кругу…
Но конечно Ваши пожелания я учту и запишу в план реализации доработок к Переносу объектов.
Концепция понятна. Тогда задам вопрос в рамках этой концепции.
Как на этапе выгрузки указать обработке чтобы она не замещала данные по одному конкретному элементу справочника (в общем случае нескольким, или даже всем)?
(48) y-ha, изменить код элемента в базе источнике на другой, которого нет в базе получателе.
либо перед загрузкой изменить код в базе получателе. вариантов много.
или , если вопрос в том, чтобы объект определялся, но не перетирались остальные реквизиты объекта, тогда надо просто отключить через правила выгрузки все ненужные реквизиты.
(49)
Да, но при изменении кода будут дубли, так что не вариант.
Если отключу элементы — то, допустим, одинаковый вроде как справочник склад не подтянется в документах.
Ну в общем, понятно. что есть — то есть. Еще раз спасибо, обработка помогла.
(50) y-ha, Если надо, чтобы в документах подтянулся склад ( и он есть в приемнике с тем же кодом, но не хотелось бы перезаписывать его реквизиты), то надо надо выгружать все как есть только в правила выгрузки добавить что-то типа:
[ИсключаемыеСвойства]
Справочник.МестаХранения.РеквизитХ
и .т.д.
можно и наименование исключить
По просьбам пользователей добавлена возможность задать правила перед анализом и загрузкой данных.
Вопрос от ЧАЙНИКА. (бухгалтера, не программиста)
Как подключить вашу обработку в 1С Бухгалтерию 8.3, если можно по шагам, с момента запуска 1С Бухгалтерии.
(53) ric394, обработку можно открыть через меню «Файл-Открыть» (или просто в любом месте нажмите «Ctrl+ O»), если данного пункта нет, то у вас нет прав на открытие внешних обработок, тогда нужен знаток 1С 🙂
Спасибо за ответ.
Открыл, но выходит ошибка. Права полные. Скрин прилагаю
Релиз.
(54)
При открытии файла в 1С Бухгалтерии 8.2 MovingObjects.epf выходит ошибка: Поле объекта не обнаружено (НеИспользоватьЭРДВПериодике)
При открытии файла MovingObjects-mf.epf вообще не каких изменений не происходит.
Может что-то не так делаю?
Может нужно открывать файл в конфигураторе?
(57) ric394, поправил, теперь должно все работать
(58)
Да, работает. Спасибо!
Я правильно понимаю, что это чудо-обработка позволяет переносить данные между разными конфигурациями?
(60) xten, конечно, тока для различных конфигураций необходимо настроить правила либо на этапе выгрузки, либо на этапе загрузки.
Прекрасная обработка, спасибо! Как бы приобрести обработку минуя подписку.
Надеюсь хорошая обработка, сейчас скачаю 🙂
Автор, скажите пожалуйста, эта обработка позволяет переносить данные справочников типа Хранилище значений? Если да, то как будет осуществляться сравнение уже имеющихся объектов в базе-приемнике — по коду, наименованию или гуиду? На скриншотах это не ясно.
(64) WildFire, ХранилищеЗначения переносится.
Само по себе ХранилищеЗначения не имеет данных.Используется метод ХранилищеЗначения.Получить() и его уже переносит обработка и синхронизирует.
Т.е. если в хранилище была коллекция (таблица,дерево,список), то она будет перенесена как отдельный объект коллекция.
Если был двоичный файл, то он перенесется как отдельный внешний файл.
Скачал для УФ, запустил в демобухии, жмакнул на ПоказатьТаблицуПравилВыгрузки — пишет
{Форма.УправляемаяФорма.Форма(2566)}: Поле объекта не обнаружено (ПереносОбъектов)
Макет = Обработки.ПереносОбъектов.ПолучитьМакет(«МакетПоказать»);
Её обязательно встраивать?
(66) Lancelot-2M, Нет, встраивать не обязательно, ошибку уберу в след. версии.
надо заменить:
Макет = Обработки.ПереносОбъектов.ПолучитьМакет(«МакетПоказать»);
на
Обработка = РеквизитФормыВЗначение(«Объект»);
Макет = Обработка.ПолучитьМакет(«МакетПоказать»);
Скажите пожалуйста, как в этой обработке убрать перенос любых связанных документов? Например, выгружаем 1 элемент справочника «Сотрудники», а он тянет за собой несколько сотен документов. Вставлял их в правила загрузки, вот так:
[ИсключаемыеОбъекты]
Документ.Прием
Документ.НачПоСреднему
Документ.Увольнение
не помогает, переносятся все равно. Как быть?
Прошу пардону, поправка: вставлял в правила выгрузки.
(65) да, но в этом хранилище как раз расположены объекты — элементы справочников и документов. Вот эти самые объекты как переносятся, по наименованию, коду или гуиду?
(69) WildFire,
Надо в [ИсключаемыеСвойства] писать и не сами документы, а свойства Спр.Сотрудники в которых есть эти документы
например
[ИсключаемыеСвойства]
Справочник.Сотрудники.ДокументПриемаНаРаботу
(70) WildFire, по наименованию, коду или гуиду?
как настроить правила выгрузки так и будут.
по гуиду — надо добавить флаг «Выгружать уникальный идентификатор»
по коду — по ум. должно быть
по наименованию, а код не нужен — надо добавить в
[ИсключаемыеСвойства]
Справочник.Х.Код
Спасибо за ответ!
А можно исключить при выгрузке полностью содержимое табличной части одним махом? Например, в справочнике есть табчасть «ТрудовойСтаж», но если проставить в исключаемых свойствах строку «Справочник.Сотрудники.ТрудовойСтаж», то это ни к чему не приводит, приходится перечислять каждый реквизит табчасти отдельно, например Справочник.Сотрудники.ТрудовойСтаж.КадровыйДокумент.
(73) WildFire, учту в новой версии
Можно еще вопрос? Смотря на настройки загрузки, не совсем понял, можно ли указать для какого-либо элемента справочника жестко заданные условия, например родителя? Сейчас при загрузке полностью копируется родитель из выгрузки, точнее дублируется, т.к. родитель с таким наименованием уже есть.
(75) WildFire, пока такое нельзя указать, проще в коде в лоб прописать (тем более это надо прописать только в одном месте):
переделать код в строке «ОбъектДляЗаписи.Родитель = ТЗОбъекты.Получить(-Ид-1).Объект1С;»
(76) странно, эта строчка находится в функции ЗагрузитьСвойстваОбъекта, а отладчик ее не ловит — она походу не вызывается 🙁
Также заметил, что есть функция ИзменитьКодДругогоОбъектаПриСовпаденииКода(), но тоже походу не работает. При переносе элементов справочника, в случае есть такой код уже есть, то все имеющиеся данные в базе-приемнике затираются на данные выгрузки.
Подскажите пож-та , а можно с помощью этой обработки перенести ФизЛица из ЗУП 2.5 в ЗБУ 3.0 ? Думаю сотрудников точно не перенесем , хотя бы Физ Лица ? И какой вариант обработки мне нужен в этом случае — для 8.2 и 8.3 или обе ? И если можно схематично мои действия для непрограммиста ?
Подскажите как сделать, чтоб не замещать найденные по УИДу объекты, может в правилах как то обозначить? Например перегружаю справочник, а у элемента изменено наименование или код, как сделать так чтоб объект не пере затерся?
(79) IDija, Попробуйте добавить в правила выгрузки добавить:
[ИсключаемыеСвойства]
Справочник.Х.УникальныйИдентификатор
— для справочника Х будет синхронизация по коду или по наименованию (если нет кода)
и — если надо сделать сравнение по специальному реквизиту, то в правила загрузки надо добавить:
[НайтиПоРеквизиту]
Справочник.Х.ИмяРеквизита
Огромное спасибо автору за отлично работающую обработку.
Помогла перенести кучу различных документов из базы 1с 8.1 в 8.3 с различными конфигурациями.
Пробовал и типовыми обработками обмена xml и другими, куча ошибок в загрузке.
Ваша обработка сработала без проблем, загрузила многие тысячи документов. Причем конфигурации документов отличались. Несильно, но существенно.
А писать правила обмена под каждую конфигурацию, коих несколько — с ума сойти можно, как долго, Заказчик не оценит.
Ваша обработка спасла мне жизнь. Спасибо!
(81) pvlunegov, Спасибо большое за отзыв…
Скоро выйдет новая версия.
Просьба сообщить про разного рода косяки, чтобы их поправить в новой версии.
Moolex, подскажи с платформы 8.2 ЗУП 2.5 на 8.3 ЗУП 3.0 перенести объекты можно?
(83) Yran, можно, только надо настраивать правила.
Обращаю Ваше внимание, что обработка не требует никаких настроек правил при обмене между идентичными конфигурациями.
Есть справочник статей ДДС в двух базах. Основная часть элементов совпадает по наименованию. Но различаются коды и структура групп и подчиненности. Нужно перенести структуру и коды из базы 1 в 2. Чтобы сопоставление происходило по наименованию, а коды заменились из базы источника.
При выгрузке УИД не выгружаю. При загрузке включаю обе галки на стр. Правила загрузки и в правилах пишу [НайтиПоРеквизиту]/Справочник.СтатьиДвиженияДенежныхСредств.Наименование.
После загрузки все элементы задваиваются, сопоставление по наименованию не происходит. Что в настройке не так?
Во время выгрузки справочников с количеством записей больше 1000 (найдено условие методом исключения) — программа закрывается.
1С 8.3.4 (управл формы) УТ 3.0 для Украины.
Все остальные позиции выгружаются с сообщением:
«Внимание! есть необработанные данные типов — Настройки компоновки данных,Поле компоновки данных,Пользовательские настройки компоновки данных,Схема компоновки данных».
Подскажите пожалуйста, каким способом можно понять причину вылета обработки?
(87) Sl@v@, Проблема вылета вероятно в большом объеме данных типа ХранилищеЗначения или похожих типов.
Самой простой способ исправить проблему — методом исключения, используйте при выгрузке правила для реквизитов с типом ХранилищеЗначения:
[ИсключаемыеСвойства]
Справочник.<ИмяСпр>.<ИмяРеквизита>
Тоже самое и для необработанных типов, скорее всего эти данные (пользовательские настройки) и не нужны в базе получателе.
Если они все-таки необходимы, то надо дописывать перенос таких типов данных.
Все стандартные типы данных переносятся, и большом количестве, проверено на рабочих базах.
moolex, доброго Вам времени суток!
Очень заинтересовали обработки по выгрузке — загрузке.
1) Возможен ли односторонний обмен из УТ 10.3 в БП 3.0?
Конфигурации не типовые. Каким образом настраивается сопоставление с объектами, которые уже были перенесены?
Может имеется какая-то инструкция по настройке правил для разных конфигураций?
2) Как могут помочь данные обработки при переходе с 1.6 на 3.0(остатки перенести, какие-то справочники и пр.)?
Заранее спасибо.
(89) MyPuK_OLD, все можно перенести, я всегда делаю так:
1. начинаю с какого то одного вида документов и беру небольшой период.
выгружаю , в базе получателе делаю только анализ и смотрю различия, уменьшаю различия тем что в базе источнике в правилах обмена исключаю или перенаправляю имена свойств. В обработке есть пример правил. После нескольких итераций получается что все заполненные реквизиты встают на свои места.
2. можно перенести остатки — для этого в обработке есть пример процедуры (см. Макет-ПримерВыгрузкиОстатковУТвКА_ОдинСклад), на основе данного примера можно сделать свою выгрузку необходимых остатков. Но здесь конечно нужны навыки программиста 1С, просто флажками такие переносы не сделать…
3. Сопоставление объектов происходит по умоланию по коду (или наименованию при отсутствии кода) , по номеру и дате документа. Так же в настройках загрузки можно указать конкретный реквизит для сопоставления:
[НайтиПоРеквизиту]
Справочник.Номенклатура.Артикул
еще возможно указать при выгрузке «Выгружать уникальный идентификатор объектов», тогда сопоставление при загрузке будет происходить по нему. Но это больше подходит для копий баз, когда надо догрузить данные из одной копии базы в другую.
(89) MyPuK_OLD, забыл написать:
при включенном флаге «Выгружать уникальный идентификатор объектов», можно для некоторых видов объектов убрать выгрузку уникального идентификатора, для этого надо в правилах выгрузки добавить:
[ИсключаемыеСвойства]
Справочник.Банки.УникальныйИдентификатор1С
Есть две базы, необходимо перебросить документы между ними, при переносе обработка создает заново элемент в справочнике организации, Наименование полное, сокращенное, ИНН, КПП скопировал из одной в другую, обработка все равно создает новый элемент, как сделать, чтобы не создавала,а сопоставила их.
(92) Vyacheslav56,
Перед загрузкой обработка ищет и сопоставляет объект по коду (если он есть и уникален), код должен быть одинаковый и в источнике и в получателе.
Или чтобы организации сопоставлялись например по ИНН в правилах загрузки можно прописать:
[НайтиПоРеквизиту]
Справочник.Организации.ИНН
а в правилах выгрузки код не выгружать:
[ИсключаемыеСвойства]
Справочник.Организации.Код
При попытке открыть обработку в Управление небольшой фирмой, редакция 1.6 (1.6.8.28), выдает ошибка «Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.»
А в описании указано, что подходит для любой.
Извините, разобрался. При первом запуске разрешил программе установить запрет на создание и открытие внешних отчетов и обработок. Когда снял запрет, все открылось и перенеслось. Кстати, для снятия запрета вот ссылка:http://helpme1c.ru/kak-razreshit-interaktivnoe-otkrytie-vneshnix-otchetov-i-obrabotok-dlya-1sbuxgalteriya-8-3-redakciya-3-0
(6)
Показать
(23) > жаль что пока в 1C нет что-то типа «Новый ЧтениеДвоичныхДанных()»
Смотрите в сторону ЗаписьFastInfoset, ЧтениеFastInfoset
не здесь оставил заметку
(157)
подскажите, плз, можно ли сделать такое
выгрузка из УТ10
загрузка в операцию
Расходный кассовый ордер инкассо
в БП3 просто операция Д57 К50
?
выгрузка —
включать правила выгрузки
———————————————-
[ИсключаемыеСвойства]
[ПодменаИмен]
[ИсключаемыеОбъекты]
[ДополнительныйЗапрос]
ВЫБРАТЬ
РасходныйКассовыйОрдер.Номер,
РасходныйКассовыйОрдер.Дата,
РасходныйКассовыйОрдер.Проведен,
РасходныйКассовыйОрдер.Касса.ТорговыйОбъект.Наименование КАК Касса,
РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств КАК Статья,
РасходныйКассовыйОрдер.Ссылка КАК Ссылка,
РасходныйКассовыйОрдер.СуммаДокумента КАК Сумма
ИЗ
Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
ГДЕ
(РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.Инкассация)И
(РасходныйКассовыйОрдер.Дата МЕЖДУ &НачДатаВыгрузки И &КонДатаВыгрузки))
[ОграничитьПоКоличеству]
[ПрефиксСвойств]
[ОбщийРодитель]
[ПодставитьДатуВместоПустой]
—————————————————————————-
или, может, быть, есть фильтры — другой отбор выгружаемых данных.
правильно ли выгружаю и как грузить в операцию?