Имя: Пароль:
1C
 
Перестали работать инструкции препроцессора в 8.3.14?
0 RomaH
 
naïve
14.03.19
08:40
Либо я глючу, либо ...

//#Если ТолстыйКлиентУправляемоеПриложение Тогда
&НаКлиенте
Процедура ОткрытьКонструкторСхемы(Команда)
    
    #Если Не ТонкийКлиент Тогда
    
    Схема = ПолучитьИзВременногоХранилища(ХранилищеСхемы);

    КонструкторСхемы = Новый КонструкторСхемыКомпоновкиДанных;
    
    КонструкторСхемы.УстановитьСхему(Схема);

    КонструкторСхемы.Редактировать(ЭтаФорма);

    #КонецЕсли
    
КонецПроцедуры
//#КонецЕсли


условие не выполняется
как обойти?
1 RomaH
 
naïve
14.03.19
08:41
если убираю инструкции - то в толстом управляемом все ок

но в тонком форма перестает открываться
... по сути можно через "Выполнить" сделать
2 Cyberhawk
 
14.03.19
08:51
Плохой демо-пример
3 Провинциальный 1сник
 
14.03.19
08:51
Инструкции препроцессора 1с - идеологический идиотизм. Чем скорее про них забудут, тем лучше. Должно быть четкое разделение кода на клиентский и на серверный.
4 Cyberhawk
 
14.03.19
08:53
(3) Это все из-за толстого клиента, который слишком много на себя берет )
5 RomaH
 
naïve
14.03.19
08:55
(2) почему?
КонструкторСхемы = Новый КонструкторСхемыКомпоновкиДанных; - это только на толстом
мне по кнопке надо открыть конструктор схемы
6 DrZombi
 
гуру
14.03.19
09:11
(0) Да вы рисковый парень. на 14 релиз перешли :)
Мы на 8.3.12.1714 , я вот на 13-тый планирую только перейти.
7 DrZombi
 
гуру
14.03.19
09:14
(0) Размести все на сервере, что так сложно?
Зачем лепить все на клиентской стороне, Если вы пользуетесь УФ, так и пользуйтесь ими по человечески, т.е. как буд то у вас тонкий клиент :)
8 Провинциальный 1сник
 
14.03.19
10:23
(7) Толстый клиент УФ - вообще вредительство. Зря его вообще сделали.
9 RomaH
 
naïve
14.03.19
12:25
(7) Дядя Петя, ты — дурак?
10 pavig
 
14.03.19
12:26
(3)
+1
11 Вафель
 
14.03.19
12:43
(10) а как же вебклиент?
12 Вафель
 
14.03.19
12:43
чтоб временно обойти - делай через Выполнить(...)
13 Сияющий в темноте
 
14.03.19
12:59
(3)они замутили НаСервереБезКонтекстаИНаКлиете то есть из-за этого велосипеда код на два модуля не делится,просто,эта муть должна уйти в общие модули.
P.S.вообще не очень понятно,зачем для формы серверная часть-она,по иден,должна быть у обьекта,чья форма открыта,тогда всем все станет понятно,но у 1с свой путь.
14 Cyberhawk
 
14.03.19
14:21
(5) Тяму напрягать надо - одна инструкция внутри другой, да еще и хитрый объект какой-то.
Обычно демо-пример готовится максимально простым (минималистичным) - вывод диагностических сообщений в коде, например, и приведение того, что реально выводится.
15 Cyberhawk
 
14.03.19
14:23
(13) "НаСервереБезКонтекстаИНаКлиете" // https://www.meme-arsenal.com/memes/77c5cced43ef5ad07991dda7ac5194e2.jpg
16 RomaH
 
naïve
14.03.19
14:40
(15)

#Если ТолстыйКлиентУправляемоеПриложение Тогда
&НаКлиенте
Процедура ОткрытьКонструкторСхемы(Команда)
    
    КонструкторСхемы = Новый КонструкторСхемыКомпоновкиДанных;
    
КонецПроцедуры
#КонецЕсли


в толстом клиенте не выполняется
а в тонком - дает синтаксическую на "КонструкторСхемыКомпоновкиДанных"

до обновления платформы все работало
17 RomaH
 
naïve
14.03.19
14:40
так понятнее?
18 RomaH
 
naïve
14.03.19
14:45
ошибся -
а в тонком - НЕ дает синтаксическую на "КонструкторСхемыКомпоновкиДанных"
19 Cyberhawk
 
14.03.19
14:58
Понятнее, но недостаточно)
Как можно улучшить понятность:
1. Пояснить, зачем этот хитрый объект используется, а не любой другой. Скорее всего это не удастся тебе сделать, поэтому лучше вообще использовать диагностические сообщения через "Сообщить" с приведением ожидаемого и наблюдаемого результатов работы кода.
2. Слова "не выполняется", "не дает" вызывают в лучшем случае непонимание, в худшем - отторжение у читающего описание ошибки (технического специалиста). Гораздо полезнее и понятнее кажется приводить тексты конкретных возникающих ошибок. Небрежность к точности формулировок влечет к соответствующему отношению к присылаемой ошибке.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн