Имя: Пароль:
1C
 
Синхронизация УТ 11 и БП 3,0 Вылеты, обрывы синхронизации из программы при обмене
0 e053nk
 
30.01.23
14:11
Фирма в 2022 году решила перейти полностью на 1с.Преобрели УТ,БП,ЗуП. В 2022 году набивали документы с другой программы руками. Предполагали начать работу в 1с с 2023 года полностью.
Текущие данные: 1С:Предприятие 8.3 (8.3.22.1709), УТ 11.5.8.378,БП3.0 (3.0.128.10). Вариант базы данных -файловый. Это уже обновлённые конфигурации, но ошибки возникли до обновления.
Обмен настроен стандартный, вариант -универсальный обмен, в виде прямого подключения(СOM) к  базам данных УТ,БП. Параллельно ,аналогично текущему, настроен обмен с ЗуП. Настраивал где то полгода назад. Для удобства пользователя обмен делали на стороне БП-последовательно делали обмен с ЗуП и УТ.  С начала ввода данных в конфигурации обмен работал нормально, нареканий не было. Где-то под новый год (до обновления) вылезла проблема синхронизации -пользователи пожаловались что она не проходит, завершается с ошибкой.
Симптомы, проявления:
в процессе синхронизации этап  выгрузки из БП в УТ проходит , а вот на этапе выгрузки из УТ в БП -задумывается минут на 10 или больше и в итоге может либо прекратить синхронизацию либо вообще вылететь из программы с ошибкой (прочитать её не успеваю -что то похожее на "аварийное завершение..."). При этом в журнале регистрации  вижу, что данные обновляются. Но, как я понимаю, из за ошибки до конца обмен не проходит -нет информации о том что данные приняты в приемнике -и источник опят отсылает те же данные на обмен.
1 Ivan_495
 
30.01.23
14:15
в жр что?
2 e053nk
 
30.01.23
14:22
Что делал:
1. Перенес копии базы данных на свой комп, настроил новые пути база данных для прямого обмена. Результат -ошибка  проявляется также.
2. Попробовал обмен запустить со стороны УТ. Тут немного по другому произошло: сначала ошибка проявлялась. Но где-то с пятого раза синхронизация прошла.
В этом случае база УТ не вылетала вообще никогда, но в журнале регистрации иногда появляется ошибка "Не удалось подключиться к другой программе: Ошибка при вызове метода контекста (Connect)"....."по причине:
Произошла исключительная ситуация (V83.COMConnector.1): Сеанс отсутствует или удален
ID=84e8944a-80fa-4eac-8668-4f8446210408, File=src\backbas\src\SeanceContextBasImpl.cpp(2798)"
Но эта ошибка присутствует НЕ на каждом вылете синхронизации....
3 e053nk
 
30.01.23
14:23
Сейчас обмен выглядит так -из 10 попыток 6-7 свылетом, остальные успешны. При этом данных для обмена вообще нет (синхронизация то прошла уже),но думает все равно минут по 5-7
4 e053nk
 
30.01.23
14:32
Есть еще один неприятный нюанс, но я его на прямую с синхронизацией увязать не могу. Все проги лицензионные, зарегены. Но почему то в БП (только в ней) вылетает сообщение "Обнаружено неправомерное использование данного программного продукта......" и т.д.  Программа продолжает работать.
И сразу скажу -показ этого окна и прохождение процесса синхронизации -пока НИКАК  НЕ СВЯЗАНЫ по времени. Т.е. поймать четкого совпадения что в процессе синхронизации начинает происходить процесс проверки лицензионности -нет ,такого нет. Как это окно и проверку  отключить-я пока не понял (да вряд ли  "чисто" это можно сделать),пока
выясняю с продажником ПО что там произошло с одной из трех конф проданных одновременно.
5 Amra
 
30.01.23
14:54
(4) Отключить чисто можно - переставить операционку на всех компах, раз у вас файловая, то компов с десяток. И начать надо именно с этого
6 unenu
 
30.01.23
14:55
(3) В УТ подумайте над логикой методов (выгрузите полный текст запроса, запустите в консоли без ввода в табличный документ и посмотрите какой пакет самый "тугой"):

ДоходыИРасходыСервер.РаспределениеРасходовНаСебестоимостьТоваров()
особенно над этим:
ДоходыИРасходыСервер.ТекстЗапросаТаблицаПоступленияТоваров()

В последнем формируется ВТ без фильтров периода и аналитики по бескрайнему регистру. Причем, это происходит не единоразово, а при обмене каждого документа выгрузки. Чем больше зарегано доков - тем дольше думает. Когда ресуров сервера валом, то прокатывает, когда усохли, то падает.
В итоге ваши 5-7 минут слезки, бывает и намного больше выгрузка думает "ни о чем", просто потому что кто-то решил гнать в ВТ по сути весь регистр себестоимости.

Лечение простым костылем: В ДоходыИРасходыСервер.ТекстЗапросаТаблицаПоступленияТоваров() в конце метода (в расширении)

#Вставка
    ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"РегистрНакопления.СебестоимостьТоваров.Обороты(,, Регистратор,","РегистрНакопления.СебестоимостьТоваров.Обороты(&ДатаНачала,&ДатаОкончания, Регистратор,");
#КонецВставки