Собственно вопрос в названии.
Есть две УТ11 идентичные, выгружаю Поступления вместе с товарами и штрихкодами. Товары в приемнике создаются, но если в источнике у товаров были кратинки - при попытке зайти в такой товар в приемнике получаю
ошибку
Ошибка открытия файла:
"11.jpg".
Присоединен к Позиция номенклатуры : 11
Файл не найден в хранилище файлов.
Обратитесь к администратору.
Пробовал создавать ПВД для справочника ПрисоединенныеФайлы и регистра ПРисоединенныеФайлы, но в отборе для регистра не получается нормально отобрать данные.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК ДокПоступленияОтбор
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2
| И ПоступлениеТоваровУслуг.Организация = &Организация";
Запрос.УстановитьПараметр("Дата1", (ТекущаяДата() - 60*60*24*5));
Запрос.УстановитьПараметр("Дата2", ТекущаяДата());
Запрос.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоНаименованию("_______"));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
МассивПоступлений = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
МассивПоступлений.Добавить(ВыборкаДетальныеЗаписи.ДокПоступленияОтбор);
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПрисоединенныеФайлы.ПрисоединенныйФайл КАК ПрисоединенныйФайл,
| ПрисоединенныеФайлы.ХранимыйФайл КАК ХранимыйФайл
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
| ПО (ПоступлениеТоваровУслугТовары.Номенклатура = НоменклатураПрисоединенныеФайлы.ВладелецФайла)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПрисоединенныеФайлы КАК ПрисоединенныеФайлы
| ПО (ПоступлениеТоваровУслугТовары.Номенклатура = ПрисоединенныеФайлы.ПрисоединенныйФайл.ВладелецФайла)
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка В(&МассивПоступлений)
| И НЕ НоменклатураПрисоединенныеФайлы.Наименование ЕСТЬ NULL";
Запрос.УстановитьПараметр("МассивПоступлений", МассивПоступлений);
//ВыборкаДанных = Запрос.Выполнить().Выбрать();
//Пока ВыборкаДанных.Следующий() Цикл
// ВыгрузитьПоПравилу(ВыборкаДанных,,,,"НоменклатураПрисоединенныеФайлы",,,,,);
//КонецЦикла;
ВыборкаДанных = Запрос.Выполнить().Выгрузить();
ВыборкаДанных.Свернуть("Номенклатура, ПрисоединенныйФайл, ХранимыйФайл");
Для Каждого Элемент Из ВыборкаДанных Цикл
ВыгрузитьПоПравилу(ВыборкаДанных,,,,"ПрисоединенныеФайлы",,,,,);
КонецЦикла;
Показать
Второй запрос возвращает задвоенные данные, а при попытке преобразовать выборку в таблицу значений и свернуть ее - получаю ошибку при выгрузке... Прошу помощи.
Какие ПВД необходимо создать для грамотной выгрузки присоединенных к номенклатуре картинок? Там ведь, насколько я понимаю, ХранилищеДанных с двоичными данными по картинкам... Как их выгрузить правильно не могу сам дойти.
Делаете ПКО для справочника НоменклатураПрисоединенныеФайлы, В ПКО Номенклатура для пкс ФайлКартинки указываете созданное ПКО. В обработчике ПослеЗагрузки для ПКО НоменклатураПрисоединенныеФайлы пишите следующий код:
Делаете ПКО для справочника НоменклатураПрисоединенныеФайлы, В ПКО Номенклатура для пкс ФайлКартинки указываете созданное ПКО. В обработчике ПослеЗагрузки для ПКО НоменклатураПрисоединенныеФайлы пишите следующий код
Загрузка отработала, написала, что файлы загружены. НО при попытке их открыть в приемнике - ошибка. Может все-таки стОит еще и какие-нибудь двоичные данные передавать?
(5) В карточке товара написано, что файл есть, в поле описание пусто, если зайти в файл - там тоже файл есть, но открыть его не получается, ошибка. Уже голову сломал...
(8) А базы приемника и источника находятся на одном сервере? у меня такое ощущение. что в базе-источнике картинки хранились не в базе, а в каталоге, а у базы-приемника нет доступа к этому каталогу. У вас именно в хранилище значений некорректные данные. Попробуйте в качестве эксперимента в ПКО у свойства ТипХраненияФайла прописать
Значение = "ВИнформационнойБазе"; и очистить правило.
(9)Очистил источник (не увидел его на скрине) и добавил указанный код в ПКС ТипХраненияФайла ПКО НоменклатураПрисоединенныеФайлы. Теперь при выгрузке сообщение с ошибкой "Не найдено соответствие...", но данные выгружаются, а в приемнике вместо пустой картинки вообще пусто (картинка не выгружается), а все остальное как и было. Файл показан 1, если на него нажать - показывает название файла, если нажать на файл - ошибка как в первом посте. В общем не вышло.
(8) Если не поможет, то это только смотреть правила нужно. У меня аналогичные правила работают нормально, без проблем. Тут публиковал подобные правила https://infostart.ru/public/634454/
Из самописки в УТ11 использовал выгрузку изображения в Параметр а потом в ПКО после загрузки, при помощи библиотечных методов прикреплял к номенклатуре
// Основное изображение
Изображение = ПараметрыОбъекта.Получить("ОсновноеИзображение");
Если Изображение <> Неопределено Тогда
ДанныеИзображения = Изображение.Получить();
МассивФайлов = Новый Массив;
ПрисоединенныеФайлы.ПолучитьПрикрепленныеФайлыКОбъекту(Объект.Ссылка, МассивФайлов);
Если МассивФайлов.Количество() = 0 Тогда
ДвоичныеДанные = ДанныеИзображения.ПолучитьДвоичныеДанные();
АдресФайлаВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор);
ПараметрыФайла = Новый Структура;
ПараметрыФайла.Вставить("Автор", Пользователи.АвторизованныйПользователь());
ПараметрыФайла.Вставить("ВладелецФайлов", Объект.Ссылка);
ПараметрыФайла.Вставить("ИмяБезРасширения", СтрЗаменить(Объект.Артикул, " ", "_"));
ПараметрыФайла.Вставить("РасширениеБезТочки", "jpg");
ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное", ТекущаяУниверсальнаяДата());
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
СсылкаНаКартинку = ПрисоединенныеФайлы.ДобавитьПрисоединенныйФайл(ПараметрыФайла, АдресФайлаВХранилище);
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.ФайлКартинки) Тогда
Объект.ФайлКартинки = СсылкаНаКартинку;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Пытаюсь из УТ11.1 -> УТ11.4 сделать. Не выгружает картинку.
Справочники: Номенклатура, НоменклатураПрисоединенныеФайлы заполнил. РС ДвоичныеДанныеФайлов тоже.
В карточке товара написано, что файл есть, если зайти в файл - там тоже файл есть, но открыть картинку его не получается, ошибка.
Не поделитесь опытом ?
Доброго дня всем. Возможно, кому-то поможет.
При отладке было замечено, что в справочнике присоединенные файлы не заполнялся реквизит ТипыХраненияФайлов. Надо добавить соответствующий ПКО и изображения встают на место.