class Меркурий.Привязки НЕ работает - 1Cv7 ВСД в ГИС Меркурий - КБ99 Redmine

Проект

Общее

Профиль

class Меркурий.Привязки НЕ работает

Добавил(а) Pentyukhov Sergey больше 6 лет назад

Класс прописан...

class Меркурий.Привязки = .\ExtForms\Merc_VSD\класс_Меркурий_Привязки.ert : РасширениеФормы
{
    void Привязка(Строка ИДЭлемента, Строка ТипВ="", Строка ИДЭлементаВ="", Строка ТипГ="", Строка ИДЭлементаГ="");
    void УстановитьФорму(РасширяемаяФорма);
    void ПриИзмененииРазмераОкна(ТипСобытия, ШиринаФормы, ВысотаФормы);
    void ПослеОткрытия();
    void Сбросить();
    void Выровнять(ИДЭлемента, Граница, ИДЭлементаЦель, ГраницаЦель, Отступ);
    void Привязать();
};

он выдает ошибки и формы не открываются.

Класс: Меркурий.Привязки - ошибка синтаксиса
Строка №365              Право<<?>>=Лево+ТПривязки.Ширина;
Ожидается скалярное выражение (Право)
{E:\Milkoopt\2007_old\ExtForms\Merc_VSD\класс_Меркурий_Привязки.ert(365) }

Ответы (14)

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Pentyukhov Sergey больше 6 лет назад

Есть кто живой?

