файловая база, управляемые формы, печатная форма |
Я |
15.11.11 — 16:58
Добрый день!
Просьба помочь разобраться в чем дело…
Есть внешняя печатная форма для управляемой формы. Также есть 2 базы, переферийная на SQL и основная — файловая.
Печатная форма на скулёвой базе отлично запускается, а на файловой пишет:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(201)}: Ошибка при вызове метода контекста (Подключить)
Возврат ВнешниеОбработки.Подключить(АдресВоВременномХранилище,, БезопасныйРежим);
по причине:
по причине:
Ошибка подключения внешних метаданных
по причине:
Неправильный путь к файлу ‘e1cib/tempstorage/a03951ab-fa12-4b07-b2e6-e82a723147a6’
Подскажите, куда копать чтобы всётаки взлетела в файловой базе?
1 — 15.11.11 — 17:14
ups
2 — 16.11.11 — 17:01
Ups ups
3 — 18.11.11 — 18:34
Кто нибудь, подскажите куда рыть! Я уже на знаю что делать… 🙁
4 — 18.11.11 — 18:43
Каким образом путь к файлу получали? Использовали метод: «ПолучитьНавигационнуюСсылку(<Объект>, <ИмяРеквизита>, <Индекс>)»?
5 — 18.11.11 — 19:26
кэш чистил?
6 — 18.11.11 — 23:47
(4) Это БСПятина сама путь к файлу получает.
7 — 18.11.11 — 23:48
(0) Проверь путь к временным файлам.
8 — 21.11.11 — 10:57
(4) ответ в (6)
(5) по подробнее можно… Расскажите, как это делать? — простите за такой вопрос.
(7) Смотрю используя отладчик, в экспортной функции:
ПодключитьВнешнююОбработку(ВнешняяОбработка, БезопасныйРежим)
получаем двоичные данные из хранилища обработки:
ДвоичныеДанныеОбработки = ВнешняяОбработка.ПолучитьОбъект().ХранилищеОбработки.Получить()
получаем адрес во временном хранилище:
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеОбработки)
пытаемся подключить обработку
Возврат ВнешниеОбработки.Подключить(АдресВоВременномХранилище,, БезопасныйРежим)
при подключении выдает ошибку описанную в (0)
На сколько я понимаю путь временного файла это и есть: e1cib/tempstorage/3e1518d4-3666-4b45-bdfc-d35907e9d2dd, как проверить, я не знаю — подскажите.
Спасибо за участие.
9 — 21.11.11 — 11:03
Путь временного файла — на самом деле путь, указанный в переменной %TEMP%. Вот его и проверь на корректность и доступ к нему.
10 — 21.11.11 — 11:15
(9) это нужно сделать при добавлении в справочник «дополнительные отчеты и обработки»? Как мне увидеть эту переменную %TEMP%? Знаю есть такая папочка, при добавлении печатной формы в справочник, файл создается в ней, всё ок. Расскажи как бы ты стал проверять переменную %TEMP%? Я не понимаю :(.
11 — 21.11.11 — 11:18
12 — 21.11.11 — 11:37
(11) проверил, в переменной находится пусть к временной папочке TEMP, доступ к ней есть…
13 — 21.11.11 — 18:10
У кого нибудь есть внешняя печатная форма на управляемых формах и файловая база? Попробуйте, работает ли?…..
14 — 21.11.11 — 18:59
Всё работает. Проблема на твоей тачке.
15 — 22.11.11 — 09:52
Кто нибудь еще попробует? 🙂 Я ведь тоже на нескольких компах пробовал, таже история :(. Может проблема в базе?!
16 — 22.11.11 — 09:54
(15) Кинь мне на почту в профиле свою форму. Попробую у себя.
17 — 22.11.11 — 10:55
(16) Отправил!
18 — 22.11.11 — 11:04
(17) У меня открытие нормальное. Зарегистрировал в базе, открыл через Печать. Ничего подозрительного, даже отладчиком прошёлся.
19 — 22.11.11 — 11:08
(18) файловая база?
20 — 22.11.11 — 11:09
Файловая, см почту.
21 — 22.11.11 — 11:48
(20) Похоже что дело в клиенте… Просьба попробовать в режиме «Толстый клиент (обычное приложение)».
22 — 22.11.11 — 11:58
Она не будет работать в обычном приложении. Ещё вариант — очистить кэш.
23 — 22.11.11 — 12:05
(22) Можно по подробнее, почему не будет? Какие варианты у меня есть?
Как почистить кэш?
24 — 22.11.11 — 12:10
При прочих равных условиях, на SQL же работает… В толстом клиенте… 🙁
25 — 22.11.11 — 12:31
(23) Удалить базу в списке, прописать заново.
Что-то я не понял, «Бухгалтерия сельскохозяйственного предприятия, редакция 2.0» — в неё вкручена БСП?
26 — 22.11.11 — 12:45
(25) Ага.
27 — 22.11.11 — 13:00
(25) у Вас какая версия программы? У меня стоит 1С:Предприятие 8.2 (8.2.13.199). Начинаю грешить на нее…
28 — 22.11.11 — 13:02
1С:Предприятие 8.2 (8.2.14.540)
29 — 22.11.11 — 13:06
Есть такие кто мог бы попробовать на версии ниже чем 1С:Предприятие 8.2 (8.2.14.540) запустить внешнюю печатную форму на управляемых формах в файловом варианте?
30 — 23.11.11 — 09:48
ups
Поручик
31 — 23.11.11 — 10:37
Сделать пустую базу, забить несколько документов и попробовать на ней эту несчастную ВПФ.
Ошибка совместного доступа к файлу 1С 8.3 указывает, что к файлу, захваченному одним процессом, пытается обратиться другой процесс — например, при попытке одновременного использования одного файла разными пользователями в 1С. Пока пользователь, захвативший файл, не закроет его, попытка открыть файл другим пользователем будет блокироваться.
Бухэксперт8 подготовил специальный пример формирования и исправления ошибки в 1С.
Содержание
- Причины ошибки
- Ошибка совместного доступа к файлу в 1С
- Чистка кеша программы
- Настройки блокировки
Причины ошибки
В данной статье мы рассмотрим 3 случая возникновения ошибки доступа к файлу 1С, разберем причины их возникновения и программные доработки, которые позволят избегать подобных блокировок:
- совместный доступ к файлу при работе с отчетами и обработками;
- чистка кеша программы;
- блокировка 1С в настройках системы.

При попытке записи сформированного отчета в файл у пользователя Иванов И.И. появляется ошибка:
Ошибка связана с тем, что другой пользователь, Сидоров Н.П., открыл указанный файл раньше и работает с ним. Пока Сидоров Н.П. не закроет файл, Иванов И.И. не сможет записать отчет.
Ошибка для системного администратора вполне решаема. Он смотрит, кто работает с указанным файлом, анализирует активных пользователей базы и выясняет, кем сейчас занят файл.
Причина ошибки в данном случае — программное формирование имени Список. Если существует возможность самостоятельно менять место для записи файла или его имя, проблема решается очень просто: изменение имени файла на Список1 позволит записать файл без проблем.
Для корректной работы с отчетом желательно изменить программный код при записи данных. Правильное решение — когда файл записывается не в общее место на сетевом диске, а отдельно для каждого пользователя, работающего с отчетом.
Теперь Иванов И.И. и Сидоров Н.П. при работе с отчетом не будут мешать друг другу.
Чистка кеша программы
При отображении в окне ошибки сообщения о блокировке временного файла помогает удаление временных файлов из папки TEMP. Имя файла и место нахождения указывается в окне ошибки.

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

Антивирусные программы имеют разные настройки, поэтому раздел, отвечающий за исключение блокировки, придется поискать самостоятельно. В антивирусной программе Kaspersky Lab это ссылка Настроить исключения в разделе Параметры угроз и исключений.

По кнопке Добавить подбираются программы для обхода блокировок антивирусной программой.

БухЭксперт8 обращает внимание, что менять настройки антивирусных программ следует только в исключительных случаях. Это безопасность ваших данных. При наличии блокировок программ лучше обратиться к специалистам, если опыта работы в этой области недостаточно.
См. также:
- Нарушение прав доступа
- У пользователя недостаточно прав на исполнение операции
- Ошибка 1С: Начало сеанса с информационной базой запрещено
- Настройка прав пользователей в 1С 8.3
- Как добавить пользователя 1С
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Ошибка совместного доступа к файлу 1C в 8.3
Ошибка, сообщающая о проблеме с доступом к файлу или совместном доступе к файлу — та неприятность, с которой нередко сталкиваются пользователи 1C 8.3. Сейчас мы расскажем о причинах появления этого бага и о том, как его устранить.
Права пользователя
Понять, с чем связана та или иная ошибка, можно по самому названию. Соответственно, надо удостовериться, что дело не в нарушении прав доступа. Ошибка с указанием сетевого пути вылезает при попытке открытия информационной базы по сети после того, как пользователь скопировал и подключил ее.
Рекомендуем проверить настройки прав доступа:
1. нажмите правой кнопкой мыши на ярлык информационной базы и откройте «Свойства»;
2. нажмите на «Общий доступ»;
3. если в настройках доступ указан лишь к чтению объекта, то надо дать разрешение и на запись.
Что касается информационной базы, расположенной на локальном ПК, то здесь необходимо удостовериться, что на вкладке «Безопасность» стоит разрешение на запись.
Настройки блокирования
Причиной нарушения совместного доступа могут служить настройки брандмауэра и антивируса, стопорящих сетевые подключения. Чтобы понять, так ли это, надо зайти в их настройки и посмотреть, имеется ли 1C в перечне заблокированных программ. При положительном ответе 1C нужно удалить из списка и добавить в исключения, чтобы предотвратить в дальнейшем ее блокирование.
Хотим обратить ваше внимание, что самостоятельно заходить и изменять настройки антивирусных программ стоит лишь в исключительных случаях. Такие программы обеспечивают безопасность ваших данных. В случае нехватки опыта в данной сфере рекомендуем обратиться к специалистам, которые помогут вам снять блокировку 1C.
Чистка кэша
В ошибке может указываться путь к временным файлам. К примеру, C:Users…AppDataLocalTemp. В таком случае советуем прибегнуть к очистке кэша.
Одновременный запуск программ 1С
Повышенный риск возникновения данной ошибки отмечается при единовременном запуске двух программ (ЗУП и Бухгалтерии), одна из которых является базовой версией. Если программы запускать поочередно, то ошибка не появится.
Заключение
Как видно, чтобы решить проблему с ошибкой доступа, совершенно необязательно тратить много времени. Достаточно понять, в чем заключается причина, и сделать все возможное для исключения ее повторения.
Если по какой-то причине вам не удалось справиться с проблемой, или же у вас возникли вопросы по использованию программ и обновлению 1C, то обратитесь к нашим специалистам.
Отзывы о компании
-
Сивелькина С. В.
ПАО «НИКО-БАНК» выражает свою благодарность за оперативную и грамотную работу.
В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы «Гарант».
Безусловным плюсом в работе компании «МастерСофт» является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.
-
Мордвинцев С. П.
Коллектив компании «АЭРОПОРТ ОРЕНБУРГ» выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.
Особая благодарность сотрудникам Департамента продаж СЦ ИТ за профессиональный подход в решении всех возникающих задач.
-
Ряховская Н. А.
ООО «Орский Вагонный Завод» выражает искреннюю благодраность за качество обслуживания вашими специалистами. Консультации и поставка антивирусов всегда проходят оперативно и на высоком профессиональном уровне.
Уверены, что и в дальнейшем наше сотрудничество на взаимовыгодных условиях продолжится.
-
Кетерер Т. М.
Главный бухгалтер муниципального бюджетного учреждения дополнительного образования «Дворец творчества детей и молодёжи» Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
«Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе «1С: Бухгалтерия бюджетного учреждения 8» непосредственно Шевлягина Юлия.
Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе «Зарплата и Кадры»).
Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы…».
Привет всем.
Ни с того ни сего, начали появляться такие ошибки на клиентах.
также бывает проскакивает:
Ошибка разбора XML
Неверный формат хранилища данных.
Железо в норме, Платформа W2019SrvMSSQL2014
Причем появляется на всех базах на сервере.
Взяли базу CRM перенесли на тестовый сервер — ошибки во всех базах исчезли, остались только в CRM на тестовом сервере.
Ниже тех инфо.
Платформа: 1С:Предприятие 8.3 (8.3.13.1513)
Конфигурация: 1C:CRM, редакция 3.0 (3.0.5.17) (
http://solutions.1c.ru/catalog/product. … ct_id=1451
)
Copyright © OOО «1С», 2011-2017. Все права защищены
(
http://www.1c.ru
)
Расширения конфигурации:
— Расш
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси
Ошибки:
———————————————————————————
20.06.2019 15:58:55
Ошибка подключения внешних метаданных
по причине:
Ошибка при выполнении файловой операции ‘e1cib/tempstorage/882ef202-dbf9-42ef-ab93-15a8f5b99d6a?seanceId=b5a7298c-c047-4b1f-89ee-060316abf20a’
по причине:
Неверный формат хранилища данных ‘e1cib/tempstorage/882ef202-dbf9-42ef-ab93-15a8f5b99d6a?seanceId=b5a7298c-c047-4b1f-89ee-060316abf20a’
*** Сообщение запрещено. Опасная сеть. ***
Программирование 1С 8.х для начинающих
Общие вопросы
Временное хранилище в 1С 8.2
- Печать
Передача файла с клиента на сервер и обратно.
В связи с новым подходом в программировании на платформе 8.2 возникла необходимость передачи данных между клиентом и сервером при этом прямая передача в виде параметров имеет ряд ограничений. И тогда был введен объект «Временное хранилище».
Чем полезно временное хранилище:
- Не надо создавать объекты в конфигурации
- Доступно и с сервера и с клиента
- Можно записать любой объект
Временное хранилище это не объект конфигурации, а объект платформы поэтому для разработчика он выглядит как черный ящик. Можно туда положить что-то получив псевдоним(адрес) и получить из него что-то указав псевдоним(адрес). Но узнать что находится во временном хранилище и сколько нельзя. В ниже рассмотренных примерах помещение в хранилище происходит на клиенте, а чтение на сервере. Хотя можно передавать данные и в обратном направлении.
Синтаксис работы с хранилищем простой:
Передав параметром, данные которые хотим поместить(Посылка) и УникальныйИдентификатор получаем Адрес, по которому потом можно будет обратиться. Причем передаваемый идентификатор не является получаемым в последствии адресом. Вместо идентификатора можно передать строку Адреса, по которому и будет помещено наше значение, но это не любая строка! Строка Адреса выглядит примерно вот так «e1cib/tempstorage/ae5c5472-0266-4892-9073-20392dd5a6a6» .
УникальныйИдентификатор может быть как новый так и существующей формы, в последнем случае значение в хранилище будет храниться пока существует форма. Если не передать уникальный идентификатор, то при следующем серверном вызове значение уже будет удалено.
Чтобы получить из хранилища нужно только указать адрес:
Также можно удалить помещенный объект, используя адрес
Если помещаемые данные не являются объектами конфигурации, то для того чтобы их поместить нужно перевести в доступный тип — «ДвоичныеДанные»
Помещение в хранилище
Здесь мы сначала преобразуем файл в формат двоичных данных и только потом помещаем их в хранилище
Чтение из хранилища
В интернете есть множество примеров как на сервере записать полученные данные в базу, поэтому ниже приводится другой пример, когда файл полученный на сервере открывается для работы. В качестве такого файла используется XML.
Если мы имеем дело с файлами, то может оказаться удобным метод ПоместитьФайл. Он преобразует файл в двоичные данные и записывает их во ВременноеХранилище. При этом параметром можно настроить открытие диалогового окна для выбора файла. Сделаю оговорку, этот метод нельзя использовать на сервере.
В параметре Адрес, можно указать Адрес в который нужно записать файл, если нужен новый адрес, то нужно передать пустую строку.
Истина – открывает окно для выбора папки и имени файла, при значении Истина есть возможность открыть файл.»КопияФайла.xml» – Имя файла под которым будет сохранен файл.Адрес – это адрес в хранилище,ПолучитьФайл(Адрес,»Копияфайла.xml» , Истина);Чтобы сохранить файл из временного хранилища на Клиенте можно использовать метод
« Как стать программистом 1С » Язык 1С » ПодключитьРасширениеРаботыСФайлами 1С, УстановитьРасширениеРаботыСФайлами 1С, ПолучитьФайл 1С, ПоместитьФайл 1С, ПолучитьФайлы 1С, ПоместитьФайлы 1С, ПолучитьИзВременногоХранилища 1С, ПоместитьВоВременноеХранилище 1С
ПодключитьРасширениеРаботыСФайлами 1С, УстановитьРасширениеРаботыСФайлами 1С, ПолучитьФайл 1С, ПоместитьФайл 1С, ПолучитьФайлы 1С, ПоместитьФайлы 1С, ПолучитьИзВременногоХранилища 1С, ПоместитьВоВременноеХранилище 1С
В веб-клиенте работа с файлами (чтение/запись) производится только на сервере.
Функция ПодключитьРасширениеРаботыСФайлами() используется в веб-клиенте для включения разрешения работы с файлами (поддерживают не все браузеры), если неудачно – возвращает Ложь. Перед первым использованием функции в этом браузере на этом комьютере требуется установить расширение работы с файлами с помощью функции УстановитьРасширениеРаботыСФайлами()
Функции
• ПоместитьФайл(АдресКудаПомещен, ИмяФайла)
• ПолучитьФайл(АдресОткуда)
• ПоместитьФайлы(МассивИменФайлов, МассивАдресовКудаПомещены)
• ПолучитьФайлы(МассивАдресовОткуда)
позволяют передвать файлы между клиентом и сервером.
Функции ПолучитьИзВременногоХранилища() и ПоместитьВоВременноеХранилище() позволяют получить данные файла из временного хранилища сервера, куда они были помещены с помощью ПолучитьФайл() и ПоместитьФайл().
На клиенте файлы располагаются где требуется в файловой системе. На сервере файлы помещаются в «хранилище» — временный каталог файлов сервера 1С. Напрямую с хранилищем работать нельзя – требуется получить значение из хранилища с помощью функции ПолучитьИзВременногоХранилища() и сохранить во временный файл на сервере с помощью функции ПолучитьИмяВременногоФайла()
Данные функции можно использовать не только в веб-клиенте, но и в остальных клиентах для оптимизации работы с файлами.
При использовании данных функций в веб-клиенте необходимо заранее выполнить функцию ПодключитьРасширениеРаботыСФайлами()
Обратите внимание на различные варианты поведения системы при выполнения данных функций. В некоторых браузерах выполнение кода программы прерывается до закачки файлов на сервер (например, пользователю выводится окно с процентами закачки файла), а в некоторых – выполнение программы продолжается, а загрузка производится фоново.
Для примеров использован текстовый файл на локальной «клиентской» машине по адресу «D:Текстовый файл.txt» со следующим содержимым:
Привет, мир!
Конец файла
Пример 1. Чтение текстового файла на сервере. Имя файла выбирает пользователь/указывает программист
//если подключить не удалось — требуется установить его (в первый раз)
Если не Результат Тогда
//устанавливаем
УстановитьРасширениеРаботыСФайлами();
//если не удалось установить — то повторный вызов подключения будет неудачный
Если не ПодключитьРасширениеРаботыСФайлами() Тогда
//сообщаем об ошибке и прерываем работу программы
ВызватьИсключение «Ошибка. Ваш браузер не поддерживает работу с файлами.»;
КонецЕсли;
КонецЕсли;
#КонецЕсли
//перемещаем файл на сервер во «внутреннее хранилище сервера»
ВнутреннийАдресСервера = «»;
//если имя файла выбирает пользователь в стандартном диалоговом окне Windows
Результат = ПоместитьФайл(ВнутреннийАдресСервера);
//если имя файла указывает программист напрямую
//Результат = ПоместитьФайл(ВнутреннийАдресСервера, «D:Текстовый файл.txt»,, Ложь);
Если не Результат Тогда
ВызватьИсключение «Ошибка. Не удалось передать файл на сервер. Операция прервана.»;
КонецЕсли;
Сообщить(ВнутреннийАдресСервера);
//переводим выполнение на сервер вызовом серверной процедуры
ЧтениеФайла(ВнутреннийАдресСервера);
КонецПроцедуры
//начинаем работать с файлом
//узнаем размер файла в байтах (и переведем размер в мегабайты)
Файл = Новый Файл(ИмяВременногоФайла);
Сообщить(Строка(Окр(Файл.Размер() /1024 /1024, 2)) + «Мб»);
//прочитаем первую строку файла
ТекстовыйФайл = Новый ЧтениеТекста(ИмяВременногоФайла);
ТекстПервойСтрокиФайла = ТекстовыйФайл.ПрочитатьСтроку();
Сообщить(ТекстПервойСтрокиФайла);
1с возвращает:
e1cib/tempstorage/ad728cdf-fce4-4c50-b348-87d5265a57a6
C:UsersИмяПользователяWindowsAppDataLocalTempv8_BE51_59.tmp
0Мб
Привет, мир!
Пример 2. Передача на сервер нескольких файлов. Имена файлов выбирает пользователь/указывает программист
&НаКлиенте
Процедура КнопкаЧтениеФайла(Команда)
//для веб-клиента требуется дополнительно подключение расширения работы с файлами
#Если ВебКлиент Тогда
Результат = ПодключитьРасширениеРаботыСФайлами();
//если подключить не удалось — требуется установить его (в первый раз)
Если не Результат Тогда
//устанавливаем
УстановитьРасширениеРаботыСФайлами();
//если не удалось установить — то повторный вызов подключения будет неудачный
Если не ПодключитьРасширениеРаботыСФайлами() Тогда
//сообщаем об ошибке и прерываем работу программы
ВызватьИсключение «Ошибка. Ваш браузер не поддерживает работу с файлами.»;
КонецЕсли;
КонецЕсли;
#КонецЕсли
//перемещаем файл на сервер во «внутреннее хранилище сервера»
МассивВнутреннихАдресовСервера = Новый Массив;
//если список имен файлов выбирает пользователь
Результат = ПоместитьФайлы(,МассивВнутреннихАдресовСервера);
//если список имен файлов указывает программист напрямую
//МассивВнутреннихАдресовСервера = Новый Массив;
//МассивИменФайлов = Новый Массив;
//МассивИменФайлов.Добавить(Новый ОписаниеПередаваемогоФайла(«D:Текстовый файл.txt», «»));
//Результат = ПоместитьФайлы(МассивИменФайлов, МассивВнутреннихАдресовСервера,, Ложь);
Если не Результат или МассивВнутреннихАдресовСервера.Количество() = 0 Тогда
ВызватьИсключение «Ошибка. Не удалось передать файл на сервер. Операция прервана.»;
КонецЕсли;
Для каждого ИмяФайла из МассивВнутреннихАдресовСервера Цикл
Сообщить(ИмяФайла.Хранение);
//переводим выполнение на сервер вызовом серверной процедуры
//реализацию этой функции см. в примере 1
ЧтениеФайла(ИмяФайла.Хранение);
КонецЦикла;
Пример 3. Запись нового файла на сервере с последующей передачей на клиент. Имя файла выбирает пользователь/формирует программист
&НаКлиенте
Процедура КнопкаЧтениеФайла(Команда)
//для веб-клиента требуется дополнительно подключение расширения работы с файлами
#Если ВебКлиент Тогда
Результат = ПодключитьРасширениеРаботыСФайлами();
//если подключить не удалось — требуется установить его (в первый раз)
Если не Результат Тогда
//устанавливаем
УстановитьРасширениеРаботыСФайлами();
//если не удалось установить — то повторный вызов подключения будет неудачный
Если не ПодключитьРасширениеРаботыСФайлами() Тогда
//сообщаем об ошибке и прерываем работу программы
ВызватьИсключение «Ошибка. Ваш браузер не поддерживает работу с файлами.»;
КонецЕсли;
КонецЕсли;
#КонецЕсли
//вызов серверной процедуры формирования файла, она возвращает «внутренний адрес», передаем его параметром
//куда сохранил пользователь файл и сохранил ли — мы не знаем
//пользователь всегда подтверждает разрешение на получение файла
ПолучитьФайл(ФормированиеФайла());
//вариант с сохранением файла без подтверждения пользователя, имя файла указываем сразу, в веб-клиенте работать не будет
//ПолучитьФайл(ФормированиеФайла(), «D:Текстовый файл.txt», Ложь);
&НаСервере
Функция ФормированиеФайла()
//получаем файл из «временного хранилища сервера» и сохраняем во временный файл на сервере
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
//начинаем работать с файлом
//записываем текст в файл
ТекстовыйФайл = Новый ЗаписьТекста(ИмяВременногоФайла);
ТекстовыйФайл.ЗаписатьСтроку(«Привет, мир!»);
ТекстовыйФайл.ЗаписатьСтроку(«Конец файла»);
ТекстовыйФайл.Закрыть();
//помещаем во «временное хранилище сервера», система вернет «внутренний адрес»
Возврат ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяВременногоФайла));
v8: Получение данных из ХралищаЗначений
Данные в хранилще есть. В элемент они попадают, но при открытии элемента картикнка не видна, что сделал не так.
ДанныеАдрес (Строка) Реквизит элемента спр.
&НаСервереПроцедура ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение) ТаблицаФайлов = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресХЗ); Для Каждого СтрокаФайл Из ТаблицаФайлов Цикл Файл = Новый Файл(СтрокаФайл.Значение.Имя); ХранимыйФайл = Справочники.ХранилищеДанныхСправочники.СоздатьЭлемент(); ХранимыйФайл.СсылкаНаОбъект = СсылкаНаОбъект; ХранимыйФайл.Наименование = Файл.Имя; ХранимыйФайл.ДанныеПуть = Файл.Путь; ХранимыйФайл.ДанныеТекущаяДата = ТекущаяДата();
// . ХранимыйФайл.ДанныеХЗ = Новый ХранилищеЗначения(СтрокаФайл.Значение.Хранение, Новый СжатиеДанных()); ХранимыйФайл.Записать(); КонецЦикла; Элементы.Список.Обновить(); КонецПроцедуры
Как-то у тебя сложно или я чего-то не понял, вообщем так:
Действия по установке (загрузке) картинки и ее отображения на форме нашего справочника Сотрудника необходимо выполнять на стороне сервера. Это особенность работы системы с файлами. Именно для этого в тексте процедуры ДобавитьКартинку осуществляется вызов другой процедуры УстановитьКартинку(), которая будет выполняться на сервере.
В программном модуле, ниже процедуры ДобавитьКартинку(Команда) пишем следующий программный код:
Чтобы при открытии картинка отобразилась:
1) я в ообщей форме помещаю данные в ХранилищеЗначений. (данные заполнены)
2) При нажатии кпонки на общей форме создаются элементы справочника. Все данные из хранилища заполняются в элементе спр, а вот с картикой проблема. Я сейчас еще разок книгу читану. Где то рядом брожу.(Процедура ОбработкаВыбора)
&НаСервереПроцедура ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение) ТаблицаФайлов = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресХЗ); Для Каждого СтрокаФайл Из ТаблицаФайлов Цикл Файл = Новый Файл(СтрокаФайл.Значение.Имя); ХранимыйФайл = Справочники.ХранилищеДанныхСправочники.СоздатьЭлемент();
.ХранимыйФайл.ДанныеХЗ = Новый ХранилищеЗначения(СтрокаФайл.Значение.Хранение, Новый СжатиеДанных());
Если написать (выбараю 2 картинки)
Этот алгоритм не отрабатывает..
ХранимыйФайл.ДанныеХЗ = Новый ХранилищеЗначения(СтрокаФайл.Значение.Хранение, Новый СжатиеДанных());
Да нет управляемая.
Для того что бы избавиться от модальности я решил передавать данные через хранилище.
Вот алгорит выгрузки из общей формы
блин. да что с синтаксисом ;( капец какой-то
E_Migachev, объясни как нужно вставлять наверно с видео

(12) да, напишу вечерком
для bell:
в управляемых формах принцип следующий:
Простой пример справочника с картинкой
Отображения картинки текущего элемента списка
В новой версии платформы 1С 8.2 работа с картинками производится отличным от предыдущих платформ методом, разобраться с которым без примеров сложно. Подробно можно прочитать в книге Разработка управляемого интерфейса глава 3.18. Работа с файлами и картинками. Примеры данной статья являются переработанными и дополненными примерами книги.
Картинка как и раньше (8.1) хранится в базе в реквизите (реквизите ТЧ) с типом ХранилищеЗначения, но записать данные в реквизит с этим типом обычном способом нельзя, запись производится в предопределенной процедуре «ПередЗаписьюНаСервере».
Для отображения картинки создается элемент формы поле картинки, данными для которого, является реквизит формы (с типом Строка(0)), содержащий навигационную ссылку на картинку (можно получить функцией «ПолучитьНавигационнуюСсылку») или адрес во временном хранилище (пол.ф. «ПоместитьФайл»)
Ниже приведен код части примера:
В книге Разработка управляемого интерфейса используется дополнительно поле для сохранения имени файла оно необходимо если нужно чтобы программа запомнила из какой папки пользователь предпочитает добавлять или выгружать файлы.
В процедуре ПриЗаписиНаСервере на первый взгляд можно убрать код удаление из временного хранилища т.к. ф. ПоместитьФайл вызывается с параметром УникальныйИдентификатор формы т.е. объект хранилища будет существовать до закрытия формы, но рекумендуется освобождать ресурсы сразу (если пользователь загрузит картинку и нажмет записать, форма не закрыта и объект будет существовать до закрытия).
65925
Руководитель Центра
сопровождения 1С
28 февраля 2019
Обслуживание 1С
Актуальность проверена: 26.01.2023
Получить консультацию
Бесплатно

Обслуживание 1С
Помощь персонального менеджера, оперативность сдачи отчетности, соответствие законодательству РФ
Иногда пользователь программы 1С может столкнуться с сообщениями программы «Ошибка режима доступа к файлу 1С»…

…а также «Ошибка совместного доступа к файлу» 1С 8.3.

Само название ошибки уже говорит пользователю о случившемся: в первом случае – о нарушении прав доступа. Такое сможет случиться, когда пользователь скопировал информационную базу, подключил, а при открытии по сети всплыла такого рода ошибка с указанием сетевого пути к объекту. В этом случае, первое, на что сразу надо обратить внимание – на права доступа, щелкнув правой кнопкой на свойства объекта. Нажав кнопку «Общий доступ», проверить настройки.

Доступ пользователя Windows, который запустил сеанс программы 1С, должен быть не только на чтение, но и на запись.

Если база располагается на локальном ПК, необходимо проверить на закладке «Безопасность», что для пользователя установлено разрешение на запись или не стоит запрет на запись.

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

Если при возникновении ошибки система указывает на временные файлы, например C:Users…AppDataLocalTemp, то очистка кэш может решить проблему с ошибкой.
Высока вероятность появления такой ошибки – при одновременном запуске двух программ (ЗУП и Бухгалтерии), одна из которых была базовой версией. Когда программы запустили по очереди, ошибка не появлялась.
Для решения проблемы с ошибкой доступа, как видите, потребуется немного времени, главное – понять причину и исключить ее повторение.
Другие статьи по теме

Обновления 1С
Как обновить 1С самостоятельно. Рассмотрим пошаговые действия для обновления типовой конфигурации 1С:Предприятия 8 на примере 1С:Бухгалтерии 3.0.

Настройка 1С Бухгалтерия 8.3 с нуля
Настройка 1С:Бухгалтерия позволят задать программе конкретную функциональность, выбрать варианты ведения учета, ввести ряд конкретных значений и параметров.

Установка 1С
Начинающие пользователи программ, разработанных на платформе «1С:Предприятие», подойдя к моменту покупки «коробки» или уже приобретя ее, естественно задаются вопросом: «Как установить 1С Предприятие?»…
Исправление ошибки доступа к файлу
Во время работы с программами 1С пользователи 1С Бухгалтерия или других типовых конфигураций на базе платформы 1С Предприятие получают сообщение об «Ошибке режима доступа к файлу» либо об «Ошибке совместного доступа к файлу». Это критическая ошибка, которая не позволяет использовать программу в штатном режиме. Но устранить ее достаточно просто не прибегая к услугам 1С-сервисов, которые предоставляют технические консультации по вопросам использования приложений.
Описание ошибки и способ ее устранения
Сама суть ошибки указана в системном сообщение, которое выдает программа. В случае «ошибки режима доступа» имеет место нарушение прав пользователя, прописанных в операционной системе на компьютере. Чаще всего подобное возникает в случае, если база данных была скопирована и подключена, а после запуска на экране появилось сообщение с указанием адреса объекта в локальной сети.
Чтобы исправить права доступна, необходимо открыть окно Свойства файла с базой данных. После этого найти в нем папку «Общий доступ» и проконтролировать сделанные там настройки. Доступ должен быть открыт для текущего пользователя Windows. Причем как на чтение файла, так и на запись изменений в него.
Если база данных находится не в сети, а на локальном компьютере, соответствующие права доступа размещаются на вкладке «Безопасность». Необходимо удостоверится в том, что в правах не отменено разрешение на запись данных в файл.
Кроме того, ошибки могут возникать и по другим причинам:
- Изменение настроек штатного брандмауэра операционной системы или сторонней программы, которая выполняет аналогичные функции;
- Неправильная настройка антивирусных программ, которые могут блокировать сетевые соединения к определенным объектам.
Чтобы устранить проблему, необходимо добавить файл с базой данных в исключения этих приложений, устранив блокировку.
Иногда проблема с программами 1С может быть связана с кэшем. В этом случае в диалоговом окне указывается путь доступа к папке TEMP. Решить проблему помогает удаление файлов из этой папки.
У неопытных пользователей ошибка доступа к файлу может быть обусловлена попыткой запуска сразу двух приложений на базе 1С Предприятие. Например, 1С ЗУП и 1С Бухгалтерия, одна из которых была базовой.
Если попытки справиться с проблемой не привели к положительному результату или у вас появились другие вопросы, связанные с использование программ и обновлением 1С, обращайтесь за помощью к специалистам компании «ГК в Приоритете». Телефоны для связи указаны в разделе «Контакты».
- Permalink
-
21.11.2014, 14:56
#1

Просто юзер
Замучила ошибка при выполнении запроса POST
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка при выполнении операции с информационной базой
Ошибка создания файла базы данных ‘\192.000.5.106gisbuh1с8БП_/1Cv8tmp.1CD’
по причине:
Ошибка создания файла базы данных ‘\192.000.5.106gisbuh1с8БП_/1Cv8tmp.1CD’
по причине:
Ошибка совместного доступа к файлу ‘\192.000.5.106gisbuh1с8БП_1Cv8tmp.1CD’ПРава все есть !
куда смотреть И
-
21.11.2014, 15:30
#2

Сообщение от rikony
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка при выполнении операции с информационной базой
Ошибка создания файла базы данных ‘\192.000.5.106gisbuh1с8БП_/1Cv8tmp.1CD’
по причине:
Ошибка создания файла базы данных ‘\192.000.5.106gisbuh1с8БП_/1Cv8tmp.1CD’
по причине:
Ошибка совместного доступа к файлу ‘\192.000.5.106gisbuh1с8БП_1Cv8tmp.1CD’ПРава все есть !
куда смотреть Изначит не все
-
21.11.2014, 15:33
#3

Просто юзер

на папку все права есть даже админские ! 🙂
какие ещё нужны ? 🙂
-
21.11.2014, 15:41
#4

Сообщение от rikony
на папку все права есть даже админские ! 🙂
какие ещё нужны ? 🙂ну раз все права,даже админские есть — смотрите не блокирует ли антивирус/файрвол
-
21.11.2014, 16:04
#5

Просто юзер

ваще странно, пользователей 3 , если заходит один то все нормально, а второй подключится уже не может !
один по терминалу подключается, а другой с своего екзешникаантивирус не блокирет вроде , фаервола нет
сервер вин 2003 R3
-
22.11.2014, 00:01
#6

Сообщение от rikony
ваще странно, пользователей 3 , если заходит один то все нормально, а второй подключится уже не может !
один по терминалу подключается, а другой с своего екзешниканичего странного,повторяю еще раз — смотрите права на папку с базой
-
25.03.2016, 15:42
#7

Пришел за помощью
Re: Замучила ошибка при выполнении запроса POST
Добрый день. В автоматическом режиме обновляли 2 базы БП 3.0
С одной все хорошо, вторая выдает вот такую ошибку после chdbfl.
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка SDBL:
Разрушена структура базы данных 1С:Предприятия.
Подскажите есть шансы еще восстановить? Интересно то что если открываем на платформе 8.3.7 то не доходит до пользователя, если в 8.3.6 то выбор пользователя происходит, но потом то же.
-
30.03.2016, 14:44
#8
Re: Замучила ошибка при выполнении запроса POST
Сообщение от oneal13
Добрый день. В автоматическом режиме обновляли 2 базы БП 3.0
С одной все хорошо, вторая выдает вот такую ошибку после chdbfl.
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка SDBL:
Разрушена структура базы данных 1С:Предприятия.
Подскажите есть шансы еще восстановить? Интересно то что если открываем на платформе 8.3.7 то не доходит до пользователя, если в 8.3.6 то выбор пользователя происходит, но потом то же.Можно если был архив или теневая копия на диске.. Обычно перед обновлением когда делается автоматически программа снимает архив..
Обновления УНФ, БП, УТ, КА, АА51, АА61, ЗиУП, Розница, Розница Аптека
Обращайтесь в личку.
-
13.02.2019, 09:40
#9

Гость форума
Re: Замучила ошибка при выполнении запроса POST
Сообщение от arccos6pi
значит не все
В том-то и дело, что полные права для ВСЕХ.
Схема чуть другая, но ошибка та же.
База (УТ11 проф) опубликована на вебе (IIS) и подключаются к ней с двух рабочих мест.
Так вот… подключаются по принципу «кто первый встал, того и тапки».
Даже если первый уже отключился от базы (при этом 1cv8tmp удаляются), второй не сможет войти до тех пор, пока не перезапустишь IIS.
Права (в т.ч. и для IUSR) на папку с базой полные.
Другие базы (в кол-ве 8 шт), опубликованные там же, ведут себя правильно.
-
29.03.2019, 13:10
#10

Просто юзер
Re: Замучила ошибка при выполнении запроса POST
Быть моожет кому поможет. Была такая ошибка. База на общем серваке. права у всех админские. Помогл перенос файла бд в другую папку
Содержание[Убрать]
-
- Помещение в хранилище
- Чтение из хранилища
Передача файла с клиента на сервер и обратно.
В связи с новым подходом в программировании на платформе 8.2 возникла необходимость передачи данных между клиентом и сервером при этом прямая передача в виде параметров имеет ряд ограничений. И тогда был введен объект «Временное хранилище».
Чем полезно временное хранилище:
- Не надо создавать объекты в конфигурации
- Доступно и с сервера и с клиента
- Можно записать любой объект
- Ускорение работы 1С
Временное хранилище это не объект конфигурации, а объект платформы поэтому для разработчика он выглядит как черный ящик. Можно туда положить что-то получив псевдоним(адрес) и получить из него что-то указав псевдоним(адрес). Но узнать что находится во временном хранилище и сколько нельзя. В ниже рассмотренных примерах помещение в хранилище происходит на клиенте, а чтение на сервере. Хотя можно передавать данные и в обратном направлении.
Синтаксис работы с хранилищем простой:
Передав параметром, данные которые хотим поместить(Посылка) и УникальныйИдентификатор получаем Адрес, по которому потом можно будет обратиться. Причем передаваемый идентификатор не является получаемым в последствии адресом. Вместо идентификатора можно передать строку Адреса, по которому и будет помещено наше значение, но это не любая строка! Строка Адреса выглядит примерно вот так «e1cib/tempstorage/ae5c5472-0266-4892-9073-20392dd5a6a6».
УникальныйИдентификатор = Новый УникальныйИдентификатор;
Адрес = ПоместитьВоВременноеХранилище(Посылка, УникальныйИдентификатор);
УникальныйИдентификатор может быть как новый так и существующей формы, в последнем случае значение в хранилище будет храниться пока существует форма. Если не передать уникальный идентификатор, то при следующем серверном вызове значение уже будет удалено.
Адрес = ПоместитьВоВременноеХранилище(Посылка);
ПрочитатьНаСервере(Адрес); // процедура на сервере которая читает из хранилища с помощью метода ПолучитьИзВременногоХранилища()
ПрочитатьНаСервере(Адрес); // при этом вызове серверной процедуры значения в хранилище уже не будет.
Чтобы получить из хранилища нужно только указать адрес:
Посылка = ПолучитьИзВременногоХранилища(Адрес);
Также можно удалить помещенный объект, используя адрес
УдалитьИзВременногоХранилища(Адрес);
Если помещаемые данные не являются объектами конфигурации, то для того чтобы их поместить нужно перевести в доступный тип — «ДвоичныеДанные»
Помещение в хранилище
ДвоичДанные = Новый ДвоичныеДанные(ПутьКФайлу);
Адрес = ПоместитьВоВременноеХранилище(ДвоичДанные, УникальныйИдентификатор);
Здесь мы сначала преобразуем файл в формат двоичных данных и только потом помещаем их в хранилище
Чтение из хранилища
В интернете есть множество примеров как на сервере записать полученные данные в базу, поэтому ниже приводится другой пример, когда файл полученный на сервере открывается для работы. В качестве такого файла используется XML.
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
ИмяВременногоФайлаXML = ПолучитьИмяВременногоФайла("xml"); // например был помещен XML
ДвоичныеДанные.Записать(ИмяВременногоФайлаXML);
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяВременногоФайлаXML);
ЧтениеXML.Прочитать();
// Дальше стандартная работа с XML
Если мы имеем дело с файлами, то может оказаться удобным метод ПоместитьФайл. Он преобразует файл в двоичные данные и записывает их во ВременноеХранилище. При этом параметром можно настроить открытие диалогового окна для выбора файла. Сделаю оговорку, этот метод нельзя использовать на сервере.
ПоместитьФайл(Адрес,,,Истина,ЭтаФорма.УникальныйИдентификатор);
В параметре Адрес, можно указать Адрес в который нужно записать файл, если нужен новый адрес, то нужно передать пустую строку.
Адрес = "";
ПоместитьФайл(Адрес,,,Истина,ЭтаФорма.УникальныйИдентификатор);
Истина – открывает окно для выбора папки и имени файла, при значении Истина есть возможность открыть файл.»КопияФайла.xml» – Имя файла под которым будет сохранен файл.Адрес – это адрес в хранилище,ПолучитьФайл(Адрес,»Копияфайла.xml» , Истина);Чтобы сохранить файл из временного хранилища на Клиенте можно использовать метод
Для получения файла используется метод
ПолучитьФайл(Адрес,"Копияфайла.xml" , Истина);

