HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. *Read more...*
Bug #919779
open8.3.13-22+ В конфигураторе при добавлении метода в расширение не сохраняются влияющие внешние инструкции препроцессора
0%
Description
https://partners.v8.1c.ru/forum/t/1805687/m/1805687
https://bugboard.v8.1c.ru/error/000051170.html
Конфигурация ПО
8.3.13
Проблема
В конфигураторе при добавлении метода в расширение не сохраняются влияющие внешние инструкции препроцессора
Воспроизведение
Восстановить базу из выгрузки. Очистить в расширении конфигурации общий модуль. Открыть общий модуль конфигурации, компилируемый во всех контекстах (без вызова сервера)
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
Процедура Сервер1()
Везде1();
КонецПроцедуры
Процедура Везде1() Экспорт
КонецПроцедуры
#КонецЕсли
Функция Тест() Экспорт
КонецФункции
и добавить его метод "Сервер1" в расширение. При этом инструкция препроцессора
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
В модуль расширения помещена не будет. Таким образом будет расширен список контекстов компиляции расширенного метода. В теле расширения метода вписать вызов метода Везде1()
&После("Сервер1")
Процедура Расш1_Сервер1()
Везде1();
КонецПроцедуры
Синтаксический контроль выдает выдаст ошибки компиляции
{Расширение1 ОбщийМодуль.ОбщийМодуль1.Модуль(5,2)}: Процедура или функция с указанным именем не определена (Везде1)
<>>Везде1(); (Проверка: Тонкий клиент)
{Расширение1 ОбщийМодуль.ОбщийМодуль1.Модуль(5,2)}: Процедура или функция с указанным именем не определена (Везде1)
<>>Везде1(); (Проверка: Веб-клиент)
Запустить тонкий клиент. При этом выполнится код
ОбщийМодуль1.Тест();
и будет выброшено исключение
Ошибка инициализации модуля: Расширение1 ОбщийМодуль.ОбщийМодуль1.Модуль
по причине:
{Расширение1 ОбщийМодуль.ОбщийМодуль1.Модуль(5,2)}: Процедура или функция с указанным именем не определена (Везде1)
<>>Везде1();
Считаю ошибкой то, что расширение метода делает его компилируемым в тех контекстах, в которых исходный метод не компилируется.
Files
Updated by Сергей Старых 4 months ago
- Subject changed from 8.3.13-19+ При добавлении метода в расширение не сохраняются влияющие внешние инструкции препроцессора to 8.3.13-19+ В конфигураторе при добавлении метода в расширение не сохраняются влияющие внешние инструкции препроцессора
- Description updated (diff)
Updated by Сергей Старых 3 months ago
- Subject changed from 8.3.13-19+ В конфигураторе при добавлении метода в расширение не сохраняются влияющие внешние инструкции препроцессора to 8.3.13-22+ В конфигураторе при добавлении метода в расширение не сохраняются влияющие внешние инструкции препроцессора