Ошибка при вызове конструктора двоичныеданные

Ошибка при вызове конструктора (ДвоичныеДанные), Бухгалтерия 3.0
   Новый1сник2

18.07.22 — 12:37

Доброго дня!

при попытке записать двоичные данные пишет ошибку:

{ОбщаяФорма.ПечатьДокументов.Форма(1898)}: Ошибка при вызове конструктора (ДвоичныеДанные)

    мФайл = Новый ДвоичныеДанные(ПолноеИмяФайла);  

по причине:

Недопустимое значение параметра (параметр номер ‘1’)

при этом в УНФ тот же код работает норм.

   Новый1сник2

1 — 18.07.22 — 12:37

МассивСсылок = Параметры.ПараметрКоманды;

    Если ОбщегоНазначения.ЗначениеСсылочногоТипа(МассивСсылок) Тогда

        МассивСсылок = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(МассивСсылок);

    КонецЕсли;

    
    ИмяФайла = ИмяТабдок + » » + СокрЛП(СтрЗаменить(МассивСсылок[0].Ссылка, «(не проведен)»,»»)) + «.PDF»;

    
    КаталогВременныхФайлов = КаталогВременныхФайлов();  

    
    ПолноеИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(КаталогВременныхФайлов, ИмяФайла);

    
    ТабДок.Записать(ПолноеИмяФайла,»PDF»);

    
    мФайл = Новый ДвоичныеДанные(ПолноеИмяФайла);

   Новый1сник2

2 — 18.07.22 — 12:38

ПолноеИмяФайла через отладчик показывает полный путь к файлу, сам файл создается

   ZDenis

3 — 18.07.22 — 12:48

(2) «сам файл создается» — где именно в коде? Путь вижу, а создание файла нет

   ZDenis

4 — 18.07.22 — 12:50

А тупанул, увидел

   Новый1сник2

5 — 18.07.22 — 12:51

(3) я по пути смотрел, файл создается, т.е есть в каталоге

   Новый1сник2

6 — 18.07.22 — 12:53

есть варианты, почему ошибку выдает ?

   ZDenis

7 — 18.07.22 — 12:56

(6) Вообще должно быть не «ТабДок.Записать(ПолноеИмяФайла,»PDF»)»

а ТабДок.Записать(ПолноеИмяФайла,ТипФайлаТабличногоДокумента.PDF)

   Новый1сник2

8 — 18.07.22 — 13:00

(7) переписал ТабДок.Записать(ПолноеИмяФайла,ТипФайлаТабличногоДокумента.PDF), ошибка та же

   RomanYS

9 — 18.07.22 — 13:08

(6) Базы обе файловые?

   Новый1сник2

10 — 18.07.22 — 13:09

(9) база серверная, но в УНФ работает и в серверном и в файловом варианте

   Новый1сник2

11 — 18.07.22 — 13:10

в отладчике такую ошибку пишет:

Новый ДвоичныеДанные(ПолноеИмяФайла)    

{<Неизвестный модуль>(1)}: Ошибка при вызове конструктора (ДвоичныеДанные)

   Dmitrii

12 — 18.07.22 — 13:11

(5) >>  я по пути смотрел, файл создается, т.е есть в каталоге.

А ты в отладчике посмотри.

Что в переменной «ПолноеИмяФайла»?

   Garykom

13 — 18.07.22 — 13:11

(9) ТабДок.Записать непонятно как отрабатывает для разницы клиент-сервер

   Новый1сник2

14 — 18.07.22 — 13:12

(12) ПолноеИмяФайла    «E:TempUSR1CV8ЗаказПоставщику Заказ поставщику 000001 от 18.07.2022 13:08:34.PDF»    Строка

   Garykom

15 — 18.07.22 — 13:13

(14) попробуй тупую вещь

замени + «.PDF» на + «.pdf»

   RomanYS

16 — 18.07.22 — 13:13

вот и ответ. Двоеточие запрещено в именах файла

   RomanYS

17 — 18.07.22 — 13:14

+(16) а в УНФ возможно время убрано из представления документа

   Новый1сник2

18 — 18.07.22 — 13:15

(17) похоже на то, в унф без времени записывается, сейчас проверю

   Garykom

19 — 18.07.22 — 13:15

(16) хмм почему не падает ТабДок.Записать( «E:TempUSR1CV8ЗаказПоставщику Заказ поставщику 000001 от 18.07.2022 13:08:34.PDF») ?

   RomanYS

20 — 18.07.22 — 13:16

(19) и файл создает?

   ZDenis

21 — 18.07.22 — 13:16

(19) + он говорит что файл создается в каталоге

   Garykom

22 — 18.07.22 — 13:17

(20) (21) Вот это и интересно ))

   Garykom

23 — 18.07.22 — 13:19

И да.

Запрещенные символы в именах файлов/папок это кстати раздражает с точки зрения логики и удобства.

Это же дичайший маразм и архаизм.

   RomanYS

24 — 18.07.22 — 13:19

(22) тут наверное нужно разбираться с версиями ОС и платформы… только непонятно зачем.

   Garykom

25 — 18.07.22 — 13:20

В случае линукс сталкивался с (15), когда расширение по дефолту маленькими буковками и имена файлов регистрозависимы

   Злопчинский

26 — 18.07.22 — 13:22

(23) всегда имена файлов нормализовалось перед записью. Ненавижу такие имена как выше у ТС.

   Новый1сник2

27 — 18.07.22 — 13:27

(26) а чем не нравится, «ЗаказПоставщику» дублируется, это я поправлю

   Новый1сник2

28 — 18.07.22 — 13:32

получилось, проблема была видимо в запрещенных символах.

благодарю

   Злопчинский

29 — 18.07.22 — 13:34

Пробелы в имени файла — копрокод

Точки в имени файла — копрокод

Форматзаписи датыф когда по нему нельзя отсортировать файлы по хронологии имени — копрокод*2

.

могу ошибаться, конечно, на вкус и цвет как говорится…

   Новый1сник2

30 — 18.07.22 — 13:39

(29) сейчас выглядит как «Заказ поставщику 00000000001 от 18.07.2022.PDF», чем пробелы и точки помешали ?

   arsik

31 — 18.07.22 — 13:54

(0) Зачем нагружать файловую систему? Сейчас такое делается через поток.

   Mr_Rm

32 — 18.07.22 — 13:57

(19) Оно не просто не падает, а молча создаёт файл с именем «E:TempUSR1CV8ЗаказПоставщику Заказ поставщику 000001 от 18.07.2022 13» — обрезано по двоеточие, без расширения.

