+ к (1) , кроме этого в журнал регулярно падает ошибка
Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено.
Ошибка блокировки объекта. Объект уже заблокирован:
пользователь: Администратор, сеанс: 761692, начат: 07.02.2020 в 17:00:58, приложение: WS-соединение
{ОбщийМодуль.ОбработкаЗапросовXDTOДокументы.Модуль(3680)}: ОбъектДО.Заблокировать();
{ОбщийМодуль.ОбработкаЗапросовXDTO.Модуль(2031)}: СсылкаДО = ОбработкаЗапросовXDTOДокументы.НайтиСоздатьПользователя(ЗначениеСвойстваXDTO);
{ОбщийМодуль.ОбработкаЗапросовXDTO.Модуль(517)}: НовоеЗначение = НайтиСоздатьВнешнийОбъект(ЗначениеСвойстваXDTO);
{ОбщийМодуль.ОбработкаЗапросовXDTOДокументы.Модуль(7889)}: ОбработкаЗапросовXDTO.ЗаполнитьРеквизитИзСвойстваXDTO(ДокументОбъект.Ответственный, ОбъектXDTO, «responsible»);
{ОбщийМодуль.ОбработкаЗапросовXDTOДокументы.Модуль(1785)}: ЗаполнитьОбщиеДанныеДокумента(ДокументОбъект, ОбъектXDTO);
{ОбщийМодуль.ОбработкаЗапросовXDTOДокументы.Модуль(1680)}: ЗаполнитьДанныеВнутреннегоДокумента(Документ, ОбъектXDTO);
{ОбщийМодуль.ОбработкаЗапросовXDTOДокументы.Модуль(1324)}: Если Не ЗаписатьДанныеВнутреннегоДокумента(Документ, Объект, Ошибка) Тогда
{ОбщийМодуль.ОбработкаЗапросовXDTOОбмен.Модуль(155)}: Результат = ОбработкаЗапросовXDTOДокументы.ИзменитьВнутреннийДокумент(Объект, Ложь);
{ОбщийМодуль.ОбработкаЗапросовXDTOКорп.Модуль(56)}: Возврат ОбработкаЗапросовXDTOОбмен.ЗаписатьИзмененияОбъектов(Сообщение);
{ОбщийМодуль.ОбработкаЗапросовXDTOПереопределяемый.Модуль(481)}: Возврат ОбработкаЗапросовXDTOКорп.ОбработатьУниверсальноеСообщение(Сообщение);
{ОбщийМодуль.ОбработкаЗапросовXDTO.Модуль(19)}: Результат = ОбработкаЗапросовXDTOПереопределяемый.ОбработатьУниверсальноеСообщение(Сообщение);
{WebСервис.DMService.Модуль(4)}: Возврат ОбработкаЗапросовXDTO.ОбработатьУниверсальноеСообщение(Запрос);
по причине:
Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено.
Ошибка блокировки объекта. Объект уже заблокирован:
пользователь: Администратор, сеанс: 761692, начат: 07.02.2020 в 17:00:58, приложение: WS-соединение
Содержание:
1. Обмен данными в 1С с технической точки зрения
2. Отладка выражений на встроенном языке 1С
Если верить популярности запросов, то самая встречающаяся проблема, с которой сталкиваются специалисты при таком обмене, — это возвращение изменений в исходный документ.
1. Обмен данными в 1С с технической точки зрения
Для начала стоит сразу объяснить, как обмен работает с технической точки зрения.
В конфигурации (допустим 1С:УХ) создается документ, у которого настроено правило интеграции, при нажатии на вкладку документооборот создается иллюзия того, что вы открываете базу Документооборота. На самом деле вы просто авторизуетесь в документообороте и забираете данные, которые раскладываются в форме 1С:УХ повторяющие форму ДО. Так проходит односторонний обмен. Вы можете создавать и обновлять документы ДО из вашей конфигурации. Но как проходит возврат данных в 1С:УХ, ведь мы даже не указываем в ДО адрес нашей второй конфигурации? Все очень просто, в ДО есть регистр сведений, куда он записывает изменения для выгрузки в другие конфигурации, проходит эта запись благодаря регламентному заданию «Формирование сообщений обмена для интегрированных систем». В то же время в УХ есть регламентное задание «Интеграция с 1С:Документооборотом — Выполнить обмен данными» которое авторизуется в ДО и проверяет этот регистр. Если там есть сообщения, то он обновляет документы.
Исходя из такой схемы работы, на тестовом контуре чаще всего ошибка заключается в том, что при копировании базы Документооборота (а чаще всего это просто копии) базы блокируют все регламентные задания в 1С, связанные с внешним миром. Чтобы не нарушать работу основной базы, и для того, чтобы обмен работал сам, необходимо разрешить использование регламентных заданий в 1С. Как только вы откроете обработку «фоновые и регламентные задания в 1С» вы увидите соответствующую кнопку. Внимание: проверьте есть ли в этой конфигурации настроенные синхронизации и выключены ли такие регламентные задания как оповещения, если синхронизации есть их стоит удалить, а регламентные задания выключить.
2. Отладка выражений на встроенном языке 1С
Порой при бесшовной интеграции документооборота приходится писать код для подстановки тех или иных значений. Приходится писать их в режиме предприятия: ни подсказок, ни автоподстановки, ни отладки там нет.
Но не все так плохо — можно подсмотреть в отладке 1С на его исполнение. Для этого в своей второй конфигурации (не ДО) необходимо найти Общий модуль «ОбщегоНазначения» а в нем функцию «ВыполнитьВБезопасномРежиме». Именно в этой функции происходит выполнение нашего кода. Если поставить, например, на возврате точку остановы, мы сможем посмотреть, какие параметры пришли и какой код выполняется. Если продвинемся на пару шагов вперед, то увидим, какой результат вышел в итоге. К тому же не запрещается на время отладки в 1С размещать что-то «подсказывающее»: где конкретно процесс оборвался, в случае сложных логических цепочек можно разместить, например, функцию ЗаписьЖурналаРегистрации.
Реквизит, который я указал не заполняются – это очень распространенная ошибка. Но в 90% случаев решается она очень просто: у реквизита, который не заполняется, необходимо проставить галку «Заполнять из данных заполнения». Если это не помогает, то тут универсального ответа нет, нужно проверять тип заполнения. Для теста можно проверить заполнение из другого реквизита и т.д.
Как передать ссылку через встроенный язык 1С?
Вот тут начинаются сложности. При передаче результата достаточно его просто вписать, но если результат ссылочный, то результатов три:
Параметры.Результат — необходимо заполнить. Можно заполнить наименованием по ссылке. Если будет пустой, то все другие результаты не сохранятся.
Параметры.РезультатID — сама ссылка на объект. Достать ее будет сложной задачей.
Параметры.РезультатТип – тип ссылки, передается строкой из XDTO – DM.
Как передаются ссылки в целом?
Всегда перед настройкой бесшовной интеграцией документооборота делайте простую синхронизацию, чтобы все элементы справочников были максимально одинаковыми, за исключением конечно нестандартных. Но бесшовная интеграция довольно универсальная в этом плане, и если необходимо что-то синхронизировать, то достаточно сделать так, чтобы наименование было одно и то же, тогда элементы не будут дублироваться, а подставляться будут те, что есть в системе.
Как включить свой реквизит в бесшовную интеграцию
1. На стороне ИС
1. В модуле менеджера справочника Правила интеграции прописать новый реквизит в метод ПолучитьРеквизитыОбъектаДО
2. При необходимости работать с данным реквизитом интерактивно на стороне ИС нужно вынести его на форму и обеспечить его заполнение в методе Справочники.ПравилаИнтеграцииС1СДокументооборотом. СоответствиеСвойствXDTOиРеквизитовФормыОбъектаДО или в процедуре ПрочитатьОбъектВФорму в форме документа БИД.
2. На стороне ДО
1. Добавить реквизит в XDTO пакет DM в DMDocument или в DM<…>Document
2. При необходимости добавить реквизит в метод ОбработкаЗапросовXDTO. СоответствиеСвойствXDTOРеквизитамПоиска
3. В ОМ ОбработкаЗапросовXDTOДокументы прописать заполнение и получение данного реквизита из объекта XDTO в методы ПолучитьДанные<…>Документа, ЗаполнитьДанные<…>Документа
Специалист компании ООО «Кодерлайн»
Барабанов Роман
Типовые проблемы при работе с внешней обработкой
Если при работе с модулем интеграции для 1С возникла ошибка, появится уведомление.
Проблемы при запуске внешней обработки
- Не получен ответ от плагина
- Ошибка работы с файловой системой или Не найден объект
- Ошибка при создании COM-объекта
- Протокол проверки установленных ini файлов
- Установлен безопасный режим
- Нарушение прав доступа
- Ошибка авторизации при вызове RPC-функции
- Не зарегистрирована ActiveX компонента СБИС SDK
Проблемы при работе с документами
- В некоторых файлах обнаружены ошибки. Отправка с ошибками запрещена
- Дата документа обязательна при наименовании документа отличном от прочерка
- Не передан идентификатор ответственного
- Неверное значение ИНН/КПП получателя
- Отсутствует сертификат ЭЦП для утверждения/отклонения пакета документов
- Ошибка в адресе организации
- Ошибка в атрибуте ОКЕИ_Тов
- Ошибка при обработке запроса расширением или Выдано исключение System.OutOfMemoryException
- Произошла исключительная ситуация
- При создании новой редакции не допускается смена регламента
- Указанный отправитель не является нашей организацией
- У вас нет прав на создание документов
- Не найдена организация
- Не найден контрагент
- Не найден документ с идентификатором. Не удалось получить ссылку на документ
- Номенклатура должна принадлежать какой-либо папке! Укажите группу номенклатуры!
- Объект не поддерживает свойство или метод GetElementsByClassName
- В личном кабинете не появились документы
- Внешняя обработка медленно отправляет документы
- В документе отображаются нечитаемые символы
- Не выгружаются коды маркировки
- Некорректно выгружается адрес из 1С
- Не заполняется договор
1С
Типовые проблемы
Внешняя обработка
Ошибка 1С
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.
Клиент поймал довольно странную ошибку при работе в 1С. При этом отследить её было проблематично. Она могла возникнуть в любой момент: при работе с документами или же просто в режиме ожидания.
Из дальнейших действий — «Перезапустить» или «Завершить». В общем, неудобно и бесит, когда трудишься по своей задаче. А тут еще работу в открытом сеансе потерять можно.
Полный текст ошибки:
Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
Недостаточно свободной памяти для выполнения операции

