Имя: Пароль:
1C
1С v8
Нет определения переменной, а пемеренная есть. Как это?
0 Студиозус
 
22.07.18
19:12
Переношу общий модуль из УНФ 1.6 в другую конфигурацию.
И при переносе обнаружил такую вещь. В этом модуле нет определения переменной "ЭтотОбъект", а его использование есть. Соответственно, когда я перенес его в новую конфигурацию, модуль не работает и система ругается.
Как такое может быть? Где задаётся значение этого параметра?

Вот пример функции оттуда

Процедура НачатьВыполнениеКоманды_ВыбратьСменуЗавершение(СтруктураПараметровСмены, Параметры) Экспорт
    
    Если СтруктураПараметровСмены = Неопределено Тогда
        Если Параметры.ОповещениеПриЗавершении <> Неопределено Тогда
            ОписаниеОшибки = НСтр("ru='Кассовая смена не выбрана'");
            РезультатОперации = ПараметрыВыполненияОперацииНаОборудовании(Ложь, ОписаниеОшибки);
            ВыполнитьОбработкуОповещения(Параметры.ОповещениеПриЗавершении, РезультатОперации);
        КонецЕсли;
    Иначе
        Параметры.Вставить("КассоваяСмена", СтруктураПараметровСмены.КассоваяСмена);
        Параметры.Вставить("ИдентификаторУстройства", СтруктураПараметровСмены.ИдентификаторУстройства);
        ОписаниеОповещения = Новый ОписаниеОповещения("НачатьВыполнениеКоманды_ПодключениеЗавершение", ЭтотОбъект, Параметры);
        НачатьПодключениеОборудованиеПоИдентификатору(ОписаниеОповещения, Параметры.УникальныйИдентификатор, СтруктураПараметровСмены.ИдентификаторУстройства);
    КонецЕсли;
    
КонецПроцедуры




Общий модуль, только "Клиент"
1 PR
 
22.07.18
19:14
ЭтотОбъект — это этот общий модуль и есть
Учи матчасть
2 Студиозус
 
22.07.18
19:16
(1) А отчего он тогда ругается сам на себя в новой конфигурации?

ЗЫ Где именно можно почитать?
3 Студиозус
 
22.07.18
19:17
Я так подозреваю это может быть из-за режима совместимости конфигураций. Та старая ещё в режиме 8.2
4 Остап Сулейманович
 
22.07.18
19:17
(2) "тчего он тогда ругается сам на себя"
А ну-ка - текст ругани в студию.
5 Студиозус
 
22.07.18
19:23
(4)
Ошибка инициализации модуля: ОбщийМодуль.МенеджерОборудованияКлиент.Модуль
по причине:
{ОбщийМодуль.МенеджерОборудованияКлиент.Модуль(98,86)}: Переменная не определена (ЭтотОбъект)
        Обработчик = Новый ОписаниеОповещения("ВыполнитьНастройкуОборудования_Завершение", <<?>>ЭтотОбъект, ПараметрыК
6 PR
 
22.07.18
19:25
(3) Правильно подозреваешь
7 Студиозус
 
22.07.18
19:26
Всё дело в самом деле в режиме совместимости.
Поднял совместимость до 8.3.3 и всё пошло.
8 Студиозус
 
22.07.18
19:26
Где можно прочитать про это?