То же самое для объекта ТекстовыйДокумент. Вероятно, так же и для других, имеющих метод Записать. Проверено на 8.3.21.1302. Явный баг.

   Новый1сник2

33 — 18.07.22 — 14:04

(31) записывается в присоединенные файлы, временные файлы удаляются

   Kassern

34 — 18.07.22 — 14:13

(33) Зачем записывать во временные файлы? Откройте СП и почитайте за метод Записать ТД и какие варианты есть там. Далее в том же СП посмотрите метод ЗакрытьИПолучитьДвоичныеДанные() У ПотокаВПамяти.

   Kassern

35 — 18.07.22 — 14:14

Все это можно провернуть в оперативке, чтобы дважды к файловой системе не обращаться.

   Новый1сник2

36 — 18.07.22 — 14:17

(35) сделано уже, работает быстро. переделывать нет смысла. на будущее почитаю инфу про поток

   Kassern

37 — 18.07.22 — 14:20

(36) Если в упрощенно, то как-то так:

ПотокВПамяти=Новый ПотокВПамяти();

ТабДок.Записать(ПотокВПамяти,»pdf»);

ДД=ПотокВПамяти.ЗакрытьИПолучитьДвоичныеДанные();

   Garykom

38 — 18.07.22 — 14:27

(37) Что будет если «pdf» размером больше ram ?

   Kassern

39 — 18.07.22 — 14:27

(38) Тогда нужно бежать из этой конторы)

   Новый1сник2

40 — 18.07.22 — 14:40

(37) благодарю, сохраню в заметки

   Сергиус

41 — 18.07.22 — 15:32

(38)начнет свопить на диск)

   Garykom

42 — 18.07.22 — 15:42

(26) Речь о том что нормализация имен файлов это глупость.

Банальный недостаток/недоработка файловой системы что нельзя любые символы применять.

Которое проистекает из древнейших времен наследия CP/M.

Например что имена переменных (и процедур/функций) в 1С нельзя начинать с цифры или они не могут содержать некоторых символов тоже атавизм.

Как и идиотизм с разделением Структура/Соответствие, которые прекрасно объединяются в одно.

Даже обращаться к свойствам можно было бы так Структура.»Имя свойства» что равнозначно Структура[«Имя свойства»]

   Garykom

43 — 18.07.22 — 15:44

(42)+ Подумайте. Имена файлов разрешают кириллицу и даже иероглифы. А вот «:» и слеши нельзя. Маразм!

   Kigo_Kigo

44 — 18.07.22 — 16:26

(43) Это спец символы, которые используются в том же пути к файлу, что может породить кучу проблем, по этому они тупо запрещены, это разве не очивидно? ничего идиотского я в этом не вижу

   Garykom

45 — 18.07.22 — 16:36

(44) 1. «:» только одно после имени диска

если разрешили «.» и только последняя как разделитель имени и расширения а прочие разрешены и относятся к имени кто/что мешает тоже самое сделать с «:»?

самое первое после имени диска спецсимвол, прочие относятся к имени файла

2. «/» и «» прекрасно можно использовать в имени файла, просто автоматически при записи создает подкаталоги и все, при чтении пытается прочитать подкаталог

т.е. запись файла «c:блаблаблабла» создает файл «блабла» в каталоге «блабла» на диске c

   Kassern

46 — 18.07.22 — 16:57

(45) а если юзвер не хочет создавать папку и он тупо очепятался в имени папки? В вашем случае создастся еще одна и юзвер это не заметит. А если еще и регламент к изначальной папке прикручен?)

   Kassern

47 — 18.07.22 — 16:58

в общем, не во всех случаях эта логика правильная, а где-то она вредная. Поэтому это нормальное поведение ОС, если хотите свою, то допишите как вам надо в своей обработке записи.

   ДедМорроз

48 — 18.07.22 — 23:11

Двоеточие в имени файла — это имя альтернативного потока данных.

Оно создается и записывается,а вот при проверке существования будет ошибка.

   Злопчинский

49 — 18.07.22 — 23:16

(45) в Far так и сделано ;-)

  

ДедМорроз

50 — 18.07.22 — 23:55

В Linux,например,есть символ исключения ,который позволяет использовать в тмени файла практически любые символы.

Опять же,файловой системе,по большому счету,не важно,какая строка записана в имени файла.

Вопрос тут только в правильности понимания разбиения на составляющие.

Ну и в ntfs имена файлов и длина пути до 32768 байт,однако,и вме работает как в 1с,так и в Си,а вот проводник windows,не работает-позор да и только.

Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

1

1C 8.x

Ошибка при вызове конструктора (ДвоичныеДанные)

28.10.2013, 10:26. Показов 15265. Ответов 3

Метки нет (Все метки)


Почему ошибка выдает
Ошибка при вызове конструктора (ДвоичныеДанные)
НовоеВложение.Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Каталог), Новый СжатиеДанных());
по причине:
Ошибка совместного доступа к файлу ‘C:UsersermakovAppDataLocalTempprice.xls’

1C
1
2
3
4
5
6
7
8
9
10
    
    НовоеВложение = Справочники.ВложенияЭлектронныхПисем.СоздатьЭлемент();
    НовоеВложение.Объект = Письмо.Ссылка;
    НовоеВложение.ИмяФайла = "price.xls";
    НовоеВложение.Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Каталог), Новый СжатиеДанных());
    Попытка
        НовоеВложение.Записать();
    Исключение
        Отказ = Истина;
    КонецПопытки;

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Модератор

Эксперт 1С

3700 / 2899 / 570

Регистрация: 10.03.2011

Сообщений: 11,414

Записей в блоге: 1

28.10.2013, 11:19

2

Нужно закрывать файл перед помещением его в хранилищеЗначений



1



4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

28.10.2013, 11:20

 [ТС]

3

Dethmontt, Подскажите на примере пожалуйста



0



Модератор

Эксперт 1С

3700 / 2899 / 570

Регистрация: 10.03.2011

Сообщений: 11,414

Записей в блоге: 1

28.10.2013, 11:26

4

На каком примере? У тебя тупо открыт этот файл — ‘C:UsersermakovAppDataLocalTempprice.xls’ либо висит в процессах

Добавлено через 4 минуты
Возможно ты его открываешь в коде…



0



 

Пользователь 103705

Постоянный посетитель

Сообщений: 145
Баллов: 23
Регистрация: 07.10.2011

#1876

31.05.2021 23:07:28

Цитата
ЕКАТЕРИНА ЧИРИКОВА написал:
Доброго времени суток.
Очень хотелось бы услышать совета вот по какому вопросу: есть ИМ на битрикс с 56000 SKU, большая часть товаров имеет вариации. есть 1С УТ 11.4 с последней версией модуля обмена. на сервере стоит 16 Gb оперативной памяти и 2.9Ghz i5-9400F
когда запускается импорт каталога из битрикса в 1с, то 1 этап проходит примерно за 40-45 минут. затем начинается загрузка товаров в базу и она может длиться до 3 суток
есть ли какие-либо способы ускорить импорт каталога и нормальные ли это сроки импорта?

Судя по тому что 56к ску в битрикс — предположу что это виртуальный товар, которого нет на складе у Вас, тогда в таком случае я бы грузил только то, что заказывают, в противном случае в 1с будет тяжело работать с номенклатурой, с точки зрения производительности, любой поиск по номенклатуре это висяк   :(
Сами мучаемся, у нас около 30тыс в 1с

 

Пользователь 3551394

Заглянувший

Сообщений: 20
Баллов: 1
Регистрация: 17.09.2019

#1877

01.06.2021 09:01:29

Цитата
Дмитрий Агапкин написал:

Цитата
ЕКАТЕРИНА ЧИРИКОВА написал:
Доброго времени суток.
Очень хотелось бы услышать совета вот по какому вопросу: есть ИМ на битрикс с 56000 SKU, большая часть товаров имеет вариации. есть 1С УТ 11.4 с последней версией модуля обмена. на сервере стоит 16 Gb оперативной памяти и 2.9Ghz i5-9400F
когда запускается импорт каталога из битрикса в 1с, то 1 этап проходит примерно за 40-45 минут. затем начинается загрузка товаров в базу и она может длиться до 3 суток
есть ли какие-либо способы ускорить импорт каталога и нормальные ли это сроки импорта?

Судя по тому что 56к ску в битрикс — предположу что это виртуальный товар, которого нет на складе у Вас, тогда в таком случае я бы грузил только то, что заказывают, в противном случае в 1с будет тяжело работать с номенклатурой, с точки зрения производительности, любой поиск по номенклатуре это висяк    
Сами мучаемся, у нас около 30тыс в 1с

это вина и прочий алкоголь. там почти все позиции есть на складе. пусть и по 2-3 штуки 8((  

 

#1878

01.06.2021 09:13:11

Не загружайте картинки — будет полегче идти.
Проверьте загрузку свойств/реквизитов — скорее всего они загружаются на общими для всей номенклатуры а индивидуальными — это огромное количество лишней информации.

 

Пользователь 3551394

Заглянувший

Сообщений: 20
Баллов: 1
Регистрация: 17.09.2019

#1879

07.06.2021 16:30:24

Цитата
Kler написал:
Не загружайте картинки — будет полегче идти.
Проверьте загрузку свойств/реквизитов — скорее всего они загружаются на общими для всей номенклатуры а индивидуальными — это огромное количество лишней информации.

свойства — общие. картинки не грузятся. очень странно выглядит загрузка системы: то 60% процессора и половина памяти, а потом 3-5% процессора и 450 Мб памяти.
хрень какая-то

 

#1880

19.07.2021 16:57:59

День добрый.
Кривые руки пользователя сломали обмен
В итоге он сейчас прекращается на следующей строчке

19.07.2021 16:40:12—Выгрузка данных о товарах.

19.07.2021 16:40:12—Выгрузка товаров в XML.

19.07.2021 16:40:12—{ОбщийМодуль.Б_ОбменССайтомСерверВыгрузкаДанных.Модуль(5524)}: Ошибка при вызове конструктора (ДвоичныеДанные): Каталог не обнаружен ‘\Server-1cвсе202101063b967bb6399df113fccabf240c0dcf3a_x.jpg’ Выгрузка файла объекта: Линейка 30 см металлическая

и вываливается с ошибкой

{ОбщийМодуль.Б_ОбменССайтомСерверВыгрузкаДанных.Модуль(5524)}: Ошибка при установке значения атрибута контекста (Наименование): Несоответствие типов XDTO: Ошибка проверки данных XDTO:

Значение: ‘

Пользователь уволился и не признается что он там сделал.

Экспорт настроек из бекапа в котором выгрузка работает и импорт на рабочую базу так же не дали успеха.

Где можно еще посмотреть и сравнить настройки?

1С:Предприятие 8.3 (8.3.19.1150). Управление нашей фирмой, редакция 1.6 (1.6.25.139). Версия модуля 7,0,1,30

 

Александр Денисюк

Администратор

Сообщений: 4928
Баллов: 829
Регистрация: 16.10.2013

#1881

19.07.2021 18:23:17

Цитата
Павел Аверин написал:
Линейка 30 см металлическая

Смотрите товар » Линейка 30 см металлическая». Что то с картинками у него не то. По всей видимости несуществующий адрес до файлов(картинок).

 

Пользователь 5230103

Заглянувший

Сообщений: 15
Баллов: 1
Регистрация: 20.05.2021

#1882

21.07.2021 09:08:05

Цитата
Александр Денисюк написал:

Цитата
Павел Аверин написал:
Линейка 30 см металлическая

Смотрите товар » Линейка 30 см металлическая». Что то с картинками у него не то. По всей видимости несуществующий адрес до файлов(картинок).

Там вообще нет картинки. Нажатие на кнопку «удалить» и подгрузка картинки тоже результатов не дает. положил по тому пути заглушку. посмотрим как это отработает.

UPDATE
заглушка не помогла
завершилось с ошибкой с таким текстом:

Завершение выгрузки пакета 36 каталога: Каталог товаров
Начало выгрузки пакета 37 каталога: Каталог товаров
Выгрузка данных о товарах.
Выгрузка товаров в XML.

 

#1883

21.07.2021 09:18:57

Может из какого другого свойства или реквизита подтягивает в коде путь до картинки…Тут остается только гадать. Нужна отладка процесса обмена.

Всем несогласным — мыло и веревка!

 

Пользователь 5230103

Заглянувший

Сообщений: 15
Баллов: 1
Регистрация: 20.05.2021

#1884

21.07.2021 10:00:13

Цитата
Алексей Сипаев написал:
Может из какого другого свойства или реквизита подтягивает в коде путь до картинки…Тут остается только гадать. Нужна отладка процесса обмена.

Как это можно реализовать?

В техническом журнале есть несколько записей:

{ОбщийМодуль.ОбщегоНазначения.Модуль(5262)}: Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ДлительныеОперации.Модуль(1067)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1057)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
f08d92f8-9eb2-4e19-9dd9-977d907cec2d
5372caa7-07b9-4767-9776-53b510236d93: Несоответствие типов XDTO
5372caa7-07b9-4767-9776-53b510236d93: Ошибка проверки данных XDTO:
Значение: »

Затем куча пустого места и потом запись

Ремень клиновой XРA — 1600» не соответствует простому типу: {urn:1C.ru:commerceml_3}НаименованиеТип
Несоответствие фасету MaxLength = »250»’

Внешне в той номенклатуре все нормально.
Поставил ее на удаление и попытался сделать выгрузку — все равно ошибка

 

#1885

21.07.2021 11:38:42

Отдел ИТ,под отладкой я имел ввиду пошаговое выполнение код в процессе обмена с сайтом, можно даже в каталог на диске. А вообще перед самой отладкой смотреть, какие изменения были внесены в конфигурацию, чтобы примерно понимать, в каком месте искать проблему.

В номенклатуре возможно все хорошо, а вот схема xdto ругается при проверке входных данных. Пригласите специалиста для анализа проблемы или при наличии собственных сил и знаний отлаживайте код.

==========

У вас как-то странно выгружается данное наименование товара. Что это? Краткое, полное, описание, комментарий, доп. свойство, где есть текст

Значение: «<куча пустого места, пробелы или переносы строк> Ремень клиновой XРA — 1600»

Как раз ругается на длину в 250 символов. Либо код криво написан на выгрузку какого-то наименования, либо забито неверно информация в реквизите/доп.реквизите или свойстве…

Всем несогласным — мыло и веревка!

 

Пользователь 5230103

Заглянувший

Сообщений: 15
Баллов: 1
Регистрация: 20.05.2021

#1886

21.07.2021 14:55:45

Цитата
Алексей Сипаев написал:
У вас как-то странно выгружается данное наименование товара. Что это? Краткое, полное, описание, комментарий, доп. свойство, где есть текстЗначение: »  Ремень клиновой XРA — 1600»Как раз ругается на длину в 250 символов. Либо код криво написан на выгрузку какого-то наименования, либо забито неверно информация в реквизите/доп.реквизите или свойстве…

Разобрались с этой номенклатурой.
Выгрузка на диск с тестовой базы прошла успешно. запускаю на боевой.

В общем, в данной номенклатуре было в поле «наименование для печати» проставлено 470 пустых строк, а затем наименование.

Когда открываешь эту номенклатуру, то соответственно данное поле  кажется пустым, поэтому и не вызывала подозрений долгое время, пока не  начали уже во все поля тыкать

PS: почему в модуле обмена так плохо организовано логирование? Ведь будь вывод в лог, что в данной номенклатуре поле не соответствует длине, все было бы проще. И подозреваю, что первоначально линейка вовсе не причем — просто она последняя отображалась в логе. А из-за этого был потерян не один день времени

 

#1887

23.07.2021 16:47:27

Еще вопрос…
Если в номенклатуре, в разделе «сайт» будет поставлена галочка «не выгружать», будет ли в таком случае данный товар выгружен на сайт?

 

#1888

30.07.2021 17:37:52

Подскажите, кто знает почему при обмене с 1С все время перезаписывается поле Сортировка свойств инфоблока? Что нужно сделать чтобы это прекратилось? Конкретно речь об этом

https://skr.sh/s9I1NFAWBXt

свойстве — по факту это картинки из 1С

 

Пользователь 3668772

Заглянувший

Сообщений: 23
Баллов: 2
Регистрация: 01.12.2019

#1889

01.08.2021 05:09:10

Цитата
ЕКАТЕРИНА ЧИРИКОВА написал:

Цитата
Kler написал:
Не загружайте картинки — будет полегче идти.
Проверьте загрузку свойств/реквизитов — скорее всего они загружаются на общими для всей номенклатуры а индивидуальными — это огромное количество лишней информации.

свойства — общие. картинки не грузятся. очень странно выглядит загрузка системы: то 60% процессора и половина памяти, а потом 3-5% процессора и 450 Мб памяти.
хрень какая-то

На сколько знаю, обмен в старых модулях реализован полный т.е. грузятся не изменённые данные по товару, а абсолютно все передаваемые по товару данные.
На сколько понял новый модуль Бэкофис 2.0 может передавать только изменённые значения. Жаль что Ваш запрос техподдержка игнорирует.

 

#1890

03.08.2021 15:52:09

полная выгрузка оказывается не совсем полная.
была номенклатура, у которой было указано куча розничных цен под разные характеристики, но галочка «использовать характеристики не стояла»
удалил ненужные цены и оставил только одну.
при полной выгрузке изменения не выгрузились, и выводятся изменения сделанные когда делали за несколько дней до этого принудительную выгрузку картинок.
это было видно в редактирование товара — торговые предложения — дата изменения

как провести абсолютно полную выгрузку?

 

Пользователь 3668772

Заглянувший

Сообщений: 23
Баллов: 2
Регистрация: 01.12.2019

#1891

04.08.2021 10:20:28

Цитата
Отдел ИТ написал:
полная выгрузка оказывается не совсем полная.
была номенклатура, у которой было указано куча розничных цен под разные характеристики, но галочка «использовать характеристики не стояла»
удалил ненужные цены и оставил только одну.
при полной выгрузке изменения не выгрузились, и выводятся изменения сделанные когда делали за несколько дней до этого принудительную выгрузку картинок.
это было видно в редактирование товара — торговые предложения — дата изменения

как провести абсолютно полную выгрузку?

Под полной выгрузкой имеется в виду не выгрузка всего и вся, а выгрузка всех документов и значений которые подпадают под установленные Вами фильтры. Если Вы выгружаете определённые цены и определённую номенклатуру и её характеристики, то именно они будут иметься в полной выгрузке. Не при полной выгрузке, выгружаются только изменённые сущности.
Поправьте меня если я ошибаюсь.

 

#1892

09.08.2021 15:36:55

Добрый день.
Подскажите как настроить выгрузку на сайт информацию о количестве товаров поставщика который находится на складе поставщика?
Т.е. товара на моем складе нет, поставщик присылает мне данные о количестве товара на своем складе в файле Excel.
Загружаю данные о количестве в раздел «Номенклатура поставщика» в карточке Контрагента.
Номенклатура поставщика сопоставлена с нашей номенклатурой.
Нужно выгружать данные о количестве товара на складе поставщика на наш сайт.

Сайт   1С-Битрикс24: Интернет-магазин + CRM
Расширение Аспро: Максимум — интернет-магазин (aspro.max)

Версия платформы 1С: 8.3.18.1334 Тип базы 1С: Файловая
Прикладное решение 1С: Управление нашей фирмой, редакция 1.6
Локализация прикладного решения 1Сru_RU
Релиз прикладного решения 1С: 1.6.25.166
Название модуля для 1С: Интернет-магазин + «1С»
Версия модуля для 1С: 7.0.1.30
Модуль разрабатывался для конфигурации : UNF 1.6
Локализация модуля для 1С: RUS

 

#1893

18.08.2021 09:25:39

Добрый день, не можем разобраться с логикой работы (конфигурация УТ 11.4)
1. При отмене всех строк заказа на стороне 1С после обмена с сайтом очищается состав заказ на сайте и ставится как выполнен а не отменён.
2. Работаем без выгрузки отгрузки в 1с, в 1С меняем количество товара, если по телефону клиент захотел добавить еще позицию. При следующем обмене количество товара меняется на сайте, но очищается стоимость доставки, хотя в 1С строчку с доставкой не трогали.

 

Александр Денисюк

Администратор

Сообщений: 4928
Баллов: 829
Регистрация: 16.10.2013

#1894

18.08.2021 11:30:04

Цитата
Александр Давыденко написал:
Добрый день, не можем разобраться с логикой работы (конфигурация УТ 11.4)
1. При отмене всех строк заказа на стороне 1С после обмена с сайтом очищается состав заказ на сайте и ставится как выполнен а не отменён.
2. Работаем без выгрузки отгрузки в 1с, в 1С меняем количество товара, если по телефону клиент захотел добавить еще позицию. При следующем обмене количество товара меняется на сайте, но очищается стоимость доставки, хотя в 1С строчку с доставкой не трогали.

может не установили маппинг служб доставки? И еще, может удаляться, если из 1С не выгружается отгрузка, т.к. в ней хранится стоимость доставки.

 

#1895

25.08.2021 09:39:36

День добрый.
Обратил внимание на такую ситуацию.
Полная выгрузка работала как надо — товары выгружались в нужные категории.
Но потом переделали пару разделов, убрали из них все товары и добавили те которые нужны.
В результате после нескольких полных выгрузок, в тех категориях было всего по 2-3 товара, вместо 10-20.
Остальные появились только после того, как была сделана принудительная выгрузка картинок.

Так и должно быть?

 

#1896

16.09.2021 11:47:09

Добрый день!

Подскажите пожалуйста, не появилась в модуле возможность выгружать из 1с индивидуальные соглашения по условиям продаж?

 

Александр Денисюк

Администратор

Сообщений: 4928
Баллов: 829
Регистрация: 16.10.2013

#1897

16.09.2021 18:11:38

Цитата
Илья Иванов написал:
Добрый день!

Подскажите пожалуйста, не появилась в модуле возможность выгружать из 1с индивидуальные соглашения по условиям продаж?

Не появилось

 

#1898

17.09.2021 12:32:34

Есть ли какие-нибудь новости по переходу на обмен через rest товарами а не xml файлами? Года 3 назад помню еще писали, что в работе. И планируется ли что-то делать с 2 каталогами в продукте интернет-магазин + CRM, хотелось бы работать без костылей и иметь красивую связь товаров + заказов.

 

Александр Денисюк

Администратор

Сообщений: 4928
Баллов: 829
Регистрация: 16.10.2013

#1899

17.09.2021 14:58:33

Цитата
Александр Исупов написал:
Есть ли какие-нибудь новости по переходу на обмен через rest товарами а не xml файлами? Года 3 назад помню еще писали, что в работе. И планируется ли что-то делать с 2 каталогами в продукте интернет-магазин + CRM, хотелось бы работать без костылей и иметь красивую связь товаров + заказов.

Больная тема… Реализация реста товаров  все переносится и переносится..

  1. Добрый день, стояло обновление 11.0.6.9 — никаких проблем не было, эмейлы с прикрепленными файлами отправлялись «на ура». Поставили обновление, теперь при попытке отправить файл выдает ошибку:
    «{Документ.ЭлектронноеПисьмоИсходящее.Форма.ФормаДокумента.Форма(1145)}: Ошибка при вызове конструктора (ДвоичныеДанные)
    Данные = Новый ДвоичныеДанные(Стр.ИмяФайлаНаКомпьютере);
    по причине:
    Каталог не обнаружен ‘e1cibtempstorage1ad61f76-7b88-49b2-babd-f27210c4292b'»
    Что может быть такое? И как это лечить? Заранее спасибо.


  2. uza

    Offline

    uza
    1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29

    Смотрите что лежит в Стр.ИмяФайлаНаКомпьютере
    и смотрите, есть ли этот каталог на компе.

  3. Дело в том, что каталога такого нет (я смотрел каталог в папке пользователя, в скрытой папке AppData), а Стр.ИмяФайлаНаКомпьютере — это просто строчка из Модуля Документ.ЭлектронноеПисьмоИсходящее.ФормаДокумента.Модуль — так что к чему эта надпись возникает — я вообще понять не могу, в конфе ничего не менялось с электронной почтой, да и до изменения всё работало.
    Спасибо за ответ.
    З.Ы.: Теперь просто выдает ошибку: «Каталог не обнаружен ‘e1cibtempstorageкучацифр — всегда разные.

  4. Ошибка вылетает в связи с тем, что 1С пытается сохранить файл, так как отправить файл хранящийся на диске — это без проблем, отправить просто письмо — тоже, а вот если попытаться отправить или сохранить вложение — то выдает ошибку и сохраняет письмо без вложения.
    Раз никто не сталкивался, то скажите, у Вас после с обновлением работает отправка созданных документов?


  5. uza

    Offline

    uza
    1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29

    Про обновления не скажу — у нас другое.
    А вот ошибка связанная с тем, что не уходит письмо с вложением вполне понятна.
    Давайте посмотрим как 1С пытается отправить письмо с вложением
    1) Создается файл вложения и сохраняется где то на диске (имеем путь к нему)
    2) Создается письмо и заполняется его тело
    3) Прикрепляется файл (ш.1)

    Так вот, Стр.ИмяФайлаНаКомпьютере — должно содержать имя файла размещенного на компе (ш.1), но по факту там лежит ересь.

    Берем отладчик, и смотрим, в какой же момент эта самая ересь создается. Работы, оценочно — час — два посидеть над F11


  6. Vladimir1C

    Offline

    Vladimir1C
    Опытный в 1С

    Регистрация:
    19 июл 2010
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26

    Поддерживаю тему. Не отправляются письма. Ошибка та же.

    Нашлось решение?


  7. BabySG

    Offline

    BabySG
    Администраторы
    Команда форума
    Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    18
    Баллы:
    29

    Код ошибки: 10094289
    Дата публикации: 22 ноября 2011 г.
    Описание: При отправке письма через легкую электронную почту письмо отправляется, но пользователю выводится сообщения о ошибке.


  8. Vladimir1C

    Offline

    Vladimir1C
    Опытный в 1С

    Регистрация:
    19 июл 2010
    Сообщения:
    106
    Симпатии:
    0
    Баллы:
    26

    У нас даже не отправляется.


  9. BabySG

    Offline

    BabySG
    Администраторы
    Команда форума
    Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    18
    Баллы:
    29

    Под рукой сейчас нет УТ, но, думаю, есть какая-то ошибка и туда попадает адрес временного хранилища (судя по тексту)

  10. Письма то отправляются, то не отправляются, один раз даже отправилось со вложением. Но когда письма приходят — они без каких-либо реквизитов, ни от кого, ни куда, ни темы, ни письма.
    З.Ы.: А разве легкая почта и почтовый клиент 1С — это одно и тоже? Мне казалось, что они сделали возможность отправки почты без использования почтового клиента и назвали это «легкой почтой», или я не прав?


  11. ZOOBR

    Offline

    ZOOBR

    Регистрация:
    12 дек 2011
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1

    Ну совершенно верно так и должно быть у каждого с версией 11.0.7.8. Вообще скажу сразу, что функционал работы с почтой весьма убогий, это поймет каждый кто пройдется F11 от создания письма до его отправки, письмо отправляется долго.. Путём доработки скорость отправки писем можно увеличить в 3-10 раз. Кроме того данный глюк при работе с почтой в данном релизе не единственный. Если используется фоновое задание для получения и отправки почты вы еще натолкнётесь обязательно на конфликт блокировок при выполнении транзакций, ну да ладно вопрос не в этом был.
    Относительно вашей проблемы можно происходит следующее

    Данные = Новый ДвоичныеДанные(Стр.ИмяФайлаНаКомпьютере);
    

    В данной строчке производится запись двоичных данных в переменную «Данные» из файла на диске, расположенному по пути содержащемся в переменной «Стр.ИмяФайлаНаКомпьютере». Естественно получается ошибка так как вместо пути к файлу в эту переменную запихнули ссылку на файл во временном хранилище. Решить данную проблему можно двумя путями.
    1) Дописать модуль формы документа для возможности приёма ссылок на файлы из временного хранилища. Для этого модифицируйте код из модуля таким образом:

    	Если ЭтоАдресВременногоХранилища(Стр.ИмяФайлаНаКомпьютере) Тогда
    Данные=ПолучитьИзВременногоХранилища(Стр.ИмяФайлаНаКомпьютере);
    Иначе
    Данные = Новый ДвоичныеДанные(Стр.ИмяФайлаНаКомпьютере);
    Стр.ИмяФайлаНаКомпьютере = ПоместитьВоВременноеХранилище(Данные, "");
    КонецЕсли;
    
    

    Тем самым мы определяем что если нам передали ссылку на файл во временном хранилище, то мы просто получаем из временного хранилища, а если это просто путь то тогда уже создаем и помещаем двоичные данные во временное хранилище.
    Эта доработка уже позволит отправлять сообщения. Но останется еще одна небольшая проблемка. В письме для вложений не будет показана иконка приложения. Чтобы поправить эту досадную оплошность в строке 97 модуля формы документа «ИсходящееЭлектронноеПисьмо» нужно заменить следующий код:

    ВзаимодействияКлиентСервер.ПолучитьКаталогИИмяФайла(Вложение.Значение, "", ИмяФайла);
    
    

    вот таким кодом(пояснять уже не буду. :aua: ):

    Если ЭтоАдресВременногоХранилища(Вложение.Значение) Тогда
    ИмяФайла=Вложение.Представление;	
    Иначе
    ВзаимодействияКлиентСервер.ПолучитьКаталогИИмяФайла(Вложение.Значение, "", ИмяФайла);
    КонецЕсли;
    
    

    После такой доработки иконки у файлов будут отображаться.
    Но внимательно посмотрев на то что получилось замечаем еще один косяк, для таких вложений не отображается размер! :D Придётся и этот глюк побороть. Заменяем предидущий код следующим улучшенным:

    				Если ЭтоАдресВременногоХранилища(Вложение.Значение) Тогда
    ИмяФайла=Вложение.Представление;	
    Данные=ПолучитьИзВременногоХранилища(Вложение.Значение);
    Если ТипЗнч(Данные)=Тип("ДвоичныеДанные") Тогда
    новСтр.Размер=Данные.Размер();
    новСтр.РазмерПредставление = ВзаимодействияКлиентСервер.ПолучитьСтроковоеПредставлениеРазмераФайла(новСтр.Размер);
    КонецЕсли;
    Иначе
    ВзаимодействияКлиентСервер.ПолучитьКаталогИИмяФайла(Вложение.Значение, "", ИмяФайла);
    Попытка
    Данные = Новый Файл(Вложение.Значение);
    новСтр.Размер= Данные.Размер();
    новСтр.РазмерПредставление = ВзаимодействияКлиентСервер.ПолучитьСтроковоеПредставлениеРазмераФайла(новСтр.Размер);
    Исключение
    КонецПопытки
    КонецЕсли;
    
    
    

    Теперь размер будет отображаться, а также мы предусмотрели защиту от передачи в данную функцию некорректных данных о расположении файла.
    2) Вторым способом предполагается добраться всё-таки до момента передачи параметров на форму документа и поправить передающуюся ссылку на путь к файлу во временной директории.
    Насколько целесообразен данный способ решать каждому в индивидуальном порядке. На мой взгляд и первый и второй способ далеки от совершенства, но сууть не в этом а в том чтобы каждый решил подобную проблему с минимальными правками кода. Тем более что трешеделы из 1С когда-нибудь таки заделают эту дырку…
    Чтобы реализовать данный способ лезем в общие формы и находим форму с названием «ПечатьДокументов», открываем модуль формы и заменяем процедуру «ПоместитьТабличныеДокументыВоВременноеХранилище» следующим содержимым:

    Процедура ПоместитьТабличныеДокументыВоВременноеХранилище(СписокФайлов, НастройкиСохранения)
    
    ЗаписьZipФайла = Неопределено;
    ИмяАрхива = Неопределено;
    Если НастройкиСохранения.ЗапаковатьZIP Тогда
    ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
    ЗаписьZipФайла = Новый ЗаписьZipФайла(ИмяАрхива);
    КонецЕсли;
    
    СписокТипов = ПолучитьСписокТиповФайловТабличныхДокументов(НастройкиСохранения);
    ДатаПредставление = Формат(ТекущаяДата(), "ДФ='yyyyMMdd HH:mm'");
    
    ИмяВременнойПапки = ПолучитьИмяВременногоФайла();
    СоздатьКаталог(ИмяВременнойПапки);
    
    Для Каждого ТабДокумент Из ИменаТабДокументов Цикл
    ТабДок = ЭтаФорма["Таб" + ТабДокумент.Значение];
    
    Для Каждого ТипФайла Из СписокТипов Цикл
    
    Если ОбъектыПечати.Количество() > 1 Тогда
    ИмяФайла = "[ИмяМакета] ([ДатаПредставление]).[Расширение]";
    Иначе
    ИмяФайла = "[Документ] ([ИмяМакета] [ДатаПредставление]).[Расширение]";
    КонецЕсли;
    
    ИмяФайла = СтрЗаменить(ИмяФайла, "[Документ]",			Строка(ОбъектыПечати[0].Значение));
    ИмяФайла = СтрЗаменить(ИмяФайла, "[ИмяМакета]",			ТабДокумент.Представление);
    ИмяФайла = СтрЗаменить(ИмяФайла, "[ДатаПредставление]",	ДатаПредставление);
    ИмяФайла = СтрЗаменить(ИмяФайла, "[Расширение]",		ТипФайла.Представление);
    
    ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайла);
    
    ИмяВременногоФайла = ИмяВременнойПапки + "" + ИмяФайла;
    ТабДок.Записать(ИмяВременногоФайла, ТипФайла.Значение);
    
    Если ТипФайла.Значение = ТипФайлаТабличногоДокумента.HTML Тогда
    ВставитьКартинкиВHTML(ИмяВременногоФайла);
    КонецЕсли;			
    
    Если ЗаписьZipФайла <> Неопределено Тогда 
    ЗаписьZipФайла.Добавить(ИмяВременногоФайла);
    Иначе
    //ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
    //ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтаФорма.УникальныйИдентификатор);
    СписокФайлов.Добавить(ИмяВременногоФайла, ИмяФайла);
    //	УдалитьФайлы(ИмяВременногоФайла);
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    
    Если ЗаписьZipФайла <> Неопределено Тогда 
    ЗаписьZipФайла.Записать();
    ФайлАрхива = Новый Файл(ИмяАрхива);
    //ДвоичныеДанные = Новый ДвоичныеДанные(ИмяАрхива);
    //ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтаФорма.УникальныйИдентификатор);
    СписокФайлов.Добавить(ИмяАрхива, ФайлАрхива.Имя);
    КонецЕсли;
    
    //УдалитьФайлы(ИмяВременнойПапки);
    
    КонецПроцедуры
    
    

    Кратко о том, что у нас изменилось. Мы убрали запихивание файла во временное хранилище, заменив на выходе ссылку во временное хранилище на путь к временному файлу. Чтобы в последующем воспользоваться созданными временными файлами было убрано удаление файлов, то есть удалять файлы нам придётся в дальнейшем после вложения в сообщение и записи. Для этого заново открываем модуль документа «ИсходящееЭлектронноеПисьмо» и модифицируем процедуру «ПередЗаписью» следующим образом:

    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    ОчиститьСообщения();
    
    Если Не ВыполняетсяОтправка Тогда
    
    Отказ = ПроверитьЗаполнениеСписковАдресатов();
    
    Если Отказ = Истина Тогда
    Возврат;
    КонецЕсли;
    
    КонецЕсли;
    
    
    #Если Не ВебКлиент Тогда
    МассивКаталоговДляУдаления=Новый Массив();
    //Перебираем вложения и после помещения во временное хранилище удаляем их
    Для Каждого Стр Из Вложения Цикл
    Если Стр.Расположение = 2 Тогда
    Если ЭтоАдресВременногоХранилища(Стр.ИмяФайлаНаКомпьютере) Тогда
    Данные=ПолучитьИзВременногоХранилища(Стр.ИмяФайлаНаКомпьютере);
    Иначе
    Данные = Новый ДвоичныеДанные(Стр.ИмяФайлаНаКомпьютере);
    КаталогДляУдаления="";
    ФайлДляУдаления="";
    ВзаимодействияКлиентСервер.ПолучитьКаталогИИмяФайла(Стр.ИмяФайлаНаКомпьютере, КаталогДляУдаления, ФайлДляУдаления);
    Стр.ИмяФайлаНаКомпьютере = ПоместитьВоВременноеХранилище(Данные, "");
    МассивКаталоговДляУдаления.Добавить(КаталогДляУдаления);
    УдалитьФайлы(Стр.ИмяФайлаНаКомпьютере);
    КонецЕсли;
    Стр.Расположение = 4;
    КонецЕсли;
    КонецЦикла;
    //Удаляем папки оставшиеся от временных файлов
    Для Каждого ФайлДляУдаления из МассивКаталоговДляУдаления Цикл
    ТекущийФайл=Новый Файл(ФайлДляУдаления);
    Если ТекущийФайл.Существует() Тогда
    УдалитьФайлы(ФайлДляУдаления);
    КонецЕсли;
    КонецЦикла;
    #КонецЕсли
    
    Объект.ЕстьВложения = (Вложения.Количество() <> 0);
    
    КонецПроцедуры
    
    

    Здесь как видите мы оставляем доработки предложенные в первом варианте и дополняем их функционалом удаления временных файлов.. Далее разжевывать не буду, код и так предельно простой. Для отображения размеров вложений также необходимо применить доработку предложенную в первом варианте..

    Сразу скажу что на этом список ваших проблем с почтой в УТ 11 только начинается. :D Думаю кому нибудь моя микростатейка поможет… Пока не забыл, если кто будет лазить по коду рекомендую обратить внимание на процедуру фонового задания для получения и отправки почты, там тоже имеются косяки… :angry:


  12. ZOOBR

    Offline

    ZOOBR

    Регистрация:
    12 дек 2011
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1

    Так как кое-кто уже успел опробовать предложенные мной доработки и получил ошибку(ошибка совместного доступа к файлу :angry: я как то сам и не проверил толком) выкладываю поправленный вариант. Нужно заменить полностью или поправить следующий код в модуле документа «ИсходящееЭлектронноеПисьмо». Если идти по первому предложенному варианту то данные исправления не актуальны.

    Процедура «ПередЗаписью»

    &НаКлиенте
    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    ОчиститьСообщения();
    
    Если Не ВыполняетсяОтправка Тогда
    
    Отказ = ПроверитьЗаполнениеСписковАдресатов();
    
    Если Отказ = Истина Тогда
    Возврат;
    КонецЕсли;
    
    КонецЕсли;
    
    
    #Если Не ВебКлиент Тогда
    МассивКаталоговДляУдаления=Новый Массив();
    //Перебираем вложения и после помещения во временное хранилище удаляем их
    Для Каждого Стр Из Вложения Цикл
    Если Стр.Расположение = 2 Тогда
    Если ЭтоАдресВременногоХранилища(Стр.ИмяФайлаНаКомпьютере) Тогда
    Данные=ПолучитьИзВременногоХранилища(Стр.ИмяФайлаНаКомпьютере);
    Иначе
    Данные = Новый ДвоичныеДанные(Стр.ИмяФайлаНаКомпьютере);
    КаталогДляУдаления="";
    ФайлДляУдаления="";
    ВзаимодействияКлиентСервер.ПолучитьКаталогИИмяФайла(Стр.ИмяФайлаНаКомпьютере, КаталогДляУдаления, ФайлДляУдаления);
    Если Стр.Удалять Тогда
    МассивКаталоговДляУдаления.Добавить(КаталогДляУдаления);	
    УдалитьФайлы(Стр.ИмяФайлаНаКомпьютере);
    КонецЕсли;	
    Стр.ИмяФайлаНаКомпьютере = ПоместитьВоВременноеХранилище(Данные, "");
    КонецЕсли;
    Стр.Расположение = 4;
    КонецЕсли;
    КонецЦикла;
    //Удаляем папки оставшиеся от временных файлов
    Для Каждого ФайлДляУдаления из МассивКаталоговДляУдаления Цикл
    ТекущийФайл=Новый Файл(ФайлДляУдаления);
    Если ТекущийФайл.Существует() Тогда
    НайденныеФайлы = НайтиФайлы(ФайлДляУдаления,"*.*",Истина);
    Если НайденныеФайлы.Количество()=0 Тогда
    УдалитьФайлы(ФайлДляУдаления);
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    #КонецЕсли
    
    Объект.ЕстьВложения = (Вложения.Количество() <> 0);
    
    КонецПроцедуры
    
    

    Процедура «ОбработатьПереданныеПараметры»:

    &НаСервере
    Процедура ОбработатьПереданныеПараметры(Параметры)
    
    Если Объект.Ссылка.Пустая() Тогда
    
    Если Параметры.Свойство("Вложения") Тогда
    
    Для каждого Вложение Из Параметры.Вложения Цикл
    
    новСтр = Вложения.Добавить();
    новСтр.Расположение = 2;
    новСтр.ИмяФайлаНаКомпьютере = Вложение.Значение;
    
    ИмяФайла   = "";
    Расширение = "";
    Если ЭтоАдресВременногоХранилища(Вложение.Значение) Тогда
    ИмяФайла=Вложение.Представление;	
    Данные=ПолучитьИзВременногоХранилища(Вложение.Значение);
    Если ТипЗнч(Данные)=Тип("ДвоичныеДанные") Тогда
    новСтр.Размер=Данные.Размер();
    новСтр.Удалять=Истина;
    новСтр.РазмерПредставление = ВзаимодействияКлиентСервер.ПолучитьСтроковоеПредставлениеРазмераФайла(новСтр.Размер);
    КонецЕсли;
    Иначе
    ВзаимодействияКлиентСервер.ПолучитьКаталогИИмяФайла(Вложение.Значение, "", ИмяФайла);
    Попытка
    Данные = Новый Файл(Вложение.Значение);
    новСтр.Размер= Данные.Размер();
    новСтр.Удалять=Истина;
    новСтр.РазмерПредставление = ВзаимодействияКлиентСервер.ПолучитьСтроковоеПредставлениеРазмераФайла(новСтр.Размер);
    Исключение
    КонецПопытки
    КонецЕсли;
    
    новСтр.ИмяФайла = Вложение.Представление;
    
    Расширение = ВзаимодействияКлиентСервер.ПолучитьРасширениеФайла(ИмяФайла);
    новСтр.ИндексКартинки = ФайловыеФункцииКлиентСервер.ПолучитьИндексПиктограммыФайла(Расширение);
    
    КонецЦикла;
    
    КонецЕсли;
    
    Если НЕ ПустаяСтрока(Параметры.Тема) Тогда
    Объект.Тема = Параметры.Тема;
    КонецЕсли;
    
    Если НЕ ПустаяСтрока(Параметры.Тело) Тогда
    Объект.Текст = Параметры.Тело;
    КонецЕсли;
    
    Если НЕ Параметры.УчетнаяЗапись.Пустая() Тогда
    
    Объект.УчетнаяЗапись = Параметры.УчетнаяЗапись;
    РеквизитыОтправителя = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Параметры.УчетнаяЗапись,"Ссылка,ИмяПользователя,АдресЭлектроннойПочты");
    Объект.ОтправительПредставление = ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(РеквизитыОтправителя.ИмяПользователя,РеквизитыОтправителя.АдресЭлектроннойПочты,"");
    
    КонецЕсли;
    
    КонецЕсли;
    
    КонецПроцедуры
    
    


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Ta4to

Дата регистрации: 01.03.2009
Сообщений: 13

Добрый вечер.<br>Ввожу информацию по договорам, прикрепляю к ним файлы с текстом договоров и иногда выскакивает ошибка<br>{Справочник.ХранилищеДополнительнойИнформации.Форма.ФормаСпискаФайловИИзображений(342)}: Ошибка при вызове конструктора (ДвоичныеДанные): Ошибка совместного доступа к файлу ‘путь документа'<br>Причем не понятно по каким причинам, то все нормально, то ошибка совместимости.<br>В чем может быть проблема не подскажите?<br>С уважением.<br>

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20836

Так ошибка не совместимости, а ошибка совместного доступа, а это разные вещи!

Ta4to

Дата регистрации: 01.03.2009
Сообщений: 13

И в чем может быть проблема?

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20836

Проблема в совместном доступе к файлу! Может быть его еще кто-то открыл?

Показывать по
10
20
40
сообщений

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста прочитатьизменения ошибка формата представления изменений
  • Ошибка при вызове конструктора двоичные данные 1с
  • Ошибка при вызове метода контекста прочитатьxml
  • Ошибка при вызове метода контекста прочитатьxdto
  • Ошибка при вызове конструктора wsпрокси