Почему РежимДиалогаВопрос.ДаНет нельзя размещать в модуле объекта? #407033


#0 by KOL822
Один хороший программист утверждает, что РежимДиалогаВопрос.ДаНет нельзя размещать в модуле объекта. Может кто подскажет в чем фишка? Сам он фишку не говорит, хочет чтобы я нашел. Сам я неоднократно использовал этот диалог в модулях объекта и ничего критичного непроисходило....но всётаки в чем же фишка?
#1 by mikecool
фишка в обработке на сервере, скорее всего
#2 by mikecool
+1 надо заключать в скобки если клиент
#3 by Terv
в модуль объекта можно, внутри транзакции нельзя, Запись, Проведение
#4 by dimoff
В модуле справочника, полагаю, без проблем
#5 by dimoff
Не о том речь совершенно
#6 by Terv
а какие еще варианты?
#7 by Defender aka LINN
Справочники, типа, на клиенте пишутся только?
#8 by dimoff
Ну разрабатываешь ты в локальной версии всё чудесно, а когда код компилируется на сервере модули с незаключенными в #Если Клиент подобными вещами вылетают с ошибкой.
#9 by mikecool
Описание: .... Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. .... другой причины не вижу
#10 by dimoff
Думал типа да, если типа нет, то типа не прав.
#11 by mikecool
автор, пользуйся Конфигурация - Проверка конфигурации особенно если лабаешь кому для сервера в файловой базе
#12 by Terv
а с каких пор у нас модули объектов по умолчанию выполняются на сервере?
#13 by mikecool
при чем тут по умолчанию? они компилятся там тоже
#14 by dimoff
Мы тут причем, это ж один хороший программист утверждает
#15 by Terv
?? офигеть ... у меня в типовой УПП в половине модулей документов РежимДиалогаВопрос содержиться... как оно работает у меня работает на клиент-серверной версии, а?
#16 by mikecool
возьми с полки пирожок че беленишься? я высказал предположение
#17 by Terv
подожди ... возможно я не прав, щаз проверю
#18 by mikecool
запусти проверку конфигурации, не посыпятся ошибки на стороне сервера?
#19 by Terv
проверка эт все фигня не все компилятся ... т.е. ошибка может появиться, только при вызове этой процедуры содержащий РежимДиалогаВопрос с сервера или внешнего соединения
#20 by mikecool
не, проверка у меня все такие моменты находит...
#21 by KOL822
"Хороший программист" говорит, что это серьезная ошибка и надо понять почему нельзя так делать.
#22 by mikecool
да ну его, твоего программиста :)
#23 by mikecool
+22 он не из плеяды обучателей из 1С? когда один учит пользоваться методами, а второй на экзамене говорит, что это есть сакс, и правильно только запросы
#24 by Stepa86
то есть тебе не очевидно?
#25 by ShoGUN
Тут два варианта - либо он не про модуль объекта, а про транзакции, либо всё же .
#26 by mikecool
либо он сам не знает, а признаться стыдно...
#27 by Stepa86
а за диалог в обработке проведения вообще табуреткой по йайцам нужно
#28 by KOL822
дело в том что если ему отвечаешь так как в синтаксисе помошника написано,как написал говорит необходимо четкое понимание действий. так вот может кто популярно распишет?
#29 by ShoGUN
"Четкое понимание действий" чего или кого?
#30 by KOL822
действий любого программиста кто пишет этот диалог в модуле.
#31 by Stepa86
1) Допустим у нас диалог вызывается из модуля справочника и нет директив препроцессора; и есть некоторая функция, которая получает объект этого справочника - при инициализации объекта на сервере он не сможет скомпилится из-за несуществования переменной "РежимДиалогаВопрос" и выпадет ошибка...
#32 by Jolly Roger
модуль объекта - это model, а диалог - это элемент view...
#33 by Stepa86
2) Модуль объекта - для функций работы с объектом, модуль формы - для функций работы с формой (интерактивной работы). Диалог нужен только для интерактивной работы, поэтому размещать его в модуле методологически неправильно
#34 by 73
Вообще постановка вопроса некорректна. 1. Нельзя использовать без конструкций #Если Клиент - см . 2. Нехорошо(мягко сказал) использовать внутри обработчиков, выполняющихся в транзакции - получишь как в . В остальном - не вижу препятствий. Почему не использовать? Например, разместить в модуле процедуру печати или еще чего-нибудь, и пользовать когда нужно. Естественно с конструкциями #Если Клиент.
#35 by Stepa86
Замечу, что так как при защите кода (непоставка исходников или пароль) скрываются только модули объектов и поэтому туда тащат по максимуму функций, в том числе и запрещенные на сервере, НО нельзя закрывать модули с директивами препроцессора и поэтому их опускают, а потом удивляются неработоспособности решения в клиент-сервере... одно из решений - использовать общие модули с галочкой клиент
#36 by Jolly Roger
пальцем в носу при людях тоже можно ковырять. Палец, ведь, на самом деле, не сломаешь...
#37 by Defender aka LINN
А с каких пор они там НИКОГДА не выполняются?
#38 by Terv
а где я утверждал, что никогда? вообще назови хоть одно решение из практики, требующее компиляции модуля объекта на стороне сервера или внешнего соединения, которое нельзя решить другим способом?
#39 by Terv
имхо ... "хороший" программист сам не знает причины.
#40 by PR
РежимДиалогаВопрос.ДаНет можно размещать где угодно, в том числе и в модуле объекта. Другое дело, что это нельзя использовать на сервере 1С:Предприятия и это понятно, ибо кто там, на сервере будет это использовать.
#41 by MRAK
как кто? объект ИИ
#42 by MRAK
AI в смысле
#43 by eklmn
нахрена он(режим диалога) АИ здался, если он предназначен для юзера?
#44 by Defender aka LINN
"вообще назови хоть одно решение из практики, требующее компиляции модуля объекта на стороне сервера или внешнего соединения, которое нельзя решить другим способом?" - Да ради бога. Делай все на клиенте. Сервер же так, для понту чисто. И внешнее соединение нафиг никому не впилось, зря что ли, производители железа стараются? Идиотская фраза, в общем. Если я данные из одной базы в другую перегражаю, я из-за такого вот дятлизма должен не COMConnector, а Application юзать. И на сервере я хочу делать трудоемкие операции, типа перепроведения документов. А из-за криворуких ублюдков должен это все делать на клиенте.
#45 by eklmn
+1
#46 by Terv
ёмое... а УПП может делать движения по регистрам на сервере, не компилируя модули объектов... и РИБ может переносить движения без получения объектов.... беги срочно в 1С сообщи что они дятлы... наверно они тебе выразят благодарность PS. лень это не повод делать через жопу
#47 by Terv
+ вообщем как я и утверждал, кроме редких специфических случаев, компиляция модулей на стороне сервера, нафиг не нужна, по крайне мере, до выхода тонкого клиента.
#48 by Serg_1960
Риторический вопрос (не требующий ответа): Методики разработки (стандарты) 1С - что "это" и для кого "это"? Цитата: "...При разработке кода общего модуля и модулей объектов, которые должны быть доступны на сервере и во внешнем соединении, следует соблюдать следующие правила. Общее: Запрещено использование объектов имеющих тип данных, не доступный на сервере и во внешнем соединении:     - ДиалогВыбораФайла     - все другие типы, использование которых невозможно на сервере 1С:Предприятие и во внешнем соединении. Запрещено использование средств, отвечающих за диалог с пользователем:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С