Перенос объектов 1С
Интеграция - Перенос данных 1C
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Предлагаю вашему вниманию, на правах разработчика, обработку Перенос объектов (версия 3.84).
Перечень основных возможностей:
- Предварительный наглядный анализ данных перед непосредственной загрузкой в базу приемник;
- Обмен по https (на стороне источника нужно поставить расширение ВнешнийРегламент);
- Настройка правил перед выгрузкой;
- Настройка правил перед загрузкой;
- Обмен данными через интернет (с использованием сжатия zip с паролем);
- Обмен данными через Com соединение к источнику;
- В самой обработке есть удобный обзор и обработка данных на уровне конфигуратора;
- Запуск обработки из другой с заданными параметрами для автоматической выгрузки или загрузки;
- Обработка при записи объектов использует по умолчанию признак ОбменДанными.Загрузка=Истина;
- Есть возможность сравнить во время переноса обороты по счетам между разными базами, что упрощает контроль переноса документов;
- Можно сравнить количество объектов в базе, что упрощает контроль переноса объектов;
- Использование только cервера для файлов (файлы выгрузки и загрузки будут находится на стороне сервера);
- Можно использовать уникальный идентификатор при переносе данных;
- Фильтр по подсистемам в обзоре конфигурации и при выгрузке объектов;
- В правилах выгрузки можно добавить любой произвольный запрос;
- Выгружать зависимые сведения при выгрузке справочников (например Контрагенты и их контактная информация);
- Создание объектов из текста на основании строк вида Код=Наименование;
- Упорядочить кода заданного справочника с предварительным анализом;
- Печать активной таблицы в режиме управляемых форм;
- Конструктор кода по созданию выбранного объекта;
- Сохранить любое ХранилищеЗначения (ДвоичныеДанные) в файл;
- Проверка использования реквизитов в базе;
- Запуск любого приложения после окончания операции по загрузке или выгрузке данных;
- Поиск ссылок на выбранный объект с указанием имени реквизита, где объект используется;
- Перенос объектов через буфер обмена без использования файлов;
- Выгрузка отмеченных объектов в обзоре данных сразу в текст;
- Проверка пустых субконто в движениях;
- Сравнить детально отмеченные объекты;
- Иерархическая печать элементов справочников;
- Не выгружать все реквизиты шапки и табличной части;
- Выгрузка объектов на основе данных журнала регистрации;
- Показать все варианты значения реквизита;
- Групповая замена номеров документов;
- Групповая замена кодов справочника;
- Табло, скрипты и отладка функций в УФ;
- Включение/отключение регламентного задания одним кликом мыши;
- Регистрация отмеченных объектов в планах обмена;
- Многофункциональный поиск по структуре метаданных и полнотекстовый поиск;
- Пометить на удаление отмеченные при отсутствие ссылок на объект;
- Благодаря работе с ПотокВПамяти можно выгружать и загружать любые объемы данных;
- Выгрузка структуры метаданных конфигурации опционально.
Например, необходимо перенести несколько документов за один день. Отмечаем в выгрузке период и необходимый вид документов,
и обработка сама подтянет все остальные объекты на которые есть ссылки по цепочке, пока не доберется до примитивных типов (строка, число, дата).
Перед использованием переноса данных рекомендуется запустить отчет в самой обработке "Обзор-Отчеты-Проверка уникальности объектов для переноса", который проверит на дубликат код и наименование в справочниках, т.к. для переноса объектов без уникального идентификатора это важно. Там же есть и возможность исправить задвоения. Если при переносе используется уникальный идентификатор, то в запуске отчета на уникальность нет необходимости.
Выкладываю два варианта обработки:
MovingObjects.epf - для 1С 8.3 (Управляемые формы и обычные формы, и для регламентных заданий)
MovingObjects-8.1.epf - для 1С 8.1 (версия 3.19, больше не поддерживается)
Видео-инструкции
Надеюсь, обработка поможет программистам 1С в наших рутинных делах. :)
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.21.95
- 1С:ERP Управление предприятием 2, релизы 2.5.25.103
Вступайте в нашу телеграмм-группу Инфостарт
Перенос данных Групповая обработка Загрузка Выгрузка Табло управляемые формы инструменты разработчика Скрипты Консоль запросов Обмен КД Конвертация
См. также
Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)
Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор
58000 руб.
04.08.2015 194831 479 310
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!
50050 руб.
25.02.2015 192564 383 296
Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)
Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.
50200 руб.
24.04.2015 211469 186 254
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в ERP 2.6 и КА 2.6 с помощью готовых правил. Переносится более 60 видов документов. Простой интерфейс и понятные настройки.
42000
37800 руб.
24.06.2020 73187 108 35
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.
42000
37800 руб.
15.12.2021 37139 268 68
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)
Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.
27572 руб.
18.02.2016 209297 686 559
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)
Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы
58000 руб.
29.10.2018 64488 86 137
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)
Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!
55200 руб.
03.12.2020 47146 135 84
возможно есть и другое что (даже видел тут платную правда похожую на типовую выгрузку xml)
но ...
для меня реально что-то похожего не хватало от 1с (обычной выгрузки - загрузки, без возможности особых "извращений")
так что мое простое спасиб (пока применить не к чему, но в будущем надеюсь пригодиться когда-нибудь)
прим: ;) обработка не только обычная выгрузка-загрузка (так что кому надо посложней навороты думаю в ней найдут то что надо)
подскажите, плз, можно ли сделать такое
выгрузка из УТ10
загрузка в операцию
Расходный кассовый ордер инкассо
в БП3 просто операция Д57 К50
?
выгрузка -
включать правила выгрузки
----------------------------------------------
[ИсключаемыеСвойства]
[ПодменаИмен]
[ИсключаемыеОбъекты]
[ДополнительныйЗапрос]
ВЫБРАТЬ
РасходныйКассовыйОрдер.Номер,
РасходныйКассовыйОрдер.Дата,
РасходныйКассовыйОрдер.Проведен,
РасходныйКассовыйОрдер.Касса.ТорговыйОбъект.Наименование КАК Касса,
РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств КАК Статья,
РасходныйКассовыйОрдер.Ссылка КАК Ссылка,
РасходныйКассовыйОрдер.СуммаДокумента КАК Сумма
ИЗ
Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
ГДЕ
(РасходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.Инкассация)И
(РасходныйКассовыйОрдер.Дата МЕЖДУ &НачДатаВыгрузки И &КонДатаВыгрузки))
[ОграничитьПоКоличеству]
[ПрефиксСвойств]
[ОбщийРодитель]
[ПодставитьДатуВместоПустой]
----------------------------------------------------------------------------
или, может, быть, есть фильтры - другой отбор выгружаемых данных.
правильно ли выгружаю и как грузить в операцию?
Внимание! У элемента справочника пустой код и пустое наименование! Вид = НомераГТД
Можно добавить информационности
здесь два варианта:
1. найти этот элемент в базе источнике(или в базе получателе) и установить любой код или наименование и заново выгрузить. (это можно сделать как раз на закладке обзор через фильтр и обработку)
2. Вариант когда в конфигурации стоит длина кода=0 и длина наименования=0, - это вообще плохо, когда в информационной базе есть такие справочники. Здесь либо использовать УникальныйИдентификатор, либо обработка будет постоянно делать новый элемент при загрузке данных и возможно будет постоянно показывать разницу при анализе данных.
А еще прогресс загрузки выгрузки в УФ.
&НаКлиенте
Процедура КакаяТоПроцедураОбработкиДанных(МассивДанных)
// Делим массив на 100 порций
Порция = Цел(МассивДанных.Количество / 100);
Для СчПорций = 1 По 101 Цикл
ПроцедураОбработкиПорцииДанныхНаСервере(СчПорций,Порция,МассивДанных);
// А вот вывод прогресса
Состояние("Процесс Обработки Данных", СчПорций,"Выполнено %");
КонецЦикла;
&НаСервереБезКонтекста
Процедура ПроцедураОбработкиПорцииДанныхНаСервере(СчПорций,Порция,МассивДанных)
Для ИндМассива = СчПорций*Порция По (СчПорций+1)*Порция Цикл
ЭлементМассива = Массив[ИндМассива];
//Обрабатываем ......
// Еще Обрабатываем )))
// Совсем Обработали.
КонецЦикла;
КонецПроцедуры ПоказатьЕсли интересно сотрудничество, то пишите в личку...
"Внимание! есть необработанные данные типов -
Тип,Массив,Фиксированное соответствие,Фиксированная
структура,Фиксированный массив,Дерево значений,Табличный
документ,Двоичные данные"
Конфигурация БП3.0+ТСЖ
При загрузке "Ключ не найден"
выдает ошибку
Ошибка инициализации модуля: Документ.УдалитьПередачаСЗВ4вПФР.МодульМенеджера
по причине:
{Документ.УдалитьПередачаСЗВ4вПФР.МодульМенеджера(62,60)}: Переменная не определена (ОбщегоНазначенияЗК)
СтрокаОписания.Представление = ПустойРаздел25РасчетаРСВ1(<<?>>ОбщегоНазначенияЗК.ПолучитьЗначениеРеквизита(Ссылка,"Организация"), ДатаПодписи, НумероватьСтраницы, НомерПервойСтраницы);
и тд.
Ошибка инициализации модуля: РегистрНакопления.УдалитьНДФЛПредоставленныеСтандартныеВычетыФизЛиц.МодульНабораЗаписей
по причине:
{РегистрНакопления.УдалитьНДФЛПредоставленныеСтандартныеВычетыФизЛиц.МодульНабораЗаписей(8,2)}: Переменная не определена (СправкиПоНДФЛ)
<<?>>СправкиПоНДФЛ.ОчиститьКодыОКТМО(ЭтотОбъект);
Кстати, автор, а на каком принципе обмен реализован? Свой формат придумали?
Тесты показали результаты на больших объемах около 100 000 объектов:
Выгрузка/Загрузка в XML быстрее ровно в 3 раза чем Перенос объектов.
Утверждение про зависание убрал из описания. Вообще обработка появилась на заре перехода с 7-ки на 8-ку, и там все было хуже XML.
Но у Переноса объектов:
1. Еще есть потенциал для ускорения выгрузки и загрузки объектов (жаль что пока в 1C нет что-то типа "Новый ЧтениеДвоичныхДанных()", но думаю это решаемо);
2. Не нужны дополнительные конфигурации для настройки правил обмена;
3. Файлы получаются гораздо компактнее (1.8 Мб в SFO против 35 Мб в XML);
4. файл SFO на выходе нормализован уже сам по себе (как пример - если в базе допущена орфографическая ошибка в строке, то она легко исправляется только в одном месте в файле в списке уникальных строк, при загрузке она исчезает).
5. При загрузке предварительно анализируя данные пользователь видит что он загружает, как загружает, то есть он может "почувствовать" данные (а это лучше, чем черный ящик "выгрузил/загрузил", а потом думай что именно загрузилось).
с JSON все тоже самое, только формат XML другой.
DOM вроде как читает "из памяти", но в память-то мы читаем и помещаем все тот же текстовый файл все теми же технологиями чтения текстовых файлов от 1С.
Все продолжают обманывать сами себя - придумывают себе использование "новых" форматов "а вот я в CSV... а я в XML... а я в SFO..."
А все одно - использование чтения из текстового файла, с которым у 1с всегда и везде были проблемы.
Т.е. кардинально никакого прироста нет.
(23)
В 1С нет никаких "супер таинственных технологий" чтения XML: все также "построчно", все также "последовательно".
Файл SFO напоминает ini файл и состоит в основном из четырех разделов. В наименование каждого раздела добавляется количество строк в разделе.
[SFO] - в данном разделе находится информация о времени выгрузки, базе данных и т.д. В данный раздел можно добавлять любую необходимую информацию;
[Строки] - список уникальных строк, чисел, дат;
[Объекты] - список объектов в виде строк вида "ИмяСвойства1=Значение1,ИмяСвойства2=Значение2...";
Если Значение представляет собой примитивный тип (строка, число, дата), то оно равно номеру строки из раздела "[Строки]"
Если Значение является ссылкой на другой объект, то оно равно номеру строки из раздела "[Объекты]" со знаком минус;
[Иерархия] - Иерархия объектов, необходима для загрузки, чтобы понять какие объекты надо создавать в базе раньше, а какие позже. Данный раздел выгружается только при необходимости, когда есть сложные зависимости объектов.
А если серьезно, то обработка используется как законченный продукт, ей не нужны другие "обработки общепринятые в среде 1С-ников".
Задача обработки - перенести(или просто сравнить) Х объектов из базы А в базу Б, и обработка делает это просто и без сложных настроек.
moolex, на мой сугубо личный взгляд, вы несёте полный бред, с любой из точек зрения - что технической, что экономической, что маркетинговой. Жалкое существование "особенных" продуктов, пошедших "своим путём", когда кругом рулят мейнстрим и стандарт, тому доказательство. Впрочем, если найти "своего" клиента, сесть ему на шею и уютно сидеть лет 10, то поддерживайте любой формат, какой хотите, но не удивляйтесь, что большой прогресс пройдёт мимо, и вы с вашей поделкой никому не будете нужны. Но это оффтоп.
И я не имею ничего против типового переноса через XML. Каждое решение надо использовать для своих целей и в зависимости от конкретной ситуации.
При Выгрузке счета-фактуры (полученный и выданный) из УТ 10.3 Базовой пишет:
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(2391)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если (ЗначениеЗаполнено(Объект1С)) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
Что я делаю не так? Помогите, пожалуйста
"Каталог не обнаружен ''D:\Бухгалтерия\БП_01-01-2015-01-02-2015\1.xml"
В поле выгрузки выбранный путь и имя файла меняются на 'C:\Temp\v8_6ceb_4c'. (вместо ''D:\Бухгалтерия\БП_01-01-2015-01-02-2015.sfo")
Файл на выходе создается, но проверить его формат и состав выгруженных данных весьма затруднительно.
Не совсем понятно, с чем связана данная ошибка. Пробовал на другой версии конфигурации 3.0.39 и версии Предприятия пониже, на другом компе, дабы исключить локальные факторы - ошибка везде повторяется!
Проблема возникает только в обработке MovingObjects-mf.epf и вызывает ее конкретный тип документа, пока не могу сказать какой - пробовать по каждому довольно хлопотно, исключаю группами.
НовыйОбъект.Родитель = ТЗОбъекты.Получить(-Число(ИдРодителя)-1).Объект1С;
по причине:
Справочник не многоуровневый
Скачал, обработку она не работает.
Решите проблемму.
Необходимо из одной базы выгрузить данные в другую базу. (объединить две базы).
По справочникам идет сопоставление по коду. В обоих базах в некоторых справочниках коды повторяются. Где-то это хорошо (валюты к примеру), а где-то - нет (Номенклатура).
Как быть?
Из пожеланий:
1. сохранять настройку выбранных объектов в дереве метаданных в файл.
2. Возможность задавать для каждого объекта те реквизиты, по которым будет происходить синхронизация.
Первый раз данные в новую базу были выгружены - оказалось что не перегружена учетная политика. После добавления ее в выгрузку, при попытке загрузить заново весь объем данных (с документами), вылезла ошибка:
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(4652)}: Поле объекта не обнаружено (Вид)
Вид = ВернутьСтроку(СТЗ2.Вид);
4652 - Вид = ВернутьСтроку(СТЗ2.Вид) - она там явно лишняя
если ошибка уйдет перевыложу новые версии...
пожелания учту...
"В обоих базах в некоторых справочниках коды повторяются." - самый простой способ - для тех спр. в которых нельзя совмещать объекты по коду - упорядочить кода и в первой и во второй базе со смещением (например в первой базе с 1 начать, а во второй с 10000).
По поводу ошибки - будет время, протестирую. Но в принципе основная задача была достигнута - данные были перенесены. Пользователи сейчас тестируют.
По поводу изменения кода - с документами так и было сделано - в организации добавлен префикс и все документы переименованы с учетом префикса.
Со справочниками решение было более красивое - из выгружаемых данных код был удален (через настройки выгрузки). А при загрузке установлен флаг - сверять только по реквизитам, имеющимся в выгрузке. Мне кажется решение боле красивое - у загруженных элементов код был назначен новый.
Обработка помогла, т.к. наглядно показывает какие данные были найдены в базе загрузки, а какие нет. Хорошо что данных было не так много.
Из пожеланий - было бы здорово иметь флаг обновлять данные или нет. В идеале, даже не для всех данных/справочника, а для конкретного элемента. т.е. если справочник в базе приемнике боле новый чем в базе источнике, то обновления не происходит. Вроде сейчас всегда идет обновление данных, так?
Было бы полезно добавить в описание по каким реквизитам идет сравнение данных. Тем более есть несколько настроек, влияющих на этот алгоритм.
Идет выгрузка данных из одной базы (источник, допустим некая древняя резервная копия) в другую базу (приемник - рабочая база).
Понятно что со временем некоторые реквизиты элементов справочников могли обновиться в рабочей базе. (допустим у контрагента поменялся КПП).
При загрузке данных из базы-источника в базу-приемник происходит поиск одинаковых элементов справочника и, насколько понятно из видео, их обновление загружаемыми данными. Такое обновление не всегда нужно и хочется инструмент для управления таким обновлением - решать надо обновлять данные или нет.
Аналог в конвертации данных - там есть флаг "Не замещать существующие объекты ..." - хочется аналог такого флага либо для вида справочника/документа в целом, либо для каждого элемента справочника/документа/....
Это было обусловлено тем, что на этапе загрузки был человек, который выполнял роль проверки и мало смыслил в программировании (и не особо хотел что то там настраивать).
Т.е. инструмент для управления есть, просто он находится на этапе выгрузке. Так в большинстве случаев проще контролировать обмен данными...
Выгружаем немного - анализируем перед загрузкой - не правильно - корректируем выгрузку - и по кругу...
Но конечно Ваши пожелания я учту и запишу в план реализации доработок к Переносу объектов.
либо перед загрузкой изменить код в базе получателе. вариантов много.
или , если вопрос в том, чтобы объект определялся, но не перетирались остальные реквизиты объекта, тогда надо просто отключить через правила выгрузки все ненужные реквизиты.
Да, но при изменении кода будут дубли, так что не вариант.
Если отключу элементы - то, допустим, одинаковый вроде как справочник склад не подтянется в документах.
Ну в общем, понятно. что есть - то есть. Еще раз спасибо, обработка помогла.
[ИсключаемыеСвойства]
Справочник.МестаХранения.РеквизитХ
и .т.д.
можно и наименование исключить
При открытии файла в 1С Бухгалтерии 8.2 MovingObjects.epf выходит ошибка: Поле объекта не обнаружено (НеИспользоватьЭРДВПериодике)
При открытии файла MovingObjects-mf.epf вообще не каких изменений не происходит.
Может что-то не так делаю?
Может нужно открывать файл в конфигураторе?
Само по себе ХранилищеЗначения не имеет данных.Используется метод ХранилищеЗначения.Получить() и его уже переносит обработка и синхронизирует.
Т.е. если в хранилище была коллекция (таблица,дерево,список), то она будет перенесена как отдельный объект коллекция.
Если был двоичный файл, то он перенесется как отдельный внешний файл.
как настроить правила выгрузки так и будут.
по гуиду - надо добавить флаг "Выгружать уникальный идентификатор"
по коду - по ум. должно быть
по наименованию, а код не нужен - надо добавить в
[ИсключаемыеСвойства]
Справочник.Х.Код
{Форма.УправляемаяФорма.Форма(2566)}: Поле объекта не обнаружено (ПереносОбъектов)
Макет = Обработки.ПереносОбъектов.ПолучитьМакет("МакетПоказать");
Её обязательно встраивать?
надо заменить:
Макет = Обработки.ПереносОбъектов.ПолучитьМакет("МакетПоказать");
на
Обработка = РеквизитФормыВЗначение("Объект");
Макет = Обработка.ПолучитьМакет("МакетПоказать");
[ИсключаемыеОбъекты]
Документ.Прием
Документ.НачПоСреднему
Документ.Увольнение
не помогает, переносятся все равно. Как быть?
А можно исключить при выгрузке полностью содержимое табличной части одним махом? Например, в справочнике есть табчасть "ТрудовойСтаж", но если проставить в исключаемых свойствах строку "Справочник.Сотрудники.ТрудовойСтаж", то это ни к чему не приводит, приходится перечислять каждый реквизит табчасти отдельно, например Справочник.Сотрудники.ТрудовойСтаж.КадровыйДокумент.
Также заметил, что есть функция ИзменитьКодДругогоОбъектаПриСовпаденииКода(), но тоже походу не работает. При переносе элементов справочника, в случае есть такой код уже есть, то все имеющиеся данные в базе-приемнике затираются на данные выгрузки.
[ИсключаемыеСвойства]
Справочник.Х.УникальныйИдентификатор
- для справочника Х будет синхронизация по коду или по наименованию (если нет кода)
и - если надо сделать сравнение по специальному реквизиту, то в правила загрузки надо добавить:
[НайтиПоРеквизиту]
Справочник.Х.ИмяРеквизита
Помогла перенести кучу различных документов из базы 1с 8.1 в 8.3 с различными конфигурациями.
Пробовал и типовыми обработками обмена xml и другими, куча ошибок в загрузке.
Ваша обработка сработала без проблем, загрузила многие тысячи документов. Причем конфигурации документов отличались. Несильно, но существенно.
А писать правила обмена под каждую конфигурацию, коих несколько - с ума сойти можно, как долго, Заказчик не оценит.
Ваша обработка спасла мне жизнь. Спасибо!
При выгрузке УИД не выгружаю. При загрузке включаю обе галки на стр. Правила загрузки и в правилах пишу [НайтиПоРеквизиту]/Справочник.СтатьиДвиженияДенежныхСредств.Наименование.
После загрузки все элементы задваиваются, сопоставление по наименованию не происходит. Что в настройке не так?
1С 8.3.4 (управл формы) УТ 3.0 для Украины.
Все остальные позиции выгружаются с сообщением:
"Внимание! есть необработанные данные типов - Настройки компоновки данных,Поле компоновки данных,Пользовательские настройки компоновки данных,Схема компоновки данных".
Подскажите пожалуйста, каким способом можно понять причину вылета обработки?
Самой простой способ исправить проблему - методом исключения, используйте при выгрузке правила для реквизитов с типом ХранилищеЗначения:
[ИсключаемыеСвойства]
Справочник.<ИмяСпр>.<ИмяРеквизита>
Тоже самое и для необработанных типов, скорее всего эти данные (пользовательские настройки) и не нужны в базе получателе.
Если они все-таки необходимы, то надо дописывать перенос таких типов данных.
Все стандартные типы данных переносятся, и большом количестве, проверено на рабочих базах.
Очень заинтересовали обработки по выгрузке - загрузке.
1) Возможен ли односторонний обмен из УТ 10.3 в БП 3.0?
Конфигурации не типовые. Каким образом настраивается сопоставление с объектами, которые уже были перенесены?
Может имеется какая-то инструкция по настройке правил для разных конфигураций?
2) Как могут помочь данные обработки при переходе с 1.6 на 3.0(остатки перенести, какие-то справочники и пр.)?
Заранее спасибо.
1. начинаю с какого то одного вида документов и беру небольшой период.
выгружаю , в базе получателе делаю только анализ и смотрю различия, уменьшаю различия тем что в базе источнике в правилах обмена исключаю или перенаправляю имена свойств. В обработке есть пример правил. После нескольких итераций получается что все заполненные реквизиты встают на свои места.
2. можно перенести остатки - для этого в обработке есть пример процедуры (см. Макет-ПримерВыгрузкиОстатковУТвКА_ОдинСклад), на основе данного примера можно сделать свою выгрузку необходимых остатков. Но здесь конечно нужны навыки программиста 1С, просто флажками такие переносы не сделать...
3. Сопоставление объектов происходит по умоланию по коду (или наименованию при отсутствии кода) , по номеру и дате документа. Так же в настройках загрузки можно указать конкретный реквизит для сопоставления:
[НайтиПоРеквизиту]
Справочник.Номенклатура.Артикул
еще возможно указать при выгрузке "Выгружать уникальный идентификатор объектов", тогда сопоставление при загрузке будет происходить по нему. Но это больше подходит для копий баз, когда надо догрузить данные из одной копии базы в другую.
при включенном флаге "Выгружать уникальный идентификатор объектов", можно для некоторых видов объектов убрать выгрузку уникального идентификатора, для этого надо в правилах выгрузки добавить:
[ИсключаемыеСвойства]
Справочник.Банки.УникальныйИдентификатор1С
Перед загрузкой обработка ищет и сопоставляет объект по коду (если он есть и уникален), код должен быть одинаковый и в источнике и в получателе.
Или чтобы организации сопоставлялись например по ИНН в правилах загрузки можно прописать:
[НайтиПоРеквизиту]
Справочник.Организации.ИНН
а в правилах выгрузки код не выгружать:
[ИсключаемыеСвойства]
Справочник.Организации.Код
Возможно, она не подходит для этой версии программы."
А в описании указано, что подходит для любой.
Ошибка инициализации модуля: РегистрНакопления.УдалитьНДФЛПредоставленныеСтандартныеВычетыФизЛиц.МодульНабораЗаписей
по причине:
{РегистрНакопления.УдалитьНДФЛПредоставленныеСтандартныеВычетыФизЛиц.МодульНабораЗаписей(8,2)}: Переменная не определена (СправкиПоНДФЛ)
<<?>>СправкиПоНДФЛ.ОчиститьКодыОКТМО(ЭтотОбъект)
Скачал обработку, выдает ошибку;
Не могу записать свойства объекта ',Наименование,Родитель,НаименованиеПолное,ЕдиницаИзмерения,Комментарий' для Справочник.Номенклатура - Шестигранник 30
что это означает?
Несколько вариантов обработки из-за функции 'Состояние' и
Функция 'Состояние' нужна для отображения процесса обработки данных.
При обмене через регламентные задачи, т.е. вызове на сервере она не работает, и конечно в ней нет смысла.
Разработчики 1С могли бы ее просто игнорировать, как и 'Сообщить', но 1С сейчас ругается при проверке модуля
(надеюсь они это когда нить поправят).
При анализе (обработку проходит), если вігружать предварительно подсистемами відает ошибку,
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(4178)}: Преобразование значения к типу Число не может быть выполнено
Возврат Число(Стр);
УТ 3,0 (Украина) на 1С 8,3,4,496
Данные.Записать(Объект.ПолеВводаФайлВыгрузки);
по причине:
Ошибка доступа к файлу 'C:\Users\Bahtyreev_AV\AppData\Local\Temp\v8_4260_3b'
в temp создается папка v8_4260_3b, а потом в это же имя файла еще попытка записи
У меня все работает в УФ (управляемых формах), ошибки не обнаружено. при работе через УФ файл сначала создается на стороне сервера, а потом перемещается через временное хранилище на клиент. скажите какие виды объектов выгружаете и в какой конфе?.
В защиту обычных приложений:
Обычное приложение (толстый клиент) можно включить/отключить в любое время в 1С одной галочкой в конфигураторе.
А УФ все-таки притормаживают при больших объемах данных в дереве значений, поэтому обычной формой в толстом клиенте 1С для сервисных задач (выгрузки/обработки данных) пользоваться удобнее и быстрее.
Пытался выгрузить из УТ 10.3 документы по одной из организаций, добавлял в правила, в секцию Исключаемые объекты код типа
Документ.ПлатежноеПоручениеИсходящее.Организация.Код=123ВЫБРАТЬ
ОбъектСсылка.Ссылка КАК Ссылка
ИЗ
Документ.ПлатежноеПоручениеИсходящее КАК ОбъектСсылка
ГДЕ
(ОбъектСсылка.Дата МЕЖДУ &НачДатаВыгрузки И &КонДатаВыгрузки
И ОбъектСсылка.Организация.Код = "000000007")Но выгружаются все документы, без отбора по организации. В код лазить времени пока не было, прошу подсказать как можно с помощью правил реализовать выгрузку?
Если надо выгрузить данные только из дополнительного запроса, то в дереве "Выгрузка-Объекты" надо снять все флажки.
Вероятно флажок напротив ПлатежноеПоручениеИсходящее стоит и обработка выгружает все объекты за период плюс то что в доп. запросе.
[ИсключаемыеОбъекты]
Справочник.Проекты.Код=*
Справочник.Пользователи.Код=*
Справочник.ФизическиеЛица.Код=*Такие правила не исключают весь справочник. И можно ли удалить (очистить) из ТЧ документа один реквизит?
[ИсключаемыеОбъекты]
Справочник.Проекты.Код=*
- так не будет работать, здесь надо указывать конкретные объекты (например при выгрузке всех контрагентов, кроме нескольких которые надо указать в этой секции)
в вашем случае надо использовать секцию [ИсключаемыеСвойства]
в ней надо указать все возможные свойства документов в которых тип = Справочник.Проекты
т.е. например:
[ИсключаемыеСвойства]
Документ.ПлатежноеПоручениеИсходящее.Подразделение
для исключения реквизита в ТЧ аналогично:
[ИсключаемыеСвойства]
Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств
И я совсем не понял, как можно выгрузить данные только по одной организации. Т.е. как перенести все общие данные (константы, справочники) + документы только по указанной организации?
(не забываем что на период в запросе действует период на закладке "Выгрузка", а не "Обзор").
все объекты по организации - два варианта:
1. через доп.запрос
2. выгружаем только документы с префиксом "ОРГ1", для этого используем секцию в правилах выгрузки:
[ПрефиксСвойств]
Документ.Счет.Номер=ОРГ1-
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(2873)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если (ЗначениеЗаполнено(Объект1С)) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
Количество не загружается. Подскажите что сделать. Как привести в соответствие поля Базы- Приемника, которые не определились?
Помогите пожалуйста. Не пойму, где соответствие полей настраивается?
Давно пользуюсь этими обработками - всегда очень выручает !
Теперь такая ситуация БГУ 1.0.52.8.
Есть две базы - в одной № 1 несколько учреждений и в другой №2 базе одно учреждение. Объединяем в одну большую базу №3 путем переноса MovingObjects2017_ОФ, добавили объекты из базы 2 к базе 1 , по учреждениям поставив префиксы . Проверили оборотки - все оК.
Сейчас выяснилось , что в процессе объединения ОС из базы №1 по одному учреждению затерлись основными средствами по другому учреждению из базы №2. Т.е. в суммовых показателях по ОСВ все отлично , а вот по аналитике - ерунда .
В записях регистров по ОС ( а их много !) прописались совсем другие ОС с других учреждений. У этих ОС совпали коды.
Изменили в базе №2 коды ОС , добавили буквы - префиксы, делаем перенос .- опять затираются те же самые ОС. Названия ОС тоже изменяли - не помогло.
Что еще надо изменить , чтобы в базу №3 добавились ОС ?
При загрузке Галка - "не создавать новые объекты" - не стоит.
При выгрузке - Выгружать уникальный идентификатор объекта - галка включена.
Увидела - совпадают уникальные идентификаторы , а как изменить его в базе отправителя ?
В вашем случае надо определить и выгрузить виртуальные документы (имя документа сделать как в получателе),
со стороны получателя ничего настраивать не не надо, просто проверить что все данные загружены.
надо смотреть макет: ПримерВыгрузкиБухСправокСРазделениемПоНесколькимТЧ
Что то типа того... не знаю куда пихать....
Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств-> Справочники.СтатьиДвиженияДенежныхСредств.Найтипокоду("000000П16")
Заранее спасибо :)
[ПодменаОбъектов]
// можно подменить объект в выгрузке во всех свойствах где он встречается
// если объект подмены справа не будет найден, то свойство будет пустым
//Справочник.Номенклатура.Код.1->2
//Справочник.ФизическиеЛица.Код.5->Справочник.Сотрудники.Код.6
в эталонной базе все настраиваем, а потом выборочно переносим.
И еще вопрос - в версии 3.08 нашел Обзор - Объекты - ПланыВидовРасчеты - Начисления - Данные - не выдает данные - пишет "поле объекта не обнаружено (предопределенный)", также не печатает. Конструктор кода - пишет Поле объекта не обнаружено Ссылка.
В более старых версиях Данные хотя бы выводил, а в 3.08 - пусто!
В процедуре АнализироватьОбъекты() ...
по моему не хватает ПодготовитьПравилаДляФайла,()
вываливалась ошибка. НайтиПоРеквизитуВФайле.Количество()>0.
И еще очень важный в данный момент вопрос: Мне надо из 20 одинаковых баз БП, перенести Организации, Контрагентов, Договоры, Банковские счета, Регистрации в налоговых органах, Учетную политику и пр., Есть ли возможность СохранитьНастройки?
Можно ли при загрузке определить синхронизацию по двум реквизитам (ИНН КПП, ИНН СНИЛС, Владелец-Наименование)?
Договора слиплись по коду, а не по контрагенту и коду! УИД использовать не могу.
1. не хватает ПодготовитьПравилаДляФайла - поправил.
2. СохранитьНастройки - в самой обработке есть пример в макетах как запускать обработку с определеными параметрами из другой (там можно и установить ПараметрыЗагрузки)
3. На счет синхронизации по двум реквизитам - сделаю скоро так:
[НайтиПоРеквизиту]
Справочник.Номенклатура.Артикул+Наименование // поиск по двум реквизитам Артикул и Наименование
[НайтиПоРеквизиту]
//Справочник.Номенклатура.Артикул
//Справочник.Номенклатура.Наименование // будем искать по наименованию, даже если есть кода в файле загрузки
//Справочник.Контрагенты.ИНН+КПП // возможен поиск по двум реквизитам
//Документ.АвансовыйОтчет.НазначениеАванса+СуммаДокумента
// для более сложного поиска объектов перед загрузкой смотрите в модуле обработки использование переменной ИмяРеквизитаДляПоиска
Есть в базе источника договор "Договор 2018 г.", а в базе приемнике этот договор называется "Договор 2018". Уин и коды разные. Как обработке сказать что это одно и тоже? Есть ли возможность работы со строками (убрать там два последний символа или добавить подстроку " г")
и есть ли возможность поставить правило, ЕСЛИ ПО КОДУ НЕ НАШЛО, ТО ИЩИ ПО НАИМЕНОВАНИЮ
Заранее спасибо!!!
В вашем случае можно попробовать:
1. в правилах загрузки использовать секцию
[ПодменаСтрок]
Договор 2018 г.->Договор 2018
2. в БД источнике создать нужный по коду и наименованию элемент с кодом Y и добавить в правила выгрузки
[ПодменаОбъектов]
Справочник.Договоры.Код=Х->Y
Еще есть вариант с более точечной выгрузкой с добавдением в правила:
[СкриптВыгрузкиСвойствОбъекта1С]
ПродолжитьОпределениеСвойств = 1;
Если (ТипМета="Справочник")И(ИмяМета="Договоры") Тогда
Если (Объект1С.Наименование="Договор 2018 г.") Тогда
СоответствиеСвойств.Вставить("Код", "Какой хотим");
СоответствиеСвойств.Вставить("Наименование","Договор 2018");
ПродолжитьОпределениеСвойств = 0;
КонецЕсли;
// и .т.п.
КонецЕсли; ПоказатьИли на стороне загрузки можно немного поправить в модуле обработки (как частный случай сделать копию обработки) в строке 751
"Если (ИмяРеквизитаДляПоиска<>"") Тогда // ищем справочник по заданным реквизитам"
сверху добавить свое условие типа:
Если (Вид="Договоры")И(ТекущееНаименование="Договор 2018 г.")
ТекСпр = Справочники[Вид].НайтиПоНаименованию("Договор 2018",1,ТекРодитель,ТекВладелец);
ИначеЕсли // то что было в строке 751Пробовала через СкриптВыгрузкиСвойствОбъекта1С - часть задачи получилось выполнить!
Но на "ПродолжитьОпределениеСвойств = 0" он ругался что преобразование к типу числу не может быть выполнено, я закомментировала и все получилось (из 2.0.66.71 выгружаю в 3.0.65.91). Обязательна ли эта сточка и если закоменнтить на больших объемах данных не сдохнет?
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(11634)}: Ошибка при вызове метода контекста (Получить)
Св1 = ТЗОбъекты.Получить(ИдТип-1).Свойства;
по причине:
Значение индекса выходит за границы диапазона
В остальных случаях сравнение работает по первому свойству(во втором и последующих скриншотах документ ЗаказКлиента).
Первое свойство - ВалютаДокумента. Сравнение работает корректно.
Второе свойство - ВидОперации. Во время сравнения проваливается в окно сравнения валюты документа.
То же самое происходит и с последующими свойствами документа.
При выгрузке подменяю только имя документа ЗаказПокупателя->ЗаказКлиента. Остальные настройки и правила стандартные.
Что то такое пробовала в СкриптВыгрузкиСвойствОбъекта1С
"Если (ТипМета="Документ")И(ИмяМета="ПоступлениеНаРасчетныйСчет") тогда
СоответствиеСвойств.Вставить("РасшифровкаПлатежа[0].ДоговорКонтрагента",Объект1С.ДоговорКонтрагента);
КонецЕсли;"
Ругается....
Строчка всегда одна.. она существует.... в нее надо запихать договор и контрагент из самого документа...
Или на стороне загрузчика это делать? А где лучше?
Как вести редактирование табличных частей документов?
ПродолжитьОпределениеСвойств = 1;
Если (ТипМета="Документ")И(ИмяМета="АвансовыйОтчет") Тогда
// пример выгрузки целого документа - только первых двух строк из ТЧ
// свойства документа
Свойства = ФЧ(ИдСтрНомерДок) + СтрРавно + ОпределитьСтрокуС(СокрЛП(Объект1С.Номер));
СтрДата = Формат(Объект1С.Дата,"ДФ=ггггММддЧЧммсс");
Свойства = Свойства + СтрЗапятая + ИдСтрДатаДок + СтрРавно + ОпределитьСтрокуС(Лев(СтрДата,8));
Свойства = Свойства + СтрЗапятая + ИдСтрВремяДок + СтрРавно + ОпределитьСтрокуС(Прав(СтрДата,6));
Свойства = Свойства + СтрЗапятая + ОпределитьСтрокуС("ФизЛицо") + СтрРавно + ФЧ(ОпределитьОбъект(Объект1С.ФизЛицо));
// табличная часть документа
ИмяТабличнойЧасти = "Товары";
МетаТабличнаяЧасть = Метаданные.Документы[ИмяМета].ТабличныеЧасти.Найти(ИмяТабличнойЧасти);
Для Каждого МетаРеквизит Из МетаТабличнаяЧасть.Реквизиты Цикл
Стр2 = "";
нс = 1;
Для Каждого СТЧ из Объект1С[ИмяТабличнойЧасти] Цикл
ЗначениеРеквизита = СТЧ[МетаРеквизит.Имя];
Если (ЗначениеЗаполнено(ЗначениеРеквизита)) Тогда
Стр2 = Стр2 + ФЧ(нс) + СтрРавно + ФЧ(ОпределитьОбъект(ЗначениеРеквизита)) + ";";
КонецЕсли;
Если (нс=2) Тогда Прервать; КонецЕсли;
нс = нс + 1;
КонецЦикла;
Если (Стр2<>"") Тогда
ИмяРеквизита = ИмяТабличнойЧасти + "." + МетаРеквизит.Имя;
Свойства = Свойства + СтрЗапятая + ОпределитьСвойство(ИмяРеквизита) + "=(" + Лев(Стр2,СтрДлина(Стр2)-1) + ")";
КонецЕсли;
КонецЦикла;
ПродолжитьОпределениеСвойств = 0;
КонецЕсли;
ПоказатьСоответствиеСвойств.Вставить("РасшифровкаПлатежа.ДоговорКонтрагента","(1="+Объект1С.СубконтоКт2+")");
В файле выгрузки получается вот так: РасшифровкаПлатежа.ДоговорКонтрагента=(1=Договор № N-95538),
Вроде по аналогии с программно выгруженными ревизитами табличной части все правильно, но при загрузке в приемник пишет такое:
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(607)}: Поле объекта не обнаружено (КлючиАналитикиУчетаНоменклатуры)
Мета = Метаданные.Справочники[Имя];
Пытаюсь выполнить загрузку документов "Счет на оплату покупателю" из 8.2 в 8.3
Часть документов загружается отлично. Но дойдя до документа, где в табличной части есть и товары и услуги (заполнены вкладки), документы загружаются пустыми внутри.
Подскажите, как задать параметры для выгрузки, чтобы такого не получалось.
Приемник Бухгалтерия предприятия, редакция 3.0 (3.0.73.54)
В первую очередь большое вам спасибо за обработку - очень выручает.
Нет ли возможности переопределить порядок субконто при загрузке данных для определенных счетов?
Чтобы обработка не считала их различными.
В двух базах порядок субконто для некоторых счетов разный
(определяется тем, что было первым отмечено в настройке плана счетов).
Например в первой базе по счету 10.01 субконто: "Номенклатура", "Партии", "Склады",
а во второй по этому счету субконто: "Номенклатура", "Склады", "Партии"
Счета предопределенные, просто так порядок субконто не поменять.
Из того, что ещё можно улучшить: сохранение списка/загрузка выбранных регистров сведений;
Чтобы каждый раз не отмечать, например, добавить на форму текстовое поле чтобы отмечалось в соответствие
названиями регистров сведений(сейчас можно их скопировать).
В нем выгружается движение в виде:
Дебет=(Счет=Х;ВидСубконто1=Зн1;...),
Т.е. порядок субконто не важен в источнике и получателе.
Главное одинаковое ИмяПредопределенного субконто.
Вероятно у вас старая версия обработки.
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(7221,12)}: Процедура или функция с указанным именем не определена (СтрРазделить)
М1 = <<?>>СтрРазделить(ВернутьЧастьСлева(Стр1,"="),".");
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(7224,13)}: Процедура или функция с указанным именем не определена (СтрРазделить)
М2 = <<?>>СтрРазделить(ВернутьЧастьСлева(Стр1,"="),".");
и т.д.
Что можно сделать?
В последней версии все нормально!
Добрый день, последняя версия теперь только работает на 8.3.13 и выше.
у Вас видно что режим совместимости стоит 8.3.4 вероятно, когда еще не было СтрРазделить, самое простое добавить две функции в модуль:
Функция СтрСоединить(М,Разделитель=";") Экспорт
Стр = "";
Для Каждого ЭМ Из М Цикл
Стр = Стр + ?(Стр="","",Разделитель) + СокрЛП(ЭМ);
КонецЦикла;
Возврат Стр;
КонецФункции
Функция СтрРазделить(Источник,Разделитель=";") Экспорт
ист = СокрЛП(Источник);
Массив = Новый Массив;
Если (ист<>"") Тогда
Если (Разделитель="") Тогда
Массив.Добавить(ист);
Иначе
поз = Найти(ист,Разделитель);
Пока (поз>0) Цикл
стр = СокрЛП(Лев(ист,поз-1));
Массив.Добавить(стр);
ист = СокрЛП(Прав(ист,СтрДлина(ист)-поз));
поз = Найти(ист,Разделитель);
КонецЦикла;
Если (СтрДлина(ист)>0) Тогда Массив.Добавить(ист); КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Массив;
КонецФункции Показать{(1, 9)}: Поле не найдено "Ссылка"
ВЫБРАТЬ <<?>>Ссылка ИЗ Константа.АвтоматическиНастраиватьРазрешенияВПрофиляхБезопасности.Изменения ГДЕ Узел = &Узел
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(21169)}: ТЗЗ = Запрос.Выполнить().Выгрузить();
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(6833)}: ТЗЗ = ВернутьТаблицуИзмененийПланаОбмена(ВыборкаПланаОбмена.Ссылка);
{ВнешняяОбработка.ПереносОбъектов.Форма.УправляемаяФорма.Форма(2346)}: Обработка.АнализироватьВыгрузку();
{ВнешняяОбработка.ПереносОбъектов.Форма.УправляемаяФорма.Форма(2449)}: Адрес = ВыгрузитьНаСервере(Команда.Имя);
по причине:
{(1, 9)}: Поле не найдено "Ссылка"
ВЫБРАТЬ <<?>>Ссылка ИЗ Константа.АвтоматическиНастраиватьРазрешенияВПрофиляхБезопасности.Изменения ГДЕ Узел = &Узел
в чем может быть проблема или как по быстрому это поправить?
Спасибо :)
правила выгрузки изначально все закоментированы, в настройках никакие флаги не установлены и флаг с движениями только установил т.е. с нуля как было по дефолту в выгрузке такое выкидывает на скрине
нажмите флаг на втотом фото "Отключить при анализе вывод колонки всего" - она все тормозит, и если база большая, будет ошибка.
я эту ошибку устраню в след. версии.
да, и в найденных состыкованных объектах ничего не менять кроме тех которые нашлись изначально по ГУИД, такое возможно?
[НайтиПоРеквизиту]
//Справочник.Номенклатура.Артикул
//Справочник.Номенклатура.Наименование // будем искать по наименованию, даже если есть кода в файле загрузки
//Справочник.Контрагенты.ИНН+КПП // возможен поиск по двум реквизитам
//Документ.АвансовыйОтчет.НазначениеАванса+СуммаДокумента
//Документ.АвансовыйОтчет.УникальныйИдентификатор1С // будет включен режим поиска по уникальному идентификатору при наличии в файле
// для более сложного поиска объектов перед загрузкой смотрите в модуле обработки использование переменной
ИмяРеквизитаДляПоиска
Это всё я написал к тому, что знаю о чем говорю(на крупных заводах и военном производстве по официальной трудовой 23 года ведущим инженером-программистом отработал включая руководящие должности, а программирую вообще с 9ти лет с 87го года когда БК0010-01 отец принес), а говорю я о том, что твоя разработка гениальна и спасибо тебе за неё, я думал и не встречу подобного себе.
свободных на дfнный момент 1тр, но хочу хотя-бы этой суммой поблагодарить за эту чудесную разработку, на сайте донат?
ищем строчку в модуле
ПоказатьСостояние("Анализ свойств объектов",номер_объекта,всего_объектов,100);
здесь обход таблицы ТЗОбъекты, в которой важная колонка Равен, если Равен сделать 1, то потом по нажатию кнопки "Загрузить", все такие объекты не будут никах меняться, так как они равны, т.е. здесь в цикле надо вставить проверку после
ИдВид = СТЗ.Вид;надо вставить:
// если объект найден и этот объект не надо загружать вне зависимости от расхождения свойств
Если (ВернутьСтроку(ИдТип)="Справочник")И(ВернутьСтроку(ИдВид)="Номенклатура") Тогда
СТЗ.Равен = 1;
номер_объекта = номер_объекта + 1;
АнализОдинаковых = АнализОдинаковых + 1;
Продолжить;
КонецЕсли;
Показатьдонат - да, этот, все верно.
последний затык остался с предопределенными, в базах различаются и коды и наименования например в справочнике статьи затрат.
по наименованию склеиваю делаю поиск, но туда и предопределенные попадают под этот поиск, НО в одной базе предопределенное называется Амортизация, а в другой Аммортизация и их предопределенное имя у обоих одно - Амортизация, НО в так как в базах различается наименование и код этих предопределенных становиться два одинаковых по имени - Амортизация!
как с этим бороться?
т.е. по этому(и вообще по всем где есть предопределенные) справочнику поиск так и остается по наименованию, но если это предопределенные данные то поиск по предопределенному имени, такое возможно?
если есть предопределенное имя у элемента справочника то поиск ТОЛЬКО по нему, а если нет то как в настройках загрузки прописано (код, наименование...)
не всё так гладко, дошел до загрузки справочников, в справочниках где префиксы в базе источнике на новый префикс поменял и всё-равно такое выскочило:
В данной транзакции уже происходили ошибки!
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(11112)}: Сообщить("Не могу изменить код на уникальный у объекта "+Вид+"."+ СтарыйОбъект.Код + " -> "+СвободныйКод);
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(1808)}: ИзменитьКодСтарогоОбъекта(Вид,НовыйОбъект.Владелец,НовыйОбъект.Родитель,Код);
{ВнешняяОбработка.ПереносОбъектов.Форма.УправляемаяФорма.Форма(446)}: Обработка.ЗагрузитьОбъекты();
{ВнешняяОбработка.ПереносОбъектов.Форма.УправляемаяФорма.Форма(502)}: ЗагрузитьНаСервере(Команда.Имя,АдресВХранилищеДляФайла);
по причине:
В данной транзакции уже происходили ошибки!
и на скрине такая хрень выползла по запрету и плюс не понимаю, в настройках правил загрузки прописано Справочник.СтраныМира.Код, а он нихрена их не нашел в базе приемнике хотя все эти страны с этими-же кодами там присутствуют
Секция [НайтиПоРеквизиту] говорит за себя, это только если надо найти по реквизиту.
Если надо найти по коду надо просто чтобы был код,
Если нужно искать по нименованию, а код не интересен, то исключаем код на стороне выгрузки.
я в коде убрал установку поиска по уникальному идентификатору если есть это свойство и оставил если в правилах установлено по уникальному идентификатору искать, но нихрена не ищутся многие справочники по прописанным реквизитам
полез дальше код копать :)
поменял порядок Наименование+ИНН+КПП и теперь первый с одинаковым наименованием лепит не учитывая КПП
//Справочник.Контрагенты.ИНН+КПП // возможен поиск по двум реквизитам (только по двум!)
// для более сложного поиска объектов перед загрузкой смотрите в модуле обработки использование переменной ИмяРеквизитаДляПоиска
и если не найдено поиск по реквизитам(включая написанные в правилах в секции для реквизитов код и наименование)
и теперь если не находит по ГУИД начинает искать как в правилах прописано, и добавил флаг ТОЛЬКО ПО ГУИД если дальнейший поиск не нужен когда по ГУИД не нашлось
так, малюсенькая-малюсенькая логическая заплаточка и мне заработало как хотел, еще раз спасибо за такой мощный инструмент ;)
вообще возможна такая выгрузка из ут и загрузка в бп этой обработкой?
и если возможно то опиши хотя-бы вкратце порядок действий :)
Вернулся снова к твоей суперкрутейшей разработке, лучше для обмена реально даже не придумано.
и у меня сразу возник вопрос, при выгрузке документов есть фильтр по периоду, а возможно без вмешательства в код выгрузки накладывать дополнительно фильтр по организации, а в документах операции отбор по части комментария в документе, или всё-таки допиливать код выгрузки для этих целей?
и еще, если выгруженных строк больше 999999 то при загрузке при подготовке он пытается из 999999-1 строки либо ссылку либо дату либо ещё что-то ожидать, но там не то, что программа ожидает ибо не эта строка на самом деле нужна
спасибо :)
Пытались выгрузить и загрузить справочник сотрудники из одной базы ЗГУ3 в такую же ЗГУ3. Сотрудники выгрузились , организация выгрузилась и загрузилась , а в новой базе сотрудников нет . Почему такое может быть ?
[ИсключаемыеСвойства]
Сведение.ПараметрыАмортизацииОСБухгалтерскийУчет.СпособНачисленияАмортизации
похоже это в движениях по этому регистру и, но в движениях как я понял можно только весь регистр убрать, а не его конкретное свойство
НО в файле выгрузки на том-же месте нахожу этот реквизит!
в старой версии успешно пропускалось это свойство даже без правил выгрузки, а сейчас даже с правилами оно всё-равно выгружается и не пропускается при загрузке с флагом разные конфигурации
Есть основная база КА2 с нужной номенклатурой
Есть дополнительная база КА2
Нужен односторонний обмен номенклатурой с картинками и свойствами из основной базы в дополнительную, при этом: в дополнительной базе номенклатура создается если неё нету или обновляется из основной, другая существующая номенклатура не удаляется.
а нельзя ли сделать настройку поиска на этапе выгрузки? т.е. использовать [НайтиПоРеквизиту] в правилах выгрузки.
в БП есть документ ОперацияБух, который не содержит ТЧ проводок, но является регистратором для проводок.
и надо в базу БП через виртуальный документ перенести проводки из другой базы, причем общий перенос движений документов не нужен.
пример ПримерВыгрузкиБухСправокСРазделениемПоНесколькимТЧ я изучил, но это немного не то...
(259) немного другая ситуация, есть самописный документ в типовой бп3, движения которого надо перенести в другую типовую бп3 как ОперацияБух, т.е. через виртуальный документ, и каким образом настроить выгрузку...
при наличие в выгрузке 2 разных документов (например, поступление товаров и отчета о розничных продажах) с одинаковым номером выгружает только первый по дате/времени.
сможете поправить?
Добрый день
ну увы...
конфа Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.98.11)
платформа 1С:Предприятие 8.3 (8.3.18.1208)
документы:
поступление товаров 0000-000051 от 20.10.2021
отчет о розничных продажах 0000-000051 от 31.10.2021
Если выгружать за весь октябрь то в выгрузке есть только поступление
если выгружать двумя выгрузками, по 20 и с 21 - то переносятся оба документа.
заполнение документов идет только через доп. запрос, через правила выгрузки.
посмотрите пжл, может удастся найти причину, или может я как то неправильно выгружаю.
если бы еще объекты выгрузки можно было посмотреть...
Возможно какой то реквизит с ошибкой переносится.
Через Com обмен может по разным причинам не сработать - тут и с доступом могут быть проблемы.
В Правилах загрузки добавлена секция:
[НайденныеНеИзменять]
// не изменяет свойства в найденный объектах, то есть загружаются только новые объекты
//Справочник.<Любой>
//Справочник.Номенклатура
//Документ.АвансовыйОтчет
спасибо, пригодится)
сейчас больше интересует вопрос про 2 разных документа с одинаковыми номерами...
добрый день
а размер выгрузки как то влияет на результат анализа?
строки 25964
объекты 5924
документ 1073
справочник 4787
после анализа часть ветвей загрузки (слева) выделяется цветом, но в таблице изменений (справа) только данные загрузки, без сравнения.
почему это может быть? дерево не обновляется?
ДД. в том то и дело, что не весь он новый...
на меньшей по количеству объектов выгрузке все заполняется...
а при таком количестве почему то нет...
Поле объекта не обнаружено (UID)
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(5494)}: ТипРеквизита = ТипЗнч(Объект1С[Свойство]);
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(2064)}: ИзмененоОбъектов = ИзмененоОбъектов + ЗагрузитьСвойстваОбъекта(СТЗ.Объект1С,СокрЛП(СТЗ.Свойства),Число(СТЗ.Тип),Число(СТЗ.Вид));
{ВнешняяОбработка.ПереносОбъектов.Форма.Форма.Форма(135)}: ЗагрузитьОбъекты();
Обработка "MovingObjects.epf " в УТ 10.3 не открылась, поэтому скачала версию для 8.1 и ей выгрузила данные.
При попытке "анализировать" (перед загрузкой в УТ 11.5) выскакивает ошибка:
Поле объекта не обнаружено (ЕдиницыИзмерения)
{ВнешняяОбработка.ПереносОбъектов.МодульОбъекта(578)}: Мета = Метаданные.Справочники[Имя];
{ВнешняяОбработка.ПереносОбъектов.Форма.УправляемаяФорма.Форма(459)}: Обработка.АнализироватьОбъекты();
{ВнешняяОбработка.ПереносОбъектов.Форма.УправляемаяФорма.Форма(524)}: ЗагрузитьНаСервере(Команда.Имя,АдресВХранилищеДляФайла);
Таким образом вообще можно выгружать? И как устранить ошибку?
Вернулся снова к твоей суперкрутейшей разработке, лучше для обмена реально даже не придумано.
и у меня сразу возник вопрос, при выгрузке документов есть фильтр по периоду, а возможно без вмешательства в код выгрузки накладывать дополнительно фильтр по организации, а в документах операции отбор по части комментария в документе, или всё-таки допиливать код выгрузки для этих целей?
и еще, если выгруженных строк больше 999999 то при загрузке при подготовке он пытается из 999999-1 строки либо ссылку либо дату либо ещё что-то ожидать, но там не то, что программа ожидает ибо не эта строка на самом деле нужна
спасибо :)
Начиная с версии 3.43 обработка используется двоичный формат данных.
Максимальное количество объектов в одном файле до 2 147 483 647.
На больших объемах данных выгрузка и загрузка работает быстрее на 30-40%
Но есть замечание к автору обработки - обратите внимание на индексирование Таблиц Значений когда используете НайтиСтроки(). Сравнение объектов после индексирования происходит не за 10 минут, а за 1 минуту. У себя поправил.
1. Начните с переноса любого одного документа (все используемые справочники в документах сами подцепятся)
2. В получателе смотрим, что не совпало и правим правила в источнике (подмена имен или исключаемые свойства),
3. И так несколько итераций, в конечном счете получаем в получателе все объекты корректно загрузятся и тогда можно поставить на выгрузку все необходимые документы или остатки
Внешний Регламент
В нем есть и эта обработка и обработки по выгрузки/ загрузки данных по отдельной организации
в фоновом задании..
Можете посмотреть как пример.
Рейтинг: 907
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 336213
Создание 16.03.15 10:42
Обновление 17.10.26 13:08
Просмотры 131830
Загрузки 2462
Рейтинг
316
Комментарии 296
Код открыт Да
Рубрики Перенос данных 1C
Кому Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С:Предприятие 8
Конфигурация Универсальные
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)