Имя: Пароль:
1C
 
Обмен БП - Рарус Автосервис - Падает в ошибку при запуске в ком для передаче синхронизацие
0 aptomilov
 
28.12.23
13:27
Привет форумчане!
С новым наступающим !
Который день бьюсь вы выгрузкой в сторону Автосервиса от Рарус.

Ошибка которую выдает БП  3 на последней платформе (совместимость 8,3,21)

/////////////////////////////////////////////
Ошибка при вызове метода контекста (ВерсияБиблиотеки)
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(8784)}:ВерсияБСППоВнешнемуСоединению = ВнешнееСоединение.СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(9475)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5998)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1681)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1658)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.22.2239): {ОбщийМодуль.СтандартныеПодсистемыПовтИсп.Модуль(46)}: Метод объекта не обнаружен (ПриДобавленииПодсистемы)
[ОшибкаИспользованияВстроенногоЯзыка]
/////////////////////////////////////////////////////

Исполнение происходит на стороне Автосервиса в режиме ком соединения  а конкретно вот эта процедура

ЧУТЬ НИЖЕ УКАЗАЛ НА КАКОЙ СТРОКЕ

СОБСТВЕННО ВОПРОС ПОЧЕМУ аВТОСЕРВИС ЗАПУСКАЕТСЯ В ОБЫЧНОМ РЕЖИМЕ НОРМАЛЬНО А В РЕЖИМЕ КОМ  НЕ ПРОХОДИТ ТУЖЕ САМУЮ ПРОЦЕДУРУ

Функция ОписанияПодсистем() Экспорт
    
    МодулиПодсистем = Новый Массив;
    МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыБСП");
    
    ИнтеграцияПодсистемБСП.ПриДобавленииПодсистем(МодулиПодсистем);
    ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистем(МодулиПодсистем);
    
    ОписаниеКонфигурацииНайдено = Ложь;
    ОписанияПодсистем = Новый Структура;
    ОписанияПодсистем.Вставить("Порядок",  Новый Массив);
    ОписанияПодсистем.Вставить("ПоИменам", Новый Соответствие);
    
    ВсеТребуемыеПодсистемы = Новый Соответствие;
    
    Для Каждого ИмяМодуля Из МодулиПодсистем Цикл
        
