Занятие № 04. Курс «1С:Конвертация данных 2.1 – Профессиональная настройка правил обмена и типовые сценарии переноса данных»
Преобразования при переносе данных
Изучите теорию модуля № 1:
- Глава 5. Перенос разнотипных данных
Выполните практические задания:
Отчеты по домашним заданиям размещайте по ссылкам, указанным выше. Отчеты, опубликованные на этой странице, удаляются без предупреждения.
Ваши вопросы по материалам данного занятия задавайте в комментарии ниже.
Общие вопросы по курсу, не связанные с конкретным занятием, задавайте на странице: http://kursy-po-1c.ru/data-conv/all-hw/convdata-common-qa/
Общие вопросы по курсу, не связанные с конкретным занятием, задавайте на странице: http://kursy-po-1c.ru/data-conv/all-hw/convdata-common-qa/
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии / обсуждение (184):
Комментарии закрыты
Добрый день, скажите, а можно ли настроить, чтобы пользователь перед загрузкой на форме обработки интерактивно указывал параметр, например, организация по умолчанию, которая будет использоваться по умолчанию, а в правилах прописать заполнение соответствующего реквизита из этого параметра. И как это сделать (я имею ввиду добавить возможность указания параметра)?
Посмотрите урок 2.2.4. Подключаемые обработки. Там подобное рассматривается
Добрый день! Подскажите пожалуйста, решаю такую задачу:
Есть две базы УТ 11.4, из Источника передается документ “Заказ на перемещение” в Приемник должен заходить как “Перемещение товаров”, но табличная часть перемещения в Приемнике должна заполнятся по существующим остаткам склада отправителя т.е.
В заказе имеем Т1 5шт;Т2 5шт;Т3 10шт, а на остатках в Приемнике Т1 2шт;Т2 1шт;Т3 0шт соответственно в документе Перемещение товаров табличная часть заполняется вот так Т1 2шт;Т2 1шт как можно реализовать такой перенос?
Сделал так создал ПКО и ПКС, в обработчике ПКО после загрузки написал запрос который проверяет остатки и при помощи выборки заполняю Объект.Товары, но ничего не получается.
Правила прилагаю
правила не приложены
Добрый день! Прикрепил.
Новая попытка)
…
(текст комментария доступен только участникам Мастер-группы)
опять нет
Добрый день!
Новая попытка.
Добрый день. У меня Ваше правило отработало через универсальный обмен данными в формате xml
Добрый день! У меня не отрабатывает. Хотелось бы узнать я правильно делаю? Или нет? Сам механизм, можете проверить? Какую последовательность соблюдать, схему можете подсказать? Просто есть сомнения по поводу моих правил. И они все же не отрабатывают, товарный состав переносится один к одному, опишу еще раз ситуацию:
В базе Источнике в заказе на перемещение присутствуют товары: Т1-5шт;Т2-5шт;Т3-10шт нужно, что бы при загрузке или после выгрузки в базе Приемнике табличная часть документа перемещения товаров корректировалась (пере заполнялась) в соответствии с остатками базы т.е. в базе приемнике на остатке есть:
Т1-2шт;Т2-1шт;Т3-0шт соответственно в документ перемещения должен попасть вот такой товарный состав: Т1-2шт;Т2-1шт, а у меня ничего не пере заполняется, переносится один к одному товарный состав.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Пытался повторить перенос в реквизит составного типа из урока 1.5.5. Все переносится, но отображается не синоним, а программное имя. В чем может быть причина?
…
(текст комментария доступен только участникам Мастер-группы)
Помогло, спасибо!
Здравствуйте. В 1 модуле 5 главы 4 урока, рассматривается конвертация справочник – перечисление, но во всем занятии рассматривается только случай, если переносятся предопределенные элементы справочника и ни слова не сказано как быть в случае если нужно переносить не предопределенные элементы справочника ?
…
(текст комментария доступен только участникам Мастер-группы)
Да вроде так и делал, но все равно не получается, видимо в другом месте ошибка.
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Помогите, пожалуйста, разобраться. Не удается воспроизвести пример (глава 5, урок 6) “Перенос в реквизит составного типа данных”. Повторяю все действия тренера (создаю ПКС ПричинаУвольнения, пишу код обработчика Перед выгрузкой как в видео, где задается значение параметра ТипПриемника). Однако значение переносится как строка – в приемнике в нее записывается идентификатор значения перечисления, а не ссылка. В файле данных для свойства ПричинаУвольнения ни указывается его тип (например, для работника Абрамов).
Использую версию Конвертации данных 2.1.8.2, платформа 8.3.10.2651. Правила обмена и файл с данными прилагаю.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо! Все получилось.
Здравствуйте.
Возникла ошибка при загрузке правил обмена “{Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(724)}: Конструктор не обнаружен
Возврат Новый(Тип);
”
Что делать??
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день. Переношу справочник “Договоры контрагентов” БП2.0-БП3.0. В БП2.0 добавлен новый реквизит типа перечисление “ПроектДоговора”. В БП 3.0 это реализовано через “Дополнительные реквизиты” с типом значения Дополнительное значение с указанием ограниченного перечня выбираемых значений.
Создал ПКО для справочника Договора контрагентов, в процедуре “После загрузки” указал следующий код
ТЗСвойства.Колонки.Добавить("Свойство");
ТЗСвойства.Колонки.Добавить("Значение");
Строка = ТЗСвойства.Добавить();
//Указываем свойство
Строка.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ПроектДоговора");
//Значение свойства
Строка.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Проект1");
//Записываем значение свойства в договор
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Объект.Ссылка, ТЗСвойства);
Процедура экспортная, при загрузке ругается. И второй вопрос, значение свойства должно устанавливаться на основании реквизита у договора у базы источника
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Общий модуль пытался записать объект после установки свойства и выдавал ошибку, видимо потому что объекта в базе еще нет. Перенес кусок кода из общего модуля в ПКО, выгружается как надо.
Здравствуйте! Прошу помочь с пониманием настроек конвертации на конкретном примере.
Видео из Модуля 1, главы 5, 1.5.4. Конвертация “справочник – перечисление”, скриншот на 07:21.
Здесь приведено ПКС, в котором программно устанавливается реквизит «СостояниеДокумента». Вопрос: насколько понимаю, реквизит ПКС Источник заполняется в случае явного сопоставления реквизитов Источника и Приемника. В данном же случае, при обращении из ПКС к реквизиту ПКО через точку: «Источник.СтатусДокумента = …», заполнять поле ПКС Источник не требуется, поле лучше было оставить пустым. Прав ли я?
…
(текст комментария доступен только участникам Мастер-группы)
Хотелось бы уточнить в чем разница при выгрузке примитивного типа данных и ссылочного? Для примитивного выгружается непосредственно значение, а для ссылочного ссылка и все связанные данные?
…
(текст комментария доступен только участникам Мастер-группы)
А как происходит передача значения из ПКС в ПКО? Что передается и в каком виде? Опять же какая разница будет между примитивным типом данных и ссылочным? И как в этом участвует параметр “Значение”, он нужен только для разработчика или значение “Значения” всегда чем-то заполняется?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день. Вопрос по ДЗ 1.4.2, подзадание 2. В решении преподавателя в ПКО РеализацияТоваровУслуг в ПКС для Организация обработчик ПередВыгрузкой получает значение константы
далее управление передаётся в служебное ПКО Организации, где в ПКС Наименование в обработчике ПередВыгрузкой следующий код:
непонятен его смысл, разве это не дублирование стардартного поведения системы?
…
(текст комментария доступен только участникам Мастер-группы)
да, понял в чем дело. Изначально прописал получение значения константы в 2-х местах, в ПКС Организация ПКО РТУ и в ПКС Наименование ПКО Организация. В таком состоянии выгрузка-загрузка естественно прошла успешно, потом когда убрал дублирование перед загрузкой не удалил данные, в результате показалось, что отработало и так :) Но при выгрузке ошибки нет
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день.
Лекция 1.5.2.
Перенос строки КодаФилиала Работника в Справочник Организации, где код филиала является кодом объекта Организация. Версия КД 2.1.8.2. Версия обработки УОД 2.1.8. Для того, чтобы работало ПКС КодФилиала->Организация не пришлось поставить флаг поиска, иначе ПКС просто не отрабатывалось.
Лекция 1.5.5
ТипПриемника не переносится. “Использовать оптимизированный формат…” перед выгрузкой снимаю. В файле выгрузки тип данных указан, в конечной базе требует выбрать тип при попытке редактирования реквизита сотрудника… Или я неверно трактую системное сообщение? Когда открывается окно для выбора типа данных – строка с типом данных, которая подсвечена и является типом данных, который соответствует подставленному в данный момент значению? Или для перечисления должен сразу открываться список значений перечислений?
…
(текст комментария доступен только участникам Мастер-группы)
Мой вопрос не относится напрямую к этому уроку, но в обработке универсального обмена для обычных форм можно устанавливать отборы на выгружаемые данные. В управляемом варианте – только период. С этим нужно мериться или есть какие-то настройки/другие возможности?
…
(текст комментария доступен только участникам Мастер-группы)
*мИриться*, ошибся в тексте вопроса.
Спасибо, Ольга.
Т.е. без дополнительных настроек правил конвертации отбирать можно только в режиме обычного приложения? Там фильтры доступны по умолчанию.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
У меня такая задача. Необходимо перенести документ. В источнике нет табличной части, а в приемнике есть. Мне нужно добавить одну строку в табличную часть. Как мне это лучше сделать? Правильно ли будет если я пойду таким способом:
в ПКО документа в обработчике “После загрузки” написать код
НоваяСтрока.Сумма = Объект.СуммаДокумента;
Или есть какой то более правильный и оптимальный способ?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо за ответ)
1. Тип клиента >> Вид клиента
Создаем ПКО для данного переноса
ПКС: в качестве приемника: Наименование, в Обработчике “Передвыгрузкой”:”Значение=Строка(Источник);”
Создаем ПКС Типклиента >> Видклиента в ПКО Контрагенты
2. Юридическое лицо >> Юридическое физическое лицо.
Создаем ПКС Юридическоелицо>> Юридическоефизическоелицо в ПКО Контрагенты
в Обработчике “Передвыгрузкой”:
Значение="ЮридическоеЛицо";
Иначе
Значение="ФизическоеЛицо";
КонецЕсли;
>
Доброго дня!
На текущей странице принимаются только вопросы по занятию.
Отчет по заданию нужно оставить на странице с самим заданием.
В уроках не первый раз используется прием, когда в обработчике ПКО ПослеЗагрузки проверяется объект на модифицированность, или что реквизит действительно изменился. А как быть с константами, если они все разом переносятся в ПКО КонстантыНабор? Пример. Необходимо объединить несколько баз в одну, константы везде идентичны, но значения могут различаться. Допустим, что все константы булево. Как сделать, что если в итоговой базе константа имеет значение Истина, а у очередной передаваемой – Ложь. Как указать, что если уже есть Истина, то на Ложь менять нельзя? Что вообще является Объектом в обработчике ПослеЗагрузки – массив констант?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Вопрос по ситуации, аналогично описанной LeonidPS от 01.09.2016г
При разборе урока 1.5.05 не получается перенести информацию в реквизит составного типа.
Данные переносятся как строка. Выполняю все, как на видео в уроке, но все равно получается
только строка (д.б. перечисление)
Значение="ЗаПрогул";
ТипПриемника="ПеречислениеСсылка.ПричиныУвольнения";
Сообщить(Значение + "_" + ТипПриемника);
ИначеЕсли Найти(нрег(Источник.ПричинаУвольнения),"собствен") тогда
Значение="ПоСобственномуЖеланию";
ТипПриемника="ПеречислениеСсылка.ПричиныУвольнения";
Сообщить(Значение + "_" + ТипПриемника);
КонецЕсли;
Но в файл с данными тип не заполнен, хотя в Сообщить выдает тип правильно.
Ваш совет снять флажок Использовать оптимизированный формат … на закладке
Доп. настройки при загрузке результата не дал.
Что еще надо исправить или проверить?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо, работает правильно.