Базовый курс. Мастер-группа Q&A от 17.01.2012

Рассматриваем вопросы участников базового курса.


1. Компиляция модуля.
Начал задание 5 базового курса и нарвался, слушал курс и говорилось, что по умолчанию без указания препроцессорных команд процедуры идут серверные, но получается что события некоторые типа ПриНачалеРаботыСистемы() на клиенте выполняются

2. Получение константы.
Попытался в Процедуре ПриНачалеРаботыСистемы() получить значение константы и нарвался, не могу получить ругается на тонкий клиент, и понятно ведь выполняется на Клиенте
Делаю процедуру получения Константы на сервере пока пустую и уже кричит, что процедура не определения и все тут, как же можно получить?
Вроде все понятно из видео курсов, но в результате тупик

3. Получение значений на сервере.
Делаю еще один общий модуль, так как я понял получить пользователя текущего или список это тоже только на сервере.
Функция ПолучитьСписокЮзверей() Экспорт     Возврат ПользователиИнформационнойБазы.ПолучитьПользователей(); КонецФункции // ПолучитьСписокЮзверей()
Вот тут возвращает массив в общем модуле и все ок
НО в модуле управляемого приложения вызываю этот экспортный метод и увы система либо зависает либо просто выдает ошибку, а должна вернуть по сути массив, который по сути поддерживается клиентской стороной :(

4. Счета бухгалтерского учета.
Я ввел со стороны пользователя непредопределеные счета
Однако при попытке проведения система ругается, что не знает такого счета
Предопределенные счета система видит. А как же быть с проведением новых счетов, введенных пользователем?

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментария 4 на “Базовый курс. Мастер-группа Q&A от 17.01.2012”

  1. 1. В модуле управляемого приложения особогосмысла нет указывать директиву, однако вы тут не говорите что вообще директиву вызова процедуры на сервере тут не получится :(
    Далее вы говорите, что где копилируется общий модуль видно из галочек, НО я заметил такое, что если кроме этих галок указать директиву скажем на сервере и попытаться вызвать такой метод у общего модуля, то ругаться синтаксис не будет, НО и работать не будет :( По крайней мере я это вывел из того что испробовал и вам писал :) Честно скажу вводит людей в заблуждения, в первом видео делаешь выводы одни, что можно серверные директивы и в модуле управляемом приложения, а во втором раскрывается тайна :))))
    2. тут все наконец стало ясно :) спасибо!
    3. Касательно массивов и возврата это конечно вводит в ощущения, что вот и начались проблемы работы с 1С :) потому что по сути получается ощущение, что почти все нужно выполнять на сервере и возвращать чуть ли не простые типы число и текст, а там обернутые в массив или еще что и потом еще раз на клиенте обходить этот список. На мой взгляд с одной стороны понятно Клиент-Сервер, но считай 2 действия на одно это конечно жестоко :)
     

    • Продолжим ответы.
      1. В модуле управляемого приложения нужно указывать директиву &НаКлиенте.
      Но методы без этой директивы также будут компилироваться на клиенте.

      Что касается серверного общего модуля, попробуйте релиз 8.2.15, думаю там будет показываться синтаксическая ошибка в конфигураторе.

      3. Да, жестоко. Это жертва в пользу клиент-серверной системы :)

      • кстати не знаю куда компилирует, но если поставить у общего модуля галки выхов сервер и компилировать на сервере, а потом в процедуре такого вот модуля еще директиву указать наСервере то не понять где компилируется, но не работает :)
        на счет остального все понятно, релиз попробую, спасибо!
         
        Одно пожелание, иметь аську или еще что то более быстрое, для связи с вами, чтобы можно было что то выяснить быстро, а то затыкаешься и задания стоят, а ты отстаешь :)

        • Пока это пожелание нереализуемо.
          Однако, такие планы есть на будущее – это будет называться “кураторский пакет”.