![]() |
![]() |
![]() |
|
Не отображается картинка в присоединенные файлы | ☑ | ||
---|---|---|---|---|
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) Еще раз спасибо большое! Примерно все так и у меня получилось!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |