Имя: Пароль:
1C
1С v8
Как обойти такую проблему?
0 maxt
 
09.04.12
13:07
Пишу такую процедуру:

&НаКлиенте
Процедура СоздатьНовыйЭлемент(СтруктураДанных)
   
   // Проверка наличия выбранного элемента.
   Ссылка = Справочники.Страны.НайтиПоКоду(СтруктураДанных.КодАльфа2);

   Если НЕ Ссылка.Пустая() Тогда
       Вопрос = "В справочнике ""Страны мира"" уже существует элемент с кодом """ + СтруктураДанных.КодАльфа2 + """! Открыть существующий?";
       Ответ  = Вопрос(Вопрос, РежимДиалогаВопрос.ДаНетОтмена, , КодВозвратаДиалога.Отмена, );

       Если      Ответ = КодВозвратаДиалога.Да Тогда
           Ссылка.ПолучитьФорму( , ВладелецФормы, ).Открыть();
           Возврат;

       ИначеЕсли Ответ = КодВозвратаДиалога.Отмена Тогда
           Возврат;
       КонецЕсли;
   КонецЕсли;

   // Создание нового элемента справочника.
   ФормаНовогоЭлемента = Справочники.Страны.ПолучитьФормуНовогоЭлемента(, ВладелецФормы, );

   ФормаНовогоЭлемента.Код                = СтруктураДанных.КодАльфа2;
   ФормаНовогоЭлемента.Наименование       = СтруктураДанных.НаименованиеКраткое;
   ФормаНовогоЭлемента.НаименованиеПолное = СтруктураДанных.НаименованиеПолное;
   ФормаНовогоЭлемента.НаименованиеENG = СтруктураДанных.НаименованиеENG;
   
   ФормаНовогоЭлемента.Открыть();


КонецПроцедуры // СоздатьНовыйЭлемент()


При проверке выдает ошибку:

{Справочник.Страны.Форма.ВыборИзКлассификатора.Форма(114,14)}: Переменная не определена (Справочники)
   Ссылка = <<?>>Справочники.Страны.НайтиПоКоду(СтруктураДанных.КодАльфа2); (Проверка: Тонкий клиент)
{Справочник.Страны.Форма.ВыборИзКлассификатора.Форма(130,27)}: Переменная не определена (Справочники)
   ФормаНовогоЭлемента = <<?>>Справочники.Страны.ПолучитьФормуНовогоЭлемента(, ВладелецФормы, ); (Проверка: Тонкий клиент)

Читаю в синтаксис-помощнике: глобальный контекст "Справочники" доступен на:
Сервер, толстый клиент, внешнее соединение.

Как это можно обойти?
1 PR
 
09.04.12
13:08
2 nuctoh
 
09.04.12
13:09
3 zladenuw
 
09.04.12
13:09
замени &НаКлиенте на  &НаСервере
4 maxt
 
09.04.12
13:12
(3) пробовал.
тогда ругается на
Вопрос,
КодВозвратаДиалога,
РежимДиалогаВопрос
5 zladenuw
 
09.04.12
13:13
Ну так выполняй вопрос на клиенте, а проверку кода и создание делай на сервере
6 ДенисЧ
 
09.04.12
13:14
дели на две части, серверную и клиентскую.
7 maxt
 
09.04.12
13:15
(5,6) т.е. проверять наличие элемента на сервере, если есть, передавать исполнение в другую процедуру на клиенте, там проверять вопрос, и если да, то возвращаться опять на сервер???
8 ДенисЧ
 
09.04.12
13:16
да
9 maxt
 
09.04.12
13:17
пипец... :(
у меня возникла такая идея, но мне показалось это бредом, и постеснялся такое спросить.......
10 maxt
 
09.04.12
13:18
(5,6,8) других вариантов нет?
11 Omskdizel
 
09.04.12
13:19
(10) Это управляемое приложение, бро, тут иначе никак. Все должно быть строго параллельно и перпендикулярно.
12 maxt
 
09.04.12
13:20
(11) где можно подробно и доступно почитать, что где доступно?
а то приходиться методом тыка выяснять...
13 Ахиллес
 
09.04.12
13:20
(12) Там же, где ты уже читал.
14 Buster007
 
09.04.12
13:24
Радченко. Разработка управляемого интерфейса.
15 Ахиллес
 
09.04.12
13:24
(9)Тупые одинэсники конечно нарисовали жутко кривой клиент-сервер, но в данном случае всё логично, почему для тебя показалось бредом исполнять серверные методы на сервере?
16 maxt
 
09.04.12
13:27
(15) бредом показалось скакать туда-сюда, как блоха, для такой простой процедуры
17 nuctoh
 
09.04.12
13:28
Юзай толстый клиент, не будь блохой
18 Ахиллес
 
09.04.12
13:30
(16) На клиенте же нету справочников... Кстати, нафига ты вообще вопрос задаёшь? Какой смысл в ответе "Нет" юзера, ему же требуется форму справочника открыть. Ну и открывай её без вопросов.
19 Defender aka LINN
 
09.04.12
13:31
(16) Ну не скачи. Придумай способ, который требовал бы всего одного вызова сервера.
20 Ахиллес
 
09.04.12
13:32
(19) Не задавать вопроса.
21 Defender aka LINN
 
09.04.12
13:33
(20) К примеру, да.
22 Адинэснег
 
09.04.12
13:33
(9) бред - это когда в вэб-клиенте можно обращаться к менеджерам справочников...
Тонкий клиент на то и тонкий)
23 maxt
 
09.04.12
13:34
(18) так наверное и сделаю.
по пробую еще в модуле приложения универсальную функция обработки вопроса наваять
24 maxt
 
09.04.12
14:24
такой еще вопрос:
можно ли обратиться к функции в общих модулях из формы в режиме тонкого клиента?
Пишет: Процедура или функция с указанным именем не определена

Функция есть, экспортная