Ошибка совместного доступа при интеграции с 1с

1. user848763 29.11.18 11:03 Сейчас в теме
Добрый день. При обмене данными между 1с и битриксом, постоянно вываливается ошибка:

{ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(1516)}: Ошибка при вызове конструктора (ЧтениеТекста)
		ЧтениеТекста = Новый ЧтениеТекста(ИмяФайлаОтвета, лКодировка);          
по причине:
Ошибка совместного доступа к файлу '/home/usr1cv8/tmp/v8_mWVbFi_10c8.tmp'


Конфигурация 11 (11.3.4.103), платформа 8.3.10.2505, модуль битрикса 7.0.1.6. От версии модуля битрикса не зависит. 1с клиент-сервер, сервер установлен на debian. В прочем, когда-то он был и на windows эта ошибка тоже присутствовала, но обмен проходил без ошибок 1 раз из 5 примерно. Сейчас же обмен валится постоянно. Может упасть через 5 минут, может через час, но падает в любом случае. В чём проблема может-быть?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
21. kuld 248 24.07.19 02:53 Сейчас в теме
(1) Решилась проблема?
С аналогичной столкнулся. На том же сервере резервная копия той же базы месячной давности работает нормально.
Всё проверил перепроверил, идей нет (
2. yaroslavkravets 24 29.11.18 13:32 Сейчас в теме
что это за файл?
если файл обмена то проверьте права на него, и количество процесов использующих его.
возможно система сайта читает и модифицирует его наложив запрет открытия другими программами, а 1С пытается его открыть
3. user848763 29.11.18 14:53 Сейчас в теме
(2) Да, это файл обмена и таких файлов генерируется очень много вовремя обмена. Как проверить можно?
6. yaroslavkravets 24 30.11.18 16:38 Сейчас в теме
(2)
то проверьте права на него

попробуйте это
4. yaroslavkravets 24 29.11.18 15:21 Сейчас в теме
чтобы узнать - посмотрите как Битрикс отркрывает файл и какие устанавливает ограничения на файл для других процессов(например - LOCK_EX и тд)
но способ обмена данными - писать в файл когда с него считывают - идея плохая, это неправильное архитектурное решение.
посмотрите в сторону очередей в rabbit mq. никакие данные не будуть пропадать(нужен кластер очередей 2-3 сервера) и вы не будете привязаны к какому решению.
если решите перейти с Битрикса на что-то другое не нужно перерабатывать все обмены, только доработать приемник
5. user848763 30.11.18 14:41 Сейчас в теме
(4)Битрикс вообще ничего не читает, он лишь отправляет запрос к 1с на инициализацию данных. 1с сама формирует эти файлы и отправляет битриксу, у битрикса к этим файлам нет доступа вообще
7. user848763 30.11.18 16:44 Сейчас в теме
Да нет, он же создаёт эти файлы постоянно и они нормально читаются, он же не может создать посреди обмена вдруг файл с другими правами. Обмен примерно так работает.

Нажимаем кнопку обмена в 1с > идёт запрос к сайту на авторизацию>приходит ответ от сайта к 1с, что всё ок и нужно начинать формировать файл для отправки на сайт. 1с запокавала в zip часть данных и отправила сайту, сайт обработал эту часть данных и послал к 1с запрос, чтобы она упокавала и отправила следующую часть и так, пока не пройдёт весь обмен.
8. yaroslavkravets 24 30.11.18 16:47 Сейчас в теме
в какую сторону настроен обмен? или в две стороны?
9. user848763 30.11.18 16:48 Сейчас в теме
(8) От 1с к битриксу, заказами не обмениваемся
10. yaroslavkravets 24 30.11.18 16:57 Сейчас в теме
вариантов у меня 3:
- проверить антивирус(если таковой имеется),
- попробовать почистить все временніе файлы в этой папки(не уверен),
- смотреть код модуля Б_ОбменССайтомСервер или связанных с ним, возможно проблема где то там
11. user848763 30.11.18 17:04 Сейчас в теме
(10) Ну вот только если код смотреть, остальные 2 пункта делал уже
12. user848763 30.11.18 17:06 Сейчас в теме
Странное поведение( Ну код один же, модуль один для всех, у кого-то работает нормально
13. user848763 30.11.18 17:08 Сейчас в теме
Со стороны хостинга всё нормально, пытались отловить проблему с их тех. поддержкой, к ним всё отлично отправляется и обрабатывается, проблема именно в 1с. тех. поддержка битрикса, как всегда, бесполезна
14. user848763 05.12.18 15:35 Сейчас в теме
В общем, похоже оказалось, что это проактивный фильтр в битриксе, вообще не очевидно конечно...
15. hobbit91 2 13.02.19 19:31 Сейчас в теме
(14) Добрый день,
подскажите, пожалуйста, как в итоге проблему решили?
16. user848763 14.02.19 10:56 Сейчас в теме
Никак, думал проактивный фильтр битрикса чудит, но нет. Так и живём, 1с ничего не знает, битриксоиды тем более.
17. hobbit91 2 15.02.19 20:42 Сейчас в теме
(16) а как при этом обмен с сайтом проходит?
18. user848763 01.03.19 10:57 Сейчас в теме
(17) Пока выгружаем из 1с в каталог, а скрипт сайта забирает xml к себе
19. user848763 24.05.19 15:02 Сейчас в теме
up, тема открыта. Есть идеи?
20. user848763 24.05.19 15:04 Сейчас в теме
Очень нужна помощь. Права менял какие только возможно, umask 0002 прописывал, куда ещё копать, чем можно отследить?
22. adrassad 16 04.02.21 19:09 Сейчас в теме
Проблему можно решить изменив имя файла в процедуре записи логов.
А Именно:
Б_ОбменССайтомСервер.СообщитьПодробно

Добавляем в попытку:

Попытка

 Текст = Новый ЗаписьТекста(ОсновныеПараметры.ИмяФайлаЛога, КодировкаТекста.ANSI,,истина);
 Текст.ЗаписатьСтроку(Строка(ТекущаяДата()) + "--" + пСобытие);
 Текст.Закрыть();

Исключение
				
 ЗаписьЖурналаРегистрации("СобытияОбменаДанныхМодуляБитрикс", 
 УровеньЖурналаРегистрации.Ошибка,,,ОписаниеОшибки()+пСобытие);
				
  //При блокировке файла логов меняем имя файла
  ОсновныеПараметры.ИмяФайлаЛога = СтрЗаменить(ОсновныеПараметры.ИмяФайлаЛога, ".txt","_.txt");
				
   Текст = Новый ЗаписьТекста(ОсновныеПараметры.ИмяФайлаЛога, КодировкаТекста.ANSI,,истина);
   Текст.ЗаписатьСтроку(Строка(ТекущаяДата()) + "--" + пСобытие);
   Текст.Закрыть();
		
КонецПопытки;
Показать
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)