Имя: Пароль:
1C
1С v8
Создание элемента справочника в клиент серверном варианте
0 alexshape
 
01.08.17
08:45
Привет Всем. Странная ситуация происходит с программной работой справочника. Данные код: Нормально отрабатывает в файловом варианте работы, а в клиент серверном варианте ругается на глТекущийПользователь где это глобальная переменная, объявленная в модуле обычного приложения. Может кто сталкивался?


&НаСервере
Процедура ДобавитьАвтоНаСервере()
    
    НовоеАвто = Справочники.асАвтомобили.СоздатьЭлемент();
    НовоеАвто.Контрагент = Объект.Ссылка;
    Форма = НовоеАвто.ПолучитьФорму();
    Форма.Открыть();    
    
КонецПроцедуры

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



Вот на что ругается:

    Если ЭтоНовый() Тогда
        
        Ответственный = глТекущийПользователь;
        ДатаСоздания  = ТекущаяДата();
1 Cyberhawk
 
01.08.17
08:45
Что делать будешь?
2 alexshape
 
01.08.17
08:46
{Справочник.асАвтомобили.МодульОбъекта(104,19)}: Переменная не определена (глТекущийПользователь)
        Ответственный = <<?>>глТекущийПользователь;
3 Работа имитируется
 
01.08.17
08:48
Это понятно. Делать-то что планируешь?
4 alexshape
 
01.08.17
08:52
(3) Хотел у Вас спросить
5 igorPetrov
 
01.08.17
08:54
(4) Спросил? Теперь, что делать будешь?
6 Бледно Золотистый
 
01.08.17
08:56
(0) Мы не сталкивались к сожалению(
Проста у нас нет отдельного человека, который сидит в серверной целый день и смотрит на формы открываемой на сервере 1с.
7 Fedor-1971
 
01.08.17
08:57
(4) т.е. хотел спросить на форуме как исправить синтаксические ошибки?

Форма = НовоеАвто.ПолучитьФорму(); //какую из форм хотел получить то?
Форма.Открыть(); // и кто на сервере увидит открытую форму?
почитай в СП где доступны используемые функции
8 Fedor-1971
 
01.08.17
08:58
(0) почитай про УФ и не пытайся сделать кальку из ОФ мало что получится.
9 Гипервизор
 
01.08.17
09:00
(0) Может текущий пользователь есть в параметрах сеанса?
10 alexshape
 
01.08.17
15:11
Тут дело даже не в том что я на сервере получаю форму, ошибка выходит и при таком варианте

&НаСервере
Функция ДобавитьАвтоНаСервере()
    
    НовоеАвто = Справочники.асАвтомобили.СоздатьЭлемент();
    НовоеАвто.Контрагент = Объект.Ссылка;
    
    Возврат НовоеАвто;
    
КонецФункции

&НаКлиенте
Процедура ДобавитьАвто(Команда)
    
    НовоеАвто = ДобавитьАвтоНаСервере();
    Форма = НовоеАвто.ПолучитьФорму();
    Форма.Открыть();
    
КонецПроцедуры
11 alexshape
 
01.08.17
15:13
такой вариант работает, но разве это не одно и тоже, функция ПолучитьФорму не создает элемент справочника и не открывает его?


Форма = ПолучитьФорму("Справочник.асАвтомобили.Форма.ФормаЭлемента");
    Форма.Контрагент = Объект.Ссылка;
    Форма.Открыть();
12 Basilio
 
01.08.17
15:32
(6) уржался))))
13 _stay true_
 
01.08.17
15:45
(11) Ну...Как бы ни на пикосекунду не одно и то же
14 Fedor-1971
 
01.08.17
15:51
(11) нет конечно
ОткрытьФорму("Справочник.асАвтомобили.Форма.ФормаЭлемента") - форма заполненная по умолчанию нового элемента справочника, т.е. ничего в БД нет, но мы предлагаем пользователю это Ничего создать и записать

ОткрытьФорму("Справочник.асАвтомобили.Форма.ФормаЭлемента", новый Структура("Ключ", СсылкаНаНичего)) - откроет форму существующего в БД элемента справочника (то что пользователь уже записал)

Пойми одну простую истину Форма элемента справочника (что получить, что открыть) ни разу не Объект элемент справочника в БД

Просто ты пытаешься реализовать УФ оставив логику ОФ (возможно не ту книжку читаешь)
15 alexshape
 
02.08.17
10:05
(14)

1. Т.е. в момент когда я пишу
НовоеАвто = Справочники.асАвтомобили.СоздатьЭлемент();
в Базе создается элемент справочника, а если я отказываюсь от записи, то он удаляется?

2. Вся загвоздка в том, что база работает в обычном приложении, используя  в некоторых справочниках УФ. и Вот из этой самой Уф в процедуре на Сервере, я пытаюсь создать новый элемент, в модуле объекта которого попутно обращаясь к глобальнойПеременной "X" (объявленного в модуле обычного приложения.) Поэтому вопрос: Почему переходя из серверной процедуры УФ в модуль Объекта новго элемента в которой я обращаюсь к глобальной переменной, я ее не вижу, а если из обычной формы к этому же месту я ее вижу?
Независимо от того, куда вы едете — это в гору и против ветра!