#0
by AndreyBorovkov
Здравствуйте всем! Стоит задача перенести справочник номенклатура из УТ в УНФ. Переношу с помощью КД. Все ясно кроме одного момента. Как перенести ОсновноеИзображение номенклатуры с помощью КД если в УТ - реквизит ОсновноеИзображение имеет тип хранилище значений а в УНФ - это справочник файлы. Может кто сталкивался подскажите будьте добры..
#3
by vicof
Тебе надо привести твой файл к типу ХранилищеЗначения. Я не знаю, как там в УНФ, скорей всего тоже хранилище. Перед выгрузкой изображения пишешь: Значение = Источник.ТвойФайл.РеквизитХранилище; Ну или как там у тебя в УНФ добраться до реквизита, который этот файл содержит.
#4
by cw014
У него из хранилища в справочник нужно передать В значение передавай структуру, вызывай правило, которое загрузить по этой структуре справочник
#5
by AndreyBorovkov
В УТ - это реквизит, тип "ХранилищеЗначений" В УНФ - это реквизит, тип справочник "файлы" Я переношу из УТ в УНФ. Может наоборот всетаки?
#8
by Поpyчик-4
Я бы кодировал изображение в УТ в формат base64 и передавал в УНФ в параметрах объекта. При загрузке объекта в УНФ раскодировать данные и записывать в справочник файлы или что там в УНФ.
#9
by cw014
1.Сделай правило для справочника "Файлы" без источника, укажи реквизиты 2. В ПКО "ОсновноеИзображение" перед выгрузкой пиши: Значение = Новый Структура(ТутПеречисляйРеквизитыИНеЗабудьОсновноеИзображение,Тут,Перечисляй,Значения,Реквизитов,Не,Забудь,Основное,Изображение...); ПКО укажи свое правило в 1
#13
by Kvestin
Я бы делал так: - перегнал исходное Хранилище значений в Base64 строку, которую можно безболезненно передавать как текст - при загрузке конвертировал это строку обратно в файл Далее надо в соответствующей подсистеме УНФ смотреть, что надо подать на вход процедуре, чтобы она закинула файл туда куда нужно и привязала его к нужному объекту (там их несколько есть). В простейшем случае, можно самому сделать элемент справочника Файл, но это не лучший вариант, т.к. организация хранения может поменяться (хранили в конфигурации а потом решили в томах) и ваш код перестанет работать. Лучше просмотреть экспортные процедуры подсистемы Файлы и использовать именно их после загрузки самого элемента номенклатуры.
#18
by Kvestin
На правилах КД у меня работат все переносы (между ЗУП, УПП, УТ и БУ + самописная на БСП). Чтобы понять как работать с КД, необходимо просмотреть всю логику работы универсальной загрузки XML (что я и сделал в свое время). Все остальное - это гадание на галочках в правилах без понимания как все это обрабатывается изнутри.
#19
by AndreyBorovkov
Вы не могли бы подробней описать как сделать перенос? Я думаю это пригодится для других. Как преобразовывать и в какую процедуру задействовать?
#20
by Kvestin
У меня нет под рукой УНФ, и я не помню, как именно там привязывается изображение к номенклатуре. Т.е. там именно реквизит с типом СправочникСсылка.Файлы или просто список файлов привязанных в элементу справочника Номенклатуры через владельца. Исходя из этого будет понятно как искать этот присоединенный файл в справочнике УНФ (т.к. никакого GUIDа при выгрузке у вас нет). Далее необходимо создать ПКО для конвертации из хранилища значений в СправочникСсылка.Файлы. В это правило добавляем параметр [Base64] и ставим галку [Получать из входящих данных].Далее перед выгрузкой пишем: Таким образом, мы получим при загрузке сам файл в виде строки. Далее надо настроить поиск этого самого файла в справочнике Файлы. После этого при загрузке возможны 2 варианта: - нашли файл и его надо обновить - файл к номенклатуре не привязан и надо его добавить Чтобы не гадать. Я запустил бы мониторинг производительности и сделал бы обе эти операции в УНФ "руками". Протом проанализировал какие функции используются в том или ином случае. Результат анализа написал бы в После загрузки ПКО. Как пример вот кусок кода в ПКО для переноса УТ => РАРУС CRM (писал напарник):
#21
by Kvestin
Обратите внимание: - в БСП две подсистемы работы с файлами (в УНФ скорее всего тоже). Одна подразумевает версионирование, а вторая нет. Модули для добавления у них различные. - обязательно протестируйте вариант добавление новой номенклатуры с новым файлом, т.к. в этом случае вам надо добавить элемент в справочник Файлы с владельцем (элемент спаравочника Номенклатура), который еще не записана (и фактически ссылки у вас еще нет).
#23
by AndreyBorovkov
Итак в ПКО Номенклатуры в обработчике После выгрузки пишу: Вся номенклатура сначала загружена без картинок, то есть она существует в базе. При попытке загрузить её уже с картинками выскакивает ошибка при записи номенклатуры как бы объект(номенклатура) несоответвует (изменен)("операция не может быть выполнена из-за несоответствия версии") , оно ясно что он изменен в той функции из бсп, но я же в конце пишу отказ . почему все равно производится попытка записи.
#24
by AndreyBorovkov
Кстате для этого первого элемента на котором и выскакивает ошибка перегрузилось фото и подставилось как мне надо. Как мне обойти эту ошибку что б номенклатуру не записывало?
#26
by Kvestin
Почему используете обработчик ПослеВыгрузки? Нужно использовать [ПередВыгрузкой] для формирования Base64 строки и [ПослеЗАГРУЗКИ] для добавления изображения на этапе загрузки.
#27
by Kvestin
"оно ясно что он изменен в той функции из бсп" - не совсем понимаю зачем эта функция должна записывать номенклатуру переданную по ссылке в [ВладелецФайла].
#28
by AndreyBorovkov
Я "Перед выгрузкой" сделал как вы говорили. И на "Перед загрузкой" получил двоичные данные все как положено. В общем с задачей справился, благодаря Вам! Создал с помощью конвертации элементы справочника "файлы", и отделно обработкой привязал их к номенклатуре! Все получилось! Еще раз спасибо Вам большое, без Вас я б к этому решению не пришол бы сам..
#29
by Kvestin
Меня просто смутила фраза "Итак в ПКО Номенклатуры в обработчике После выгрузки пишу:". Поэтому и спросил. Я рад что у вас все получилось. Хороших выходных ...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Конвертация справочников из 77 в УПП 80? Конфа конвертация данных 2.0. КАК7
- Конвертация Данных (Перенос операций)
- Конвертация данных, перенос остатков?
- Конвертация данных - конвертация реквизитов дока.
- Конвертация данных. Перенос цен из 77 в 80
- Конвертация Значений. (Конвертация данных 2.0)
- Конвертация данных 2, V8.1, конвертация периодических реквизитов
- Конвертация данных 2.0(перенос справочника номенклатуры)
- Конвертация данных. Конвертация двух реквизитов в один.
- Конвертация, перенос "Номеров ГТД" в "Серии номенклатуры"
- Конвертация данных. Перенос проводок бухгалтерского регистра
- Конвертация Данных. конвертация одного реквизита в другой
В этой группе 1С
- ЗУП,Начисление по БЛ, задваивается одна из выплат
- Резервирование товаров в БП 3.0?
- Как и откуда в подписку на событие передать реквизит
- всплывающие Оповещения пользователям 1с 8.2 УФ
- Бухгалетрия 3.0 изменение номера счета фактуры выданного
- Как внутри обработки определить владельца - откуда её вызвали. Например, меню
- Как получить форму обработки при работе с регламентными заданиями
- Выдать сообщение в модуле регистра накопления при отмене записи.
- УТ11 - Что если отключить привязку касс к организациям?
- КА Дебиторская задолженность по срокам долга
- windows 8.1 single language - проблема настройки Remote Desktop
- технологический журнал - стек вызовов
- v7: Запрос с участием Позиции документа.
- СКД: параметр типа стандартный период
- Как определить Буква или Число в строке
- Не выводится сообщение в управляемом приложении
- но согласно спецификации устройства резервного копирования ожидаются семейства н
- УТП: Казахстан, но это неважно
- Авансовый отчет не попадает в книгу доходов и расходов 1с БП 8.2
- Установка Сервера 1С 8.3