ИзЗа данного класса не запускаются обработки!!!:(

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Pentyukhov Sergey больше 6 лет назад

ТОМУ кто собирал данный класс...

добавьте переменную "Право" иначе не работает класс

Процедура ПриИзмененииРазмераОкна(ТипСобытия,ШФормы,ВФормы) Экспорт
    Перем *Право*, Лево, Верх, Ширина, Высота;

RE: class Меркурий.Привязки НЕ работает - Добавил(а) кб99 Синявский Филипп больше 6 лет назад

Добрый день.

проверьте версии 1cpp и formex - версии должны быть не ниже https://redmine.kb99.pro/projects/vsd_1c/files

в классе ошибок не обнаружил. инициализируется и работает нормально

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Pentyukhov Sergey больше 6 лет назад

Все свежее
как писал выше из-за того что переменная "Право" не объявлена в строке 365 начинаются ошибки

ИначеЕсли ТПривязки.ТипГ="LW" Тогда
            Право=Лево+ТПривязки.Ширина;
            Право=Право+(ШиринаФ-ТПривязки.ПривязкаГ);
            Лево=Право-Цел(ШиринаФ*ТПривязки.МножительГ/ТПривязки.ДелительГ);
            ТПривязки.Ширина=Право-Лево;
            ТПривязки.ПривязкаГ=ШиринаФ;
            Ширина=ТПривязки.Ширина;
            //Право=Лево+Ширина;
            //Право=Право+(ШиринаФ-ТПривязки.ПривязкаГ);
            //Лево=Право-Цел(ШиринаФ*ТПривязки.МножительГ/ТПривязки.ДелительГ);
            //Ширина=Право-Лево;
            //ТПривязки.ПривязкаГ=ШиринаФ;
            //Если Ширина<0 Тогда
            //    ТПривязки.ПривязкаГ=ТПривязки.ПривязкаГ+Ширина;
            //КонецЕсли;

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Pentyukhov Sergey больше 6 лет назад

Убираю переменную "Право", сразу ошибки

==== Класс: Меркурий.Привязки  Файл: E:\Milkoopt\2007_old\ExtForms\Merc_VSD\класс_Меркурий_Привязки.ert ====
(365) Право<<?>>=Лево+ТПривязки.Ширина;  :Ожидается скалярное выражение (Право)
(366) Право<<?>>=Право+(ШиринаФ-ТПривязки.ПривязкаГ);  :Ожидается скалярное выражение (Право)
(367) Лево=Право<<?>>-Цел(ШиринаФ*ТПривязки.МножительГ/ТПривязки.ДелительГ);  :Ожидается скалярное выражение (Право)
(368) ТПривязки.Ширина=Право<<?>>-Лево;  :Ожидается скалярное выражение (Право)
Всего ошибок: 4

RE: class Меркурий.Привязки НЕ работает - Добавил(а) кб99 Синявский Филипп больше 6 лет назад

очень странно... почему у меня нет ошибок???
насколько помню первое выражение определяет переменную, то есть отдельно переменную не обязательно определять в 1С

(365) Право<<?>>=Лево+ТПривязки.Ширина;  :Ожидается скалярное выражение (Право)

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Pentyukhov Sergey больше 6 лет назад

Ну батенька это 1С, если что, то 1С у нас SQL, клиентская машина win7x64

RE: class Меркурий.Привязки НЕ работает - Добавил(а) кб99 Синявский Филипп больше 6 лет назад

определение переменных от sql\dbf никак не зависит...

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Владимир Сергей больше 6 лет назад

Из-за добавления визуальных перделок система перестала работать, печально.

RE: class Меркурий.Привязки НЕ работает - Добавил(а) кб99 Синявский Филипп больше 6 лет назад

Локализовать ошибку не удается - на наших тестах все работает...

Если вы занимаетесь внедрением самостоятельно просьба описывать проблему подробнее:
какая версия интеграции (последняя), как давно обновляли?
какая версия 1cpp.dll ?
какая версия formex.dll ?
какая версия платформы 1С?
Какие выдает ошибки, в каких обработках / классах?

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Владимир Сергей больше 6 лет назад

Файлы интеграции скачивал 22.07
Формекс и 1cpp отсюда: https://redmine.kb99.pro/projects/vsd_1c/files
Платформа 27. Ошибка при попытке зайти в ГО_Реализации 2
оПривязки.Инит(Контекст); {\EXTFORMS\МЕРКУРИЙ_ГО_РЕАЛИЗАЦИИ_ТРАНЗАКЦИИ_2.ERT}: Поле агрегатного объекта не обнаружено (Инит)

Содержимое defcls.prm:

class Меркурий_ГлобальныйМодуль = .\ExtForms\Меркурий_ГлобальныйМодуль.ert
{}
class МеркурийИнтеграция = .\ExtForms\Меркурий_Интеграция.ert 
{}
class МеркурийИнтеграция_2 = .\ExtForms\Меркурий_Интеграция_2.ert 
{}
class Меркурий_ГлобальныйМодуль2 = .\ExtForms\Меркурий_ГлобальныйМодуль2.ert
{}

class Меркурий.Привязки = .\ExtForms\Меркурий\класс_Меркурий_Привязки.ert : РасширениеФормы
{
    void Привязка(Строка ИДЭлемента, Строка ТипВ="", Строка ИДЭлементаВ="", Строка ТипГ="", Строка ИДЭлементаГ="");
    void УстановитьФорму(РасширяемаяФорма);
    void ПриИзмененииРазмераОкна(ТипСобытия, ШиринаФормы, ВысотаФормы);
    void ПослеОткрытия();
    void Сбросить();
    void Выровнять(ИДЭлемента, Граница, ИДЭлементаЦель, ГраницаЦель, Отступ);
    void Привязать();
};

класс Меркурий.ТабличноеПоле = .\ExtForms\Меркурий\класс_Меркурий_ТабличноеПоле.ert : ТабличноеПоле
{
};

класс Меркурий.ТабличноеПоле.ТЗ = .\ExtForms\Меркурий\класс_Меркурий_ТабличноеПоле_ТЗ.ert : Меркурий.ТабличноеПоле
{
};

Пока закомментил Привязки_Инит(); //ADirks 25.06.2018
Все работает.

RE: class Меркурий.Привязки НЕ работает - Добавил(а) Pentyukhov Sergey больше 6 лет назад

в моем скаченном файле в Функции Этот кусок уже был закомментирован...
скачивал 24-07-18

///******************************** ADirks 25.06.2018 ************
Процедура Привязки_Инит()
    //оПривязки = СоздатьОбъект("Меркурий.Привязки");
    //оПривязки.Инит(Контекст);

    //оПривязки.Добавить("СписокДокументов, тзНеобходимыеПартии", "ПП", "Форма", "НН", "Форма");

    //оПривязки.Добавить("кнОК, кнЗаписать, кнЗакрыть", "ВН", "Форма");
    //оПривязки.Добавить("текстВерсия", "ВН", "Форма");

    оПривязки.УстановитьФорму(Форма);
    оПривязки.Привязка("СписокДокументов", "H", "Форма", "W", "Форма");
    оПривязки.Привязка("тзНеобходимыеПартии", "H", "Форма", "W", "Форма");

КонецПроцедуры

RE: class Меркурий.Привязки НЕ работает - Добавил(а) кб99 Синявский Филипп больше 6 лет назад

Прошу обратить внимание - если вы устанавливаете обновления - обновляйте ВСЕ файлы, кроме двух:
  • Меркурий_Интеграция.ert
  • Меркурий_Интеграция2.ert
    в этих файлах вы можете переопределить стандартные функции модуля интеграции

Если вы обновляете только 1 файл Меркурий_ГО_Реализации_Транзакции_2.ert, а остальные оставляете, то скорее всего у вас возникнут проблемы, т.к. вся логика находится в ГМ и ГМ2

RE: class Меркурий.Привязки НЕ работает - Добавил(а) кб99 Синявский Филипп больше 6 лет назад

описание классов должно соответствовать https://github.com/phsin/vetrf/blob/master/defcls.prm

class Меркурий_ГлобальныйМодуль = .\ExtForms\Меркурий_ГлобальныйМодуль.ert
{}
class МеркурийИнтеграция = .\ExtForms\Меркурий_Интеграция.ert 
{}

class Меркурий_ГлобальныйМодуль2 = .\ExtForms\Меркурий_ГлобальныйМодуль2.ert
{}
class МеркурийИнтеграция_2 = .\ExtForms\Меркурий_Интеграция_2.ert 
{}

class Меркурий.Привязки = .\ExtForms\класс_Меркурий_Привязки.ert : РасширениеФормы
{
    void Привязка(Строка ИДЭлемента, Строка ТипВ="", Строка ИДЭлементаВ="", Строка ТипГ="", Строка ИДЭлементаГ="");
    void УстановитьФорму(РасширяемаяФорма);
    void ПриИзмененииРазмераОкна(ТипСобытия, ШиринаФормы, ВысотаФормы);
    void ПослеОткрытия();
    void Сбросить();
    void Выровнять(ИДЭлемента, Граница, ИДЭлементаЦель, ГраницаЦель, Отступ);
    void Привязать();
};
    (1-14/14)