|
v8: Специфика кода в УФ | ☑ | ||
---|---|---|---|---|
0
svchernova
09.11.11
✎
10:07
|
Всем добрый день.
Растолкуйте мне, пожалуйста. Будет ли работать на клиенте процедура, для которой установлена директива предпроцессору "&НаСервере"? &НаКлиенте Процедура ДатаПриИзменении(Элемент) РаботаСДиалогами.ПроверитьНомерДокумента(Объект, Объект.Дата); КонецПроцедуры Документ имеет две формы, обя=ычную и управляемую. Обычная - старая, разработанная ранее в 8.1, сейчас я работаю над управляемой формой документа. Поставила точку останова, но могу зайти в процедуру только в том случае, если я ставлю директиву &НаКлиенте. Но тогда РаботаСДиалогами.ПроверитьНомерДокумента не работает, вываливет ошибку {ОбщийМодуль.РаботаСДиалогами.Модуль(3266,17)}: Тип не определен (Запрос) Запрос = Новый <<?>>Запрос; Если ставлю &НаСервере, а предприятие работает в режиме тонкого клиента, то по точке останова в процедуру зайти не могу. Процедуа не отрабатывает, РаботаСДиалогами не вызывается - я там тоже точек останова понаставила, но не попадаю на них. Процедуры общего модуля выполняются на сервере. Тонкий клиент с ними работать не может, так как они не написаны для тонкого (Тип Запрос не определён, например..) |
|||
1
Wobland
09.11.11
✎
10:13
|
попробую на пальцах
&НаКлиенте Процедура ДатаПриИзменении(Элемент) ПроверьМнеНомерОСервер(Объект, Объект.Дата); КонецПроцедуры &НаСервере Процедура ПроверьМнеНомерОСервер(Объект, Объект.Дата) РаботаСДиалогами.ПроверитьНомерДокумента(Объект, Объект.Дата); КонецПроцедуры |
|||
2
lxndr
09.11.11
✎
10:13
|
В процедуре ДатаПриИзменении вызови серверную функцию, а из серверной обратись к общему модулю.
На клиенте нет типа "ЗАпрос" |
|||
3
Wobland
09.11.11
✎
10:13
|
(1) параметры у серверной функции, конечно, не такие
|
|||
4
Stepa86
09.11.11
✎
10:14
|
> Будет ли работать на клиенте процедура, для которой установлена директива предпроцессору "&НаСервере"?
нет, она будет работать только на сервере (1) скорей всего там диалоги открываются, так что упадет |
|||
5
svchernova
09.11.11
✎
10:15
|
Всем - сейчас попробую, о результате доложу
|
|||
6
Wobland
09.11.11
✎
10:16
|
(4) а,да, скорей всего. тогда наша СВ ваще сейчас утонет ;)
|
|||
7
Wobland
09.11.11
✎
10:19
|
что-то как-то это всё выглядит как перевод типовой с нормальных форм на управляемые. нужна бутылка
|
|||
8
svchernova
09.11.11
✎
10:20
|
(7) именно этим и занимаюсь.
|
|||
9
Wobland
09.11.11
✎
10:21
|
(8) что именно? допиливаний много?
|
|||
10
svchernova
09.11.11
✎
10:23
|
(1) Повторила то, что на пальцах:
&НаКлиенте Процедура ДатаПриИзменении(Элемент) мТекущаяДатаДокумента = Объект.Дата; ПроверьМнеНомерОСервер(Объект, мТекущаяДатаДокумента); КонецПроцедуры &НаСервере Процедура ПроверьМнеНомерОСервер(Объект, мТекущаяДатаДокумента) РаботаСДиалогами.ПроверитьНомерДокумента(Объект, мТекущаяДатаДокумента); КонецПроцедуры Получила новую радость : {ОбщийМодуль.РаботаСДиалогами.Модуль(2600,30)}: Конструктор не найден ДействиеПоКнопке = Новый <<?>>Действие("КоманднаяПанельВедущиеВидыРасчетаПодМеню"); {ОбщийМодуль.РаботаСДиалогами.Модуль(2611,28)}: Конструктор не найден ДействиеПоКнопке = Новый <<?>>Действие("КоманднаяПанельБазовыеВидыРасчетаПодбор"); {ОбщийМодуль.РаботаСДиалогами.Модуль(2617,29)}: Конструктор не найден ДействиеПоКнопке = Новый <<?>>Действие("КоманднаяПанельВедущиеВидыРасчетаПодбор"); {ОбщийМодуль.РаботаСДиалогами.Модуль(3326,22)}: Конструктор не найден Обработчик = Новый <<?>>Действие("ДействияФормыРедактировать" + КодНомер); {ОбщийМодуль.РаботаСДиалогами.Модуль(3726,116)}: Конструктор не найден КнопкаСоветы = КоманднаяПанель.Кнопки.Вставить(0, ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, "Советы", Новый <<?>>Действие("ДействияФормыОткрытьСоветы")); {ОбщийМодуль.РаботаСДиалогами.Модуль(3728,134)}: Конструктор не найден КнопкаСоветы = КоманднаяПанель.Кнопки.Вставить(ИндексКнопкиСправка, ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, "Советы", Новый <<?>>Действие("ДействияФормыОткрытьСоветы")); {ОбщийМодуль.РаботаСДиалогами.Модуль(3735,113)}: Конструктор не найден КнопкаСоветы = КоманднаяПанель.Кнопки.Добавить(ИмяКнопки, ТипКнопкиКоманднойПанели.Действие, "Советы", Новый <<?>>Действие("ДействияФормыОткрытьСоветы")); {ОбщийМодуль.РаботаСДиалогами.Модуль(3737,134)}: Конструктор не найден КнопкаСоветы = КоманднаяПанель.Кнопки.Вставить(ИндексКнопкиСправка, ИмяКнопки, ТипКнопкиКоманднойПанели.Дейс Ужас. |
|||
11
Wobland
09.11.11
✎
10:25
|
(10) а это (4) и (6) и (7) обязательно. иначе не разобраться ;)
что за конфигурация? может, уже всё придумано до нас |
|||
12
svchernova
09.11.11
✎
10:26
|
(9) Очень много. приходится переписывать все формы, организовывать командные интерфейсы, да и много чего ещё. Причем код нужно переписывать не один к одному, а с поправкой на клиент-серверную архитектуру, а вот это как раз самое сложное, на мой взгляд.
|
|||
13
svchernova
09.11.11
✎
10:27
|
(11) Конфигурация собственная, несколько лет уже эксплуатируется. переводим на 8,2
|
|||
14
svchernova
09.11.11
✎
10:28
|
(4) там диалогов нет, но есть запросы.
|
|||
15
Wobland
09.11.11
✎
10:29
|
(13) завидую. будет очень интересно жить ;)
вот что в данном случае придумать, чтобы диалоги на сервере исключить? пускай серверная процедура молча возвращает результат своей работы, а клиент уже по результату ругается, спрашивает что-то и т.п. |
|||
16
Stepa86
09.11.11
✎
10:30
|
(10) это все потому, что на упр. форме работа с кнопками не через обработчики, а через команды теперь, да и действие доступно тока в толстом
(14) в модуле РаботаСДиалогами нет диалогов???? ощущение, что меня обманывают где то |
|||
17
ilpar
09.11.11
✎
10:31
|
а не надо жаловаться . Тебя предупреждали. Ты повела себя возможно непрофессионально. На каком этапе перевод БП на упр. Формы ?
|
|||
18
svchernova
09.11.11
✎
10:34
|
(17) Описала командный интерфейс, создала справочники, пару обработок, теперь вот один документ нужно перевести на УФ. В общем, начальный этап.
|
|||
19
svchernova
09.11.11
✎
10:36
|
(16) Через команды, да. Так как эту проблему решить теперь? Вообще отказаться от общих модулей? Ужас. всё перелопатить в модуль формы документа? ещё один ужас.
|
|||
20
Stepa86
09.11.11
✎
10:39
|
(19) если б было все так просто, то УПП2.0 уже выкинули б на рынок... Почти все методы, которые работали из обычных форм в управляемых работать не будут, поэтому это все нужно переписывать... нашу конфу на 8.2 я переписывал методом "посмотрел что было раньше, удалил, написал заного под 8.2"
|
|||
21
svchernova
09.11.11
✎
10:39
|
и ещё такой вопрос.. правильно я понимаю или нет. Клиентская процедура может вызвать серверную, но никак не наоборот. Это так?
|
|||
22
svchernova
09.11.11
✎
10:40
|
(20) Ты для тонкого клиента делал?
|
|||
23
Stepa86
09.11.11
✎
10:50
|
(21) да
(22) и для веб-клиента в том числе |
|||
24
svchernova
09.11.11
✎
10:58
|
(23) и я тоже.. Ты какой веб-сервер ставил?
|
|||
25
svchernova
09.11.11
✎
10:59
|
(23) не могу писать сейчас, на обед ухожу. У меня была большая проблема с клиентским сертификатом. я её решила, но как-то коряво всё.. Может быть, и другие решения есть для этого. через час напишу, не теряйся, пожалуйста
|
|||
26
afk
09.11.11
✎
11:00
|
(0), (23) а отчеты тоже переписывать под УФ приходится?
|
|||
27
Stepa86
09.11.11
✎
11:03
|
(26) если отчет на СКД, то можно конструктором форму зафигачить, если на построителе - переписывать на СКД
|
|||
28
Stepa86
09.11.11
✎
11:05
|
(24) я не ставил, а разрабатывал... ставит у нас Одмин. а так апача локально
|
|||
29
acsent
09.11.11
✎
11:09
|
Большинство типового кода написанного до УФ нельзя использовать в УФ.
Только ручками заного писать |
|||
30
afk
09.11.11
✎
11:15
|
(27) это приемлемо :)
|
|||
31
afk
09.11.11
✎
11:15
|
(29) ппц
|
|||
32
svchernova
09.11.11
✎
12:15
|
(26) Отчеты ещё не делала.. там нужно будет обычные отчеты под 8.2 переписывать.
(31) Да.. ты прав. |
|||
33
svchernova
09.11.11
✎
12:15
|
(28) Там у вас работа с клиентскими сертификатами была?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |