|
|
|
Не отображается картинка в присоединенные файлы | ☑ | ||
|---|---|---|---|---|
|
0
mralexshapovalov
05.06.25
✎
09:24
|
Ребят,всем привет! Пытаюсь реализовать программно добавление картинки в "СправочникПрисоединенные Файлы" ,файл создает но не открывает,можете подсказать в чем проблема? Может что-то добавить нужно?
СтрокаBase64 = ПолучениеСтрокивВBase64; // Замените на вашу строку в формате Base64 ЗаказПокупателя = Документы.ЗаказПокупателя.НайтиПоНомеру("НомерЗаказа"); // Замените на нужный номер заказа НовыйФайл = Справочники.СправочникПрисоединенныеФайлы.СоздатьЭлемент(); НовыйФайл.ВладелецФайла = ЗаказПокупателя; НовыйФайл.Наименование = "Картинка"; НовыйФайл.Расширение = "jpg"; НовыйФайл.Автор = Пользователи.ТекущийПользователь(); ДвоичныеДанныеФайла = Base64Значение(СтрокаBase64); НовыйФайл.Хранилище = Новый ХранилищеЗначения(ДвоичныеДанныеФайла, Новый СжатиеДанных(9)); НовыйФайл.Записать(); |
|||
|
1
Волшебник
05.06.25
✎
09:29
|
Может покажете реальный программный код?
|
|||
|
2
mralexshapovalov
05.06.25
✎
09:33
|
(1) А в чем он не реальный? Что в нем не так?
|
|||
|
3
Fish
гуру
05.06.25
✎
09:40
|
(2) Где данные самой картинки?
|
|||
|
4
mralexshapovalov
05.06.25
✎
09:46
|
(3) Получается идет преобразование СтрокаBase64 в двоичные данные. Это есть картинка. В 1С она отображается,но засунуть в хранилище не получается.
|
|||
|
5
Fish
гуру
05.06.25
✎
09:48
|
(4) А что у тебя в СтрокаBase64 ?
|
|||
|
6
mralexshapovalov
05.06.25
✎
09:57
|
(5) Если весь алгоритм. У меня есть ComОбъект,который делает скриншот и передает в 1С качестве строки который кодирован в Base64. Потом методом Base64Значение,получаю уже двоичные данные.
|
|||
|
7
arsik
гуру
05.06.25
✎
10:23
|
Может для начала записать двоичные данные в файл и проверить. Может этот файл и не открывается.
Ну или скинь сюда что внутри СтрокаBase64 |
|||
|
8
mralexshapovalov
05.06.25
✎
11:10
|
(7) Я сейчас единственное заметил,что НовыйФайл.Хранилище имеет тип ХранилищеЗначения,но в регистр ХранилищеФайлов не попадает. Может в этом есть какая-то связь?
|
|||
|
9
Волшебник
05.06.25
✎
11:11
|
(8) что за регистр ХранилищеФайлов?
|
|||
|
10
Мультук
гуру
05.06.25
✎
11:14
|
(8)
Наверняка в вашей конфе есть БСП А значит есть общие модули "РаботаСФайлами" А значит есть функция Функция ДобавитьФайл(<Всякие параметры>) А это в свою очередь означает, что "всё уже написано за нас" |
|||
|
11
craxx
05.06.25
✎
11:19
|
(10)
Наверняка в вашей конфе есть БСП
не факт, может какая-то самописка ручной работы 17 века. |
|||
|
12
mralexshapovalov
05.06.25
✎
11:28
|
Да,БСП. Только не понятно как можно добавить двоичный файл в данную функцию?
|
|||
|
13
Мультук
гуру
05.06.25
✎
11:46
|
(12)
Чуть выше данной функции должна быть написана куча текста. Эта функция по идее в конфе должна использоваться (примеры) Имя (и версия) конфигурации слишком интимное, чтобы называть его по имени? Или всё же самописка ? |
|||
|
14
mralexshapovalov
05.06.25
✎
11:50
|
(13) Спасибо тебе добрый человек!Все получилось!
|
|||
|
15
DiMel_77
05.06.25
✎
13:03
|
(12) должно быть что-то типа такого:
СсылкаНаВладельца = Документы.ЗаказПокупателя.НайтиПоНомеру("НомерЗаказа"); // Ваш пример
ДвоичныеДанныеФайла = Base64Значение(СтрокаBase64);
АдресФайлаВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, Новый УникальныйИдентификатор);
ПараметрыФайла = Новый Структура;
ПараметрыФайла.Вставить("Автор", Неопределено);
ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное", Дата(0001,1,1));
ПараметрыФайла.Вставить("ВладелецФайлов", СсылкаНаВладельца);
ПараметрыФайла.Вставить("ИмяБезРасширения", "Картинка");
ПараметрыФайла.Вставить("РасширениеБезТочки", "jpg");
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресФайлаВоВременномХранилище);
УдалитьИзВременногоХранилища(АдресФайлаВоВременномХранилище);
|
|||
|
16
mralexshapovalov
05.06.25
✎
11:55
|
(15) Еще раз спасибо большое! Примерно все так и у меня получилось!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |