Имя: Пароль:
1C
1С v8
Управляемое приложение
,
0 Boris_Britva
 
26.06.13
10:34
Доброго времени суток.
Только начал изучать управляемые приложение.
После переноса с файловой версии на клиент-серверную возникла проблема, на форме была кнопочка, которая программно формировала спецификации, так вот она перестала работать, так как на клиенте нет возможности напрямую создавать элементы справочника, я вывел создание новой спецификации в отдельную фукцию, указал что &НаСервере, а так ничего и не происходит, я понимаю почему я не могу отдебагить, но не понимаю почему не создании элемента не отрабатывается. Заранее благодарю.
1 Boris_Britva
 
26.06.13
10:35
*почему создание элемента не отрабатывается
2 Asmody
 
26.06.13
10:35
[я не могу отдебагить] — можешь. ключ -debug в строке запуска агента сервера спасёт тебя
3 Boris_Britva
 
26.06.13
10:37
(2) я не думаю что это критично, до переноса на клиент-серверную модель, процедура работала
4 UserMista
 
26.06.13
10:38
Запусти сервер с ключом дебаг. - Сможешь смотреть отладчиком серверные функции. Ну или через командную чтроку отдельным процессом на другой порт.
5 Asmody
 
26.06.13
10:40
кнопочка как обрабатывается?
6 UserMista
 
26.06.13
10:40
Както до моего комента невидел Асмоди) появился после обновления страницы)
7 Boris_Britva
 
26.06.13
10:41
а то что данная процедура находится в модуле формы ничего же страшного??
Неужели никто из управляемой формы не прописывал программное формирование элементов справочника??
8 UserMista
 
26.06.13
10:41
Нет ничего страшного. Все нормально создается)
9 Boris_Britva
 
26.06.13
10:44
(5) Ранее было, что в процедуре вызываемой кнопки шла проверка на толстый клиент(у меня только толстый), затем в коде можно было создать элемент справочника. Перешел на клиент сервер, начал ругаться на создание эл.справочника, почитал руководство , решил момент создания новой спецификации вывести в отдельную функцию которая выполняется &НаСервер, функция не отрабатывается, ничего не происходит.
10 5 Элемент
 
26.06.13
10:44
Ты похоже процедуру события на сервер утащил
11 Boris_Britva
 
26.06.13
10:45
(10) а куда её надо, если на клиенте нельзя?))
12 5 Элемент
 
26.06.13
10:46
Обработчик команды должен быть на клиенте, а уже из него вызывай сервер
13 UserMista
 
26.06.13
10:46
Событие на клиенте, а в ней уже вызываешь процедуру создания на сервере
14 Boris_Britva
 
26.06.13
10:47
(13) не совсем понял, можно пример простейший
15 Asmody
 
26.06.13
10:47
(9)

&НаКлиенте
Процедура Команда1()
   Команда1НаСервере();
КонецПроцедуры

&НаСервере
Процедура Команда1НаСервере()
   /// тут всё, что тебе надо
КонецПроцедуры
16 Boris_Britva
 
26.06.13
10:56
(15) так и есть. только на сервер отрабатывается фукция, которая передаёт ссылку на созданный объект.НО! объект ещё не записан, так как изменяется и записывается на клиентской процедуре. Может в этом ошибка??
17 UserMista
 
26.06.13
11:35
Нифига тебя непонял. Читать/Создавать/изменять/записывать объект надо только на стороне сервера. Ты не можешь создать на сервере объект или чтолибо изменить и незаписывая вернуть его в клиент.
18 Лодырь
 
26.06.13
11:39
Как вариант можно данные формы (которые еще не записаны) передать на сервер через параметры, там их обработать. Но это изврат. Лучше предварительно запиши данные и обратись к ним с сервера.
19 Boris_Britva
 
26.06.13
12:02
(17) Спасибо. До меня уже дошло.
20 Boris_Britva
 
26.06.13
14:40
А возможно часть процедуры выполнять на сервере??
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс