Базовый курс. Мастер-группа Q&A от 17.01.2012
Рассматриваем вопросы участников базового курса.
1. Компиляция модуля.
Начал задание 5 базового курса и нарвался, слушал курс и говорилось, что по умолчанию без указания препроцессорных команд процедуры идут серверные, но получается что события некоторые типа ПриНачалеРаботыСистемы() на клиенте выполняются
2. Получение константы.
Попытался в Процедуре ПриНачалеРаботыСистемы() получить значение константы и нарвался, не могу получить ругается на тонкий клиент, и понятно ведь выполняется на Клиенте
Делаю процедуру получения Константы на сервере пока пустую и уже кричит, что процедура не определения и все тут, как же можно получить?
Вроде все понятно из видео курсов, но в результате тупик
3. Получение значений на сервере.
Делаю еще один общий модуль, так как я понял получить пользователя текущего или список это тоже только на сервере.
Функция ПолучитьСписокЮзверей() Экспорт Возврат ПользователиИнформационнойБазы.ПолучитьПользователей();КонецФункции // ПолучитьСписокЮзверей()
Вот тут возвращает массив в общем модуле и все ок
НО в модуле управляемого приложения вызываю этот экспортный метод и увы система либо зависает либо просто выдает ошибку, а должна вернуть по сути массив, который по сути поддерживается клиентской стороной :(
4. Счета бухгалтерского учета.
Я ввел со стороны пользователя непредопределеные счета
Однако при попытке проведения система ругается, что не знает такого счета
Предопределенные счета система видит. А как же быть с проведением новых счетов, введенных пользователем?
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
1. В модуле управляемого приложения особогосмысла нет указывать директиву, однако вы тут не говорите что вообще директиву вызова процедуры на сервере тут не получится :(
Далее вы говорите, что где копилируется общий модуль видно из галочек, НО я заметил такое, что если кроме этих галок указать директиву скажем на сервере и попытаться вызвать такой метод у общего модуля, то ругаться синтаксис не будет, НО и работать не будет :( По крайней мере я это вывел из того что испробовал и вам писал :) Честно скажу вводит людей в заблуждения, в первом видео делаешь выводы одни, что можно серверные директивы и в модуле управляемом приложения, а во втором раскрывается тайна :))))
2. тут все наконец стало ясно :) спасибо!
3. Касательно массивов и возврата это конечно вводит в ощущения, что вот и начались проблемы работы с 1С :) потому что по сути получается ощущение, что почти все нужно выполнять на сервере и возвращать чуть ли не простые типы число и текст, а там обернутые в массив или еще что и потом еще раз на клиенте обходить этот список. На мой взгляд с одной стороны понятно Клиент-Сервер, но считай 2 действия на одно это конечно жестоко :)
Продолжим ответы.
1. В модуле управляемого приложения нужно указывать директиву &НаКлиенте.
Но методы без этой директивы также будут компилироваться на клиенте.
Что касается серверного общего модуля, попробуйте релиз 8.2.15, думаю там будет показываться синтаксическая ошибка в конфигураторе.
3. Да, жестоко. Это жертва в пользу клиент-серверной системы :)
кстати не знаю куда компилирует, но если поставить у общего модуля галки выхов сервер и компилировать на сервере, а потом в процедуре такого вот модуля еще директиву указать наСервере то не понять где компилируется, но не работает :)
на счет остального все понятно, релиз попробую, спасибо!
Одно пожелание, иметь аську или еще что то более быстрое, для связи с вами, чтобы можно было что то выяснить быстро, а то затыкаешься и задания стоят, а ты отстаешь :)
Пока это пожелание нереализуемо.
Однако, такие планы есть на будущее – это будет называться “кураторский пакет”.