Имя: Пароль:
1C
1С v8
Реквизит справочника
0 ЧайнаяРоза
 
22.11.13
19:31
Здравствуйте! Подскажите, пожалуйста, как записать данные в реквизит  справочника. Спасибо
1 ДенисЧ
 
22.11.13
19:32
Получить объект, присвоить значение, записать
2 ЧайнаяРоза
 
22.11.13
19:36
Справочники.Сотрудники.НайтиПоНаименованию(ТД.ФИО).Группа.ПолучитьОбъект();
Объект.Группа="5";
Объект.Группа.Записать();

не так?
3 LehhaK
 
22.11.13
19:38
Спр = Справочники.Сотрудники.НайтиПоНаименованию(ТД.ФИО);
Спр.Группа = "5";
Спр.ЗАписать();
4 ЧайнаяРоза
 
22.11.13
19:38
Выдает ошибки:

{Справочник.Сотрудники.Форма.ФормаВыбора.Форма(8,3)}: Переменная не определена (Объект)
        <<?>>Объект.Группа="5"; (Проверка: Сервер)
{Справочник.Сотрудники.Форма.ФормаВыбора.Форма(9,3)}: Переменная не определена (Объект)
        <<?>>Объект.Группа.Записать(); (Проверка: Сервер)
5 icipher
 
22.11.13
19:40
Объект = Справочники.Сотрудники.НайтиПоНаименованию(ТД.ФИО).Группа.ПолучитьОбъект();
6 ЧайнаяРоза
 
22.11.13
19:42
А как можно эту процедуру на клиенте сделать?
7 ЧайнаяРоза
 
22.11.13
19:43
Ошибки не выдает теперь, но и в реквизит ничего не записывается
8 Zamestas
 
22.11.13
19:43
(6) Вызвать сервер и там сделать.
9 LehhaK
 
22.11.13
19:44
(6) на клиенте: Процедура ОЛоло() В ней вызываешь процедуру на сервере Ололо2() в ней делаешь то, что в (3)
10 zakidonoff
 
22.11.13
19:48
(3) Забыл получить объект.
11 LehhaK
 
22.11.13
19:51
(10) точно! Справочники.Сотрудники.НайтиПоНаименованию(ТД.ФИО).ПолучитьОбъект()
12 ЧайнаяРоза
 
22.11.13
20:05
Еще вопрос) не получается получить данные текущей строки на сервере. ТД.ФИО - это поле ФИО табличной части справочника. На клиенте я делала так: ТД = Элементы.Список.ТекущиеДанные;
А как на сервере?
13 ДенисЧ
 
22.11.13
20:06
(12) а передать с клиента?
14 Конфигуратор1с
 
22.11.13
20:10
(5) ага. он и зафигачит в реквизит основной формы Объект. не учите девочку плохому)
15 Конфигуратор1с
 
22.11.13
20:13
(12) если список это динамический список где хранятся ссылки на документы, то

&НаКЛиенте
Процедура А()
ТД = Элементы.Список.ТекущиеДанные;
Если Не ТД = Неопределено тогда
ПроцедураАСервер(ТД.ССылка);
КонецеСли
КонецпроЦедуры
16 ЧайнаяРоза
 
22.11.13
20:32
Всем спасибо за ответы, но у меня все равно не работает

&НаКлиенте
Процедура СписокВыборЗначения(Элемент, Значение, СтандартнаяОбработка)
    СтандартнаяОбработка =Ложь;
    ТД = Элементы.Список.ТекущиеДанные;
    Если НЕ ЗначениеЗаполнено (ТД.Группа) Тогда
        СтандартнаяОбработка =Истина;
        Если Не ТД = Неопределено тогда
          ЗаполнитьРеквизит(ТД.ССылка);
        КонецЕсли        
        Иначе Сообщить ("Сотрудник уже состоит в группе");
  КонецЕсли
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьРеквизит(ТД.ССылка)
    Спр=Справочники.Сотрудники.НайтиПоНаименованию(ТД.ФИО).ПолучитьОбъект();
    Спр.Группа=Здесь должен быть номер группы из справочника Группа;
    Спр.Записать();
КонецПроцедуры
17 Zamestas
 
22.11.13
20:41
(16) Книги/курсы.
18 Ork
 
22.11.13
20:55
(16) "Здесь должен быть номер группы из справочника Группа"
Это почему вы так решили? Тип вот у этого "Спр.Группа" - число?