Конфигурация среды
Обычная локальная сеть с роутером и подключенными станциями по «проводу» (100 Мбит/сек). Файловая база 1С:УНФ опубликована через веб-сервер Apache. Основной ПК и клиенты на базе ОС Windows 10.
Подключение к ИБ с помощью тонкого клиента по протоколу http. Одновременных подключений к базе — до 3-х человек. Ошибка появляется на удаленных ПК, которые соединяются с Apache.
Как исправить ошибку
Что можно сделать в этом случае. Разберем несколько рекомендаций — они разные и могут показаться странными — но все-таки проверьте. Вдруг какая-то из них окажется полезной и закроет ошибку.
В ошибке указывается, что недостаточно свободной памяти. Если вы обладаете ресурсом, чтобы увеличить объем ОЗУ на сервере — сделайте это. Конечно, там свои тонкости и нюансы. Проверьте — не помешает.
Внимание; перед любыми изменениями обязательно сделайте контрольную точку системы (бэкап) и резервную копию ИБ для подстраховки.
Рекомендации
1. Перезапустите службу Apache на основном ПК.
В качестве быстрого решения в моменте.
2. Очистите локальный кэш на станциях.
3. Выполните проверку и переиндексацию БД (ТиС). Опционально — сократите журнал регистрации (ЖР).
4. Отключите ipv6 на ПК с опубликованной базой.
5. Увеличьте объем оперативной памяти, доступной пользователю.
Для Windows Vista, Windows 7, Windows Server 2008 выполните команду от имени администратора:
bcdedit /set increaseuserva 2560 //если у вас установлено 3 Гб ОЗУ
bcdedit /set increaseuserva 3072 //если у вас установлено 4 Гб ОЗУ
Чтобы вернуть параметры по умолчанию, для отмены вышеуказанных настроек выполните в консоли команду:
bcdedit /deletevalue increaseuserva
bcdedit /deletevalue {current} increaseuserva //если использовался параметр {current}
Для Windows XP, Windows Server 2003 настраивается через изменение файла boot.ini. Будьте осторожны. В конце каждой строки под заголовком [Operating Systems] после команды /fastdetect (или любой другой команды, которая идет последней) добавьте следующие параметры:
/3GB /userva=2560 //если у вас установлено 3 Гб ОЗУ
/3GB //если у вас установлено 4 Гб ОЗУ
Например,
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Windows XP Professional» /fastdetect /3GB /userva=2560
6. Если допустимо — перейдите на x64-версии 1С.
7. Замените веб-сервер Apache на типовой Microsoft IIS.
8. Обновите платформу.
Фирма «1С» указала на то, что проблема наблюдается в релизах технологической платформы, начиная с 8.3.16.1791, 8.3.17.1823, 8.3.18.1201.
С информационного портала 1С:
«Ошибка исправлена в версиях платформы начиная с 8.3.17.2231 и 8.3.18.1483. Фирма «1С» приносит извинения пользователям, у которых проявилась указанная проблема. Для ее устранения предлагаем обновиться на указанные версии платформы или последующие», – говорится на официальном сайте.
✅ Успехов вам!
__________
Не получается? Зовите на помощь ИТ-специалиста или обратитесь с нашим джедаям техподдержки → +7-911-500-10-11
Ошибка 405 и 500 в HTTP сервисе 1С. Поиск и устранение.
Добрый день, хотел поделиться с вами результатом преодоления этих ошибок при работе с http сервисами 1С. С данной ошибкой мне пришлось столкнуться при переписывании мобильного приложения с web сервисов на http. Ошибка возникала при отправке http сервису POST запроса.
Ошибка 405
При работе с некорректным HTTP сервисом из мобильного приложения возвращалась ошибка 405, которая указывает на конкретную проблему. «405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу.» Долго не мог разобраться с данной ошибкой, так как в сервисе запрос был разрешен и шаблоны были настроены корректно.
Ошибка 500
При работе с некорректным HTTP сервисом из внешних программ возвращалась ошибка 500, которая ни о чем конкретном не говорит. «500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса».
Вроде HTTP сервис один, а при использовании запросов к нему из разных программ возвращались разные ошибки.
Расследование ошибок 405 и 500 в HTTP сервисе 1С
Времени на выяснение причин ушло очень много. За несколько дней до этой задачи мною были проведены десятки экспериментов по сборке и настройке web сервера apache 2.4 x64 SSL для работы с 1С. Все настройки в основном были связаны с кросс доменными запросами из web приложения на javascript. Столкнувшись с ошибками 405 и 500 на другом проекте я сразу полез в дебри конфигурации apache. После полного удаления apache поставил IIS и на нем вышла такая же ошибка. Поднял на виртуальной машине чистую систему, попробовал apache и iss, но ошибка так и проявлялась. Потом я вспомнил, что одна функция мобильного приложения уже давно использует http сервис и там все прекрасно работает. Создал http сервис с базовыми настройками и все заработало.
Как только я переносил код из web сервиса в функции http сервиса, сразу появлялись ошибки. Самое интересное, что отладка не срабатывала, т.е. POST запрос в пустую функцию приходил и отрабатывал, а в функцию с кодом нет.
На многих форумах ошибку 405 описывают как ошибку доступа, либо не корректную настройку http сервиса.
Итог разбора ошибок 405 и 500 в HTTP сервисе 1С.
В итоге все оказалось довольно просто. Функция, которая вызывалась внутри функции http сервиса 1с не могла быть вызвана из данного модуля. Странно, что при сохранении конфигурации никакой ошибки на вызов отсутствующей функции не было. Возможно это глюк версии платформы и будет доработан. При использовании web сервисов, даже если код внутри функции был не корректный, отладка работала. В http сервисе сразу идет возврат с ошибками 405 или 500.
P.S. В последней версии платформы ошибка 405 перестала выходить.
Обновление 12.01.2019
В процессе работы часто приходится сталкиваться с ошибками 405 и 500 в HTTP сервисах. Но проблема в 99% случаев в коде сервиса. Возможно это не явно, код вас может уводить глубоко в другие модули, но решение надо искать именно там.
Сейчас у меня такие ошибки начинают и в рабочих проектах. Стоит только внести небольшое изменение которое вызывает исключительную ситуацию, как вы получите ошибку 500. Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.
В данный момент я начинаю с того, что отключаю вызов всех функций и процедур начиная со входа в обработчики HTTP сервиса и смотрю как проходят запросы. Если все хорошо, то я начинаю включать код небольшими кусочками и проверять работу сервиса. Данный метод не самый быстрый, но дает 100% результат.
Если у вас остались вопросы, то вы можете задать мне их в социальных сетях или оставить комментарий ниже.