Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 09:55

Переменная не определена при обращении к объекту Справочники

Автор VanyaLOX, 03 апр 2014, 15:03

0 Пользователей и 1 гость просматривают эту тему.

VanyaLOX

Хочу получить объект товаров, написал такой код:
Процедура ПриНачалеРаботыСистемы()
Справочники.Товары.НайтиПоКоду(000000001).ПолучитьОбъект();
КонецПроцедуры

Однако получаю вот такую ошибку:
{МодульУправляемогоПриложения(2,2)}: Переменная не определена (Справочники)
<<?>>Справочники.Товары.НайтиПоКоду(000000001).ПолучитьОбъект(); (Проверка: Тонкий клиент)
{МодульУправляемогоПриложения(2,2)}: Переменная не определена (Справочники)
<<?>>Справочники.Товары.НайтиПоКоду(000000001).ПолучитьОбъект(); (Проверка: Веб-клиент)

Вообще задача такая: Мне нужно сразу после запуска получить данные по товарам.

MuI_I_Ika

На клиенте нельзя напрямую обращаться к прикладным объектам конфигурации.

l2qwe

Где выполняется код?
&НаСервере
или
&НаКлиенте
НаКлиенте недоступно такое обращение к данным.

VanyaLOX

Тогда как же быть? Модуль управляемого приложения компилируется только на клиенте, в то время как на клиенте нельзя так обращаться к данным. А мне нужно именно сразу после того, как пользователь пользователь запустит 1С:Предприятие получить данные из справочника товаров. Подскажите в какую сторону смотреть?

l2qwe

Создать обработку, у неё создать команду.
В команде определить чего вы хотите сделать.
Вывести это дело в рабочую область начальной страницы.

MuI_I_Ika

Цитата: VanyaLOX от 03 апр 2014, 15:14огда как же быть? Модуль управляемого приложения компилируется только на клиенте, в то время как на клиенте нельзя так обращаться к данным.

Существуют общие модули, которые могут выполняться в том числе на сервере. Из модуля управляемого приложения можно вызывать процедуры из этих модулей.

VanyaLOX

Поставил галку глобальный модуль, но не получается вызвать функцию общего модуля:
Создал общий модуль Мод, там написал:
&НаСервере
Функция ПолучитьОбъект(Код) Экспорт
Возврат Справочники.Товары.НайтиПоКоду(Код).ПолучитьОбъект();
КонецФункции

Далее пытаюсь вызвать эту функцию из модуля управляемого приложения
Процедура ПриНачалеРаботыСистемы()
Мод.ПолучитьОбъект(0000000001);
КонецПроцедуры

но тут ошибка
{МодульУправляемогоПриложения(2,2)}: Переменная не определена (Мод)
<<?>>Мод.ПолучитьОбъект(0000000001); (Проверка: Тонкий клиент)
{МодульУправляемогоПриложения(2,2)}: Переменная не определена (Мод)
<<?>>Мод.ПолучитьОбъект(0000000001); (Проверка: Веб-клиент)


MuI_I_Ika

Если вы поставили галку глобальный модуль, то зачем обращаетесь к нему как к неглобальному.

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

С неглобальными модулями все наоборот.

VanyaLOX

Сделал модуль глобальным и обращаюсь к процедуре по имени. Все равно тоже самое. Создал не глобальный модуль и пытался обратится к нему по имени все равно не получается, ошибка та же: Переменная не определена. Что это может быть?

Добавлено: 03 апр 2014, 17:00


Цитата: VanyaLOX от 03 апр 2014, 16:47
Сделал модуль глобальным и обращаюсь к процедуре по имени. Все равно тоже самое. Создал не глобальный модуль и пытался обратится к нему по имени все равно не получается, ошибка та же: Переменная не определена. Что это может быть?
С этим разобрался, надо было посатавить галку "на сервере". Теперь возникает исключение при запуске:
{МодульУправляемогоПриложения(3)}: Метод объекта не обнаружен (Об)
Мод.Об(0000000001);
:fdbsdfbsd:

MuI_I_Ika

Еще вот эти директивы компиляции "&НаСервере" не нужно писать. Они предназначены только для форм.

Цитата: VanyaLOX от 03 апр 2014, 16:47Сделал модуль глобальным и обращаюсь к процедуре по имени. Все равно тоже самое.

Того же самого не может быть. У вас же нет обращения к мод. Может быть другое, но это уже отдельный вопрос.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск