Имя: Пароль:
1C
1С v8
помогите разобраться новичку
0 kolp821
 
27.09.11
13:15
1) Создал ОбщийМодуль с именем ОбщиеФункцииСервер

Код


Функция ПолучениеПользователя() Экспорт
   Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
   Возврат Пользователь;
КонецФункции


2) В объекте справочник Справочник1 создал реквизит "Пользователь" с типом данных строка.
3) В модуле формы справочника Справочник1 пишу следующие:
Код


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



Происходит следующие:
Создаю новый элемент Справочник1, заполняю поле Наименование при нажатии кнопки "сохранить" создаются два элемента, первый тот который создавал вручную с заполненным полем Наименование но пустым полем пользователь, а второй создается автоматически с пустым полем Наименование, но с заполненным полем Пользователь. То есть система сохраняет текущего пользователя в отдельный элемент. Вопрос, как можно сделать чтобы создавался один элемент справочника? прошу помочь новичку.
1 JesteR
 
27.09.11
13:19
Процедура ПриЗаписиНаСервере(пользователь)
пользователь = ОбщиеФункцииСервер.ПолучениеПользователя();
//НовыйОбъект = Справочники.Країна.СоздатьЭлемент();
НовыйОбъект.Пользователь = пользователь;
//НовыйОбъект.Записать();
КонецПроцедуры
2 Ненавижу 1С
 
гуру
27.09.11
13:20
(0) ну так ты ж именно так и написал
3 JesteR
 
27.09.11
13:21
(1)Ссори не так, а вот так похоже:
Процедура ПриЗаписиНаСервере(пользователь)
Пользователь = ОбщиеФункцииСервер.ПолучениеПользователя();
КонецПроцедуры
4 Ненавижу 1С
 
гуру
27.09.11
13:21
попробуй так:

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   ТекущийОбъект.Пользователь  = ОбщиеФункцииСервер.ПолучениеПользователя();
КонецПроцедуры
5 sda553
 
27.09.11
13:22
&;НаСервере
Процедура ПриЗаписиНаСервере(пользователь)
пользователь = ОбщиеФункцииСервер.ПолучениеПользователя();
Объект.Пользователь = пользователь;
Объект.Записать();
КонецПроцедуры
6 kolp821
 
27.09.11
13:35
sda553, нечего не выходит, ругается на это:
{Справочник.Країна.Форма.ФормаЭлемента.Форма(37)}: Метод объекта не обнаружен (Записать)
Объект.Записать();

Ненавижу 1С и JesteR, при записи поле Пользователь не заполняется, то есть пустое.
7 Ненавижу 1С
 
гуру
27.09.11
13:36
(6) все там записывается, обрати внимание, что у меня стоит ПЕРЕД записью
8 kolp821
 
27.09.11
13:37
Ненавижу 1С действительно работает, спасибо за консультацию.
9 sda553
 
27.09.11
14:04
(7) Да верно, прогнал не заметил, что ПриЗаписи
Программист всегда исправляет последнюю ошибку.