//Если     ИмяМодуля <>    "ас_ОбновлениеИнформационнойБазы"  и   ИмяМодуля <>    "ОбновлениеИнформационнойБазыБСП"     тогда
////    ИмяМодуля=    "ЛицензированиеСлужебный"  
//    продолжить ;
//КонецЕсли;
        
        
        Описание = НовоеОписаниеПодсистемы();
        Модуль = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля);
        Модуль.ПриДобавленииПодсистемы(Описание);
        //  ПАДАЕТ НА ВОТ ЭТОЙ СТРОКЕ КАК БУДТО СВОИ ЖЕ ПОДИСТЕМЫ И ЗАБЫЛ
        Если ОписанияПодсистем.ПоИменам.Получить(Описание.Имя) <> Неопределено Тогда
            ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'Ошибка при подготовке описаний подсистем:
                           |в описании подсистемы (см. процедуру %1.%2)
                           |указано имя подсистемы ""%2"", которое уже зарегистрировано ранее.'"),
                ИмяМодуля, "ПриДобавленииПодсистемы", Описание.Имя);
            ВызватьИсключение ТекстОшибки;
        КонецЕсли;
        
        Если Описание.Имя = Метаданные.Имя Тогда
            ОписаниеКонфигурацииНайдено = Истина;
            Описание.Вставить("ЭтоКонфигурация", Истина);
        Иначе
            Описание.Вставить("ЭтоКонфигурация", Ложь);
        КонецЕсли;
        
        Описание.Вставить("ОсновнойСерверныйМодуль", ИмяМодуля);
        
        ОписанияПодсистем.ПоИменам.Вставить(Описание.Имя, Описание);
        // Настройка порядка подсистем с учетом порядка добавления основных модулей.
        ОписанияПодсистем.Порядок.Добавить(Описание.Имя);
        // Сборка всех требуемых подсистем.
        Для каждого ТребуемаяПодсистема Из Описание.ТребуемыеПодсистемы Цикл
            Если ВсеТребуемыеПодсистемы.Получить(ТребуемаяПодсистема) = Неопределено Тогда
                ВсеТребуемыеПодсистемы.Вставить(ТребуемаяПодсистема, Новый Массив);
            КонецЕсли;
            ВсеТребуемыеПодсистемы[ТребуемаяПодсистема].Добавить(Описание.Имя);
        КонецЦикла;
    КонецЦикла;
    
    // Проверка описания основной конфигурации.
    Если ОписаниеКонфигурацииНайдено Тогда
        Описание = ОписанияПодсистем.ПоИменам[Метаданные.Имя];
        
        Если Описание.Версия <> Метаданные.Версия Тогда
            ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'Ошибка при подготовке описаний подсистем:
                           |версия ""%2"" конфигурации ""%1"" (см. процедуру %3.%4)
                           |не совпадает с версией конфигурации в метаданных ""%5"".'"),
                Описание.Имя,
                Описание.Версия,
                Описание.ОсновнойСерверныйМодуль,
                "ПриДобавленииПодсистемы",
                Метаданные.Версия);
            ВызватьИсключение ТекстОшибки;
        КонецЕсли;
    Иначе
        ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru = 'Ошибка при подготовке описаний подсистем:
                       |в общих модулях, указанных в процедуре %1,
                       |не существует описание подсистемы, совпадающей с именем конфигурации ""%2"".'"),
            "ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы", Метаданные.Имя);
        ВызватьИсключение ТекстОшибки;
    КонецЕсли;
    
    // Проверка наличия всех требуемых подсистем.
    Для каждого КлючИЗначение Из ВсеТребуемыеПодсистемы Цикл
        Если ОписанияПодсистем.ПоИменам.Получить(КлючИЗначение.Ключ) = Неопределено Тогда
            ЗависимыеПодсистемы = "";
            Для Каждого ЗависимаяПодсистема Из КлючИЗначение.Значение Цикл
                ЗависимыеПодсистемы = Символы.ПС + ЗависимаяПодсистема;
            КонецЦикла;
            ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'Ошибка при подготовке описаний подсистем:
                           |не существует подсистема ""%1"" требуемая для подсистем: %2.'"),
                КлючИЗначение.Ключ,
                ЗависимыеПодсистемы);
            ВызватьИсключение ТекстОшибки;
        КонецЕсли;
    КонецЦикла;
    
    // Настройка порядка подсистем с учетом зависимостей.
    Для Каждого КлючИЗначение Из ОписанияПодсистем.ПоИменам Цикл
        Имя = КлючИЗначение.Ключ;
        Порядок = ОписанияПодсистем.Порядок.Найти(Имя);
        Для каждого ТребуемаяПодсистема Из КлючИЗначение.Значение.ТребуемыеПодсистемы Цикл
            ПорядокТребуемойПодсистемы = ОписанияПодсистем.Порядок.Найти(ТребуемаяПодсистема);
            Если Порядок < ПорядокТребуемойПодсистемы Тогда
                Взаимозависимость = ОписанияПодсистем.ПоИменам[ТребуемаяПодсистема
                    ].ТребуемыеПодсистемы.Найти(Имя) <> Неопределено;
                Если Взаимозависимость Тогда
                    НовыйПорядок = ПорядокТребуемойПодсистемы;
                Иначе
                    НовыйПорядок = ПорядокТребуемойПодсистемы + 1;
                КонецЕсли;
                Если Порядок <> НовыйПорядок Тогда
                    ОписанияПодсистем.Порядок.Вставить(НовыйПорядок, Имя);
                    ОписанияПодсистем.Порядок.Удалить(Порядок);
                    Порядок = НовыйПорядок - 1;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    // Смещение описания конфигурации в конец массива.
    Индекс = ОписанияПодсистем.Порядок.Найти(Метаданные.Имя);
    Если ОписанияПодсистем.Порядок.Количество() > Индекс + 1 Тогда
        ОписанияПодсистем.Порядок.Удалить(Индекс);
        ОписанияПодсистем.Порядок.Добавить(Метаданные.Имя);
    КонецЕсли;
    
    Для Каждого КлючИЗначение Из ОписанияПодсистем.ПоИменам Цикл
        КлючИЗначение.Значение.ТребуемыеПодсистемы =
            Новый ФиксированныйМассив(КлючИЗначение.Значение.ТребуемыеПодсистемы);
        
        ОписанияПодсистем.ПоИменам[КлючИЗначение.Ключ] =
            Новый ФиксированнаяСтруктура(КлючИЗначение.Значение);
    КонецЦикла;
    
    Возврат ОбщегоНазначения.ФиксированныеДанные(ОписанияПодсистем);
    
КонецФункции
1 Лефмихалыч
 
28.12.23
17:11
потому, что нет галочки "Внешнее соединение" у модуля, в котором лежит ПриДобавленииПодсистемы()
Или директивами эта функция исключена из контекста внешнего соединения
2 aptomilov
 
29.12.23
07:54
(1)
Хорошее предположение спасибо
но вот проблема на копии это отрабатывало
а сейчас при любых танцах с бубнами не хочет  нифига
3 aptomilov
 
29.12.23
07:57
(1)
попробую сунуть через попытку  пусть  2-3 отвалится просто да и все
4 Масянька
 
29.12.23
08:13
(3) Послушай Михалыча.
У нас старючая УПП. При попытке записи через com падала ошибка (похожая). Помогло: флажок у модуля "Внешнее соединение" + директива #Если Не ВнешнееСоединение Тогда
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn