Имя: Пароль:
1C
1С v8
Создать группу с помощью обработки
0 irishaj
 
30.05.17
16:21
Есть справочник Контрагенты. Необходимо создать группу и подчиненную группу с помощью обработки.

Я совсем еще новичок, поэтому сильно не ругайте.
На форме располагаю два поля для заполнения: НаименованиеГруппы, тип Строка; Родитель, тип ...не знаю, какой ставить.
Модуль формы:
&НаКлиенте
Процедура СоздатьГруппу(Команда)
    СоздатьГруппуНаСервере(НаименованиеГруппы,Родитель);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьГруппуНаСервере(НаименованиеГруппы, Родитель)

НоваяГруппа=Справочники.Контрагенты.СоздатьГруппу();
НоваяГруппа.Наименование=НаименованиеГруппы;
НоваяГруппаРодитель=Родитель;//так ли???
КонецПроцедуры
1 Волшебник
 
модератор
30.05.17
16:22
Если группа верхнего уровня, то родитель должен быть пустой.
2 Волшебник
 
модератор
30.05.17
16:22
а иначе ссылка
3 Rusland
 
30.05.17
16:23
&НаКлиенте
Процедура СоздатьГруппу(Команда)
    СоздатьГруппуНаСервере(НаименованиеГруппы,Родитель);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьГруппуНаСервере(НаименованиеГруппы, Родитель)

НоваяГруппа=Справочники.Контрагенты.СоздатьГруппу();
НоваяГруппа.Наименование=НаименованиеГруппы;
ПодчиненнаяГруппа=Справочники.Контрагенты.СоздатьГруппу();
ПодчиненнаяГруппа.Родитель=НоваяГруппа.Ссылка;

КонецПроцедуры

Как то так....
4 Rusland
 
30.05.17
16:24
Блин, записать забыл.
    
&НаКлиенте
Процедура СоздатьГруппу(Команда)
    СоздатьГруппуНаСервере(НаименованиеГруппы,Родитель);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СоздатьГруппуНаСервере(НаименованиеГруппы, Родитель)

НоваяГруппа=Справочники.Контрагенты.СоздатьГруппу();
НоваяГруппа.Наименование=НаименованиеГруппы;
НоваяГруппа.Записать();
ПодчиненнаяГруппа=Справочники.Контрагенты.СоздатьГруппу();
ПодчиненнаяГруппа.Родитель=НоваяГруппа.Ссылка;
ПодчиненнаяГруппа.Записать();
КонецПроцедуры
5 Rusland
 
30.05.17
16:27
ПодчиненнаяГруппа.Наимерование=Родитель; забыл.
6 irishaj
 
30.05.17
16:35
спасибо, сейчас попробую. А какой тип мне надо поставить у поля Родитель на форме?
7 Rusland
 
30.05.17
16:37
Оставь строкой. :)
8 irishaj
 
30.05.17
16:43
если оставлю строкой, то у меня не будет диалога по выбору... как я понимаю, в поле Родитель должно открываться окно с возможностью выбора уже существующей группы в родителя.
9 Rusland
 
30.05.17
16:44
(8) Задача в топике как поставлена?
"Есть справочник Контрагенты. Необходимо создать группу и подчиненную группу с помощью обработки." - ровно под нее я тебе код написал.
Про диалог и выбор  - это уже совсем другая песня.
10 irishaj
 
30.05.17
16:46
Если ставлю типом Справочник.Ссылка.Контрагенты, то открывается весь справочник с просмотром в том числе и элементов. Нельзя сделать так, чтоб видны были только группы?
11 Rusland
 
30.05.17
16:47
Можно. Отдельная форма + условное оформление, как вариант.
12 irishaj
 
30.05.17
16:53
хорошо, спасибо большое за помощь. буду ковыряться дальше)
13 dezss
 
30.05.17
17:28
(11) а может проще программно описать вызов формы выбора + отбор. А то на каждый чих свою форму создавать - это слишком круто.
14 Rusland
 
30.05.17
17:31
(13) Может и проще. Но не ТС. Она к этому еще не дошла. :)
AdBlock убивает бесплатный контент. 1Сергей