Имя: Пароль:
1C
1С v8
Управляемое приложение Вопрос
0 AndyTLT63
 
09.11.12
10:43
Есть документ. При нажатии кнопки есть процедура

&НаКлиенте
Процедура КнопкаНажатиеПередатьЗаявкуБезВыполнения(Команда)
   
   ПередачаЗаявкиНеВыполнено();

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

Соответственно из нее вызывается серверная процедура ПередачаЗаявкиНеВыполнено(). Но проблема в том что при расчете внутри этой процедуры ПользователюНеобходимо Ввести число, а процедра ВвестиЧисло работает только на клиенте. Но клиентские процедуры нельзя вызывать из серверных.

Как решить данный вопрос ? мне видится следующее. Разбить процедуру ПередачаЗаявкиНеВыполнено() на 2 части (первая будет функция которая возвратит необходимые данные)  и получиться следующаяя конструкция:

&НаКлиенте
Процедура КнопкаНажатиеПередатьЗаявкуБезВыполнения(Команда)
   
   ПередачаЗаявкиНеВыполненоЧасть1(Данные);
       ВведенноеЧисло=ВвестиЧисло(Параметры);
        ПередачаЗаявкиНеВыполненоЧасть2(Данные,ВведенноеЧисло);

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



Или я все усложняю?
1 Wobland
 
09.11.12
10:44
именно параметром отдавать то, что скажет клиент
2 ДенисЧ
 
09.11.12
10:44
А сначала спросить, а потом уже на сервер отдавать?
3 le_
 
09.11.12
10:44
Спросить число перед вызовом сервера и передать это число параметром в процедуру.
4 GLazNik
 
09.11.12
10:45
(0) а ввод числа зависит от того что происходит на сервере?
может сперва ввести число, а потом отрабатывать серверную часть?
5 Fragster
 
гуру
09.11.12
10:45
ВведенноеЧисло=ВвестиЧисло(Параметры);
   ПередачаЗаявкиНеВыполнено(ВведенноеЧисло);
6 AndyTLT63
 
09.11.12
10:46
Да да ввод числа зависит от данных рассчитаных на сервере естественно...
7 AndyTLT63
 
09.11.12
10:47
соответственно вариант (5)и  (3) не подойдет
8 GLazNik
 
09.11.12
10:47
(6) ну тогда дважды вызывать сервер. Хотя я б предложил отказаться от таких названий процедур ПередачаЗаявкиНеВыполненоЧасть1
9 AndyTLT63
 
09.11.12
10:48
Пользователю при вводе числа должна быть показана информация - рассчитанаая в первой части серверной процедуры
10 AndyTLT63
 
09.11.12
10:49
(8) ну названия такие я сделал специально для форума чтобы понятней было
11 Wobland
 
09.11.12
10:49
(9) а ну-ка сфантазируй другое решение
12 AndyTLT63
 
09.11.12
10:51
(11) мне другие решения не приходят на ум поэтому я и создал тему
13 Wobland
 
09.11.12
10:53
(12) воот! ;)
14 GLazNik
 
09.11.12
11:12
(12) другие решения могут зависеть только от того, что есть в первой и второй части. Возможно можно на клиенте оставить не первую, а вторую часть. Возможно можно перенести часть логики связанной с сервером из второй части в первую и опять таки оставить вторую на клиенте. И т.д. и т.п.. А так да. Если обе части требуют сервера и между ними надо что-то спросить у пользователя, то только два вызова сервера.
15 YF
 
09.11.12
11:15
а что страшного в нескольких вызовах сервера? Если БезКонтекста, то не сильно затратнее одного