Имя: Пароль:
1C
1С v8
Обработка справочников
,
0 KENT2007
 
08.07.12
11:12
Процедура КнопкаВыполнитьНажатие(Кнопка)
   ВоборкаСправочников = Справочники.ДоговорыКонтрагентов.Выбрать();
Пока ВоборкаСправочников.Следующий() Цикл
          ИмяДог=ЛЕВ(ВоборкаСправочников.Наименование,7);
          ГруппаДог=Справочники.ДоговорыКонтрагентов.СоздатьГруппу();
         
         
          ГруппаДог.Наименование=ИмяДог;
          ГруппаДог.Владелец=ВоборкаСправочников.Владелец.Ссылка;
       
          ГруппаДог.Родитель=  ГруппаДог.Владелец;
       
       ГруппаДог.Записать();
               
Конеццикла;

КонецПроцедуры
1 KENT2007
 
08.07.12
11:13
почему зависает цикл?

нужно из имени договоа сделать группу и переместить этот договор в группу договора
2 milan
 
08.07.12
11:16
выборка твоя сбивается, потому что изменяешь состав справочника, сначала все выбери, а потом создавай группы
3 KENT2007
 
08.07.12
11:18
а как это реализовать
4 Вопрос_по_Бух
 
08.07.12
11:19
у групп тоже будешь группы создавать?
5 Gobseck
 
08.07.12
11:20
Непонятна конструкция:

ГруппаДог.Родитель=  ГруппаДог.Владелец;

Родитель - это элемент того же справочника, Владелец - элемент справочника-владельца. Чтобы Родитель совпадал с Владельцем, никогда такого не встречал.
6 milan
 
08.07.12
11:21
за 500 рублей сделаю через тимвьювер, но позже
7 Вопрос_по_Бух
 
08.07.12
11:22
(5) это разные сущности
8 KENT2007
 
08.07.12
11:25
вот и запутался где какая сущность, создал группу
ГруппаДог.Наименование=ИмяДог;
ГруппаДог.Владелец=ВоборкаСправочников.Владелец.Ссылка;

как теперь договору присвоить эту группу?
9 Мимохожий Однако
 
08.07.12
11:25
неплохо бы запросом получить список договоров (ссылки и имена)
при вводе нового договора надо проверить наличие договора, только потом формировать новые группы и элементы.
Или в первом запросе сразу отобрать только те договора, которые еще не созданы.
В методе СоздатьГруппу() вроде бы есть параметр с Владельцем.
10 Вопрос_по_Бух
 
08.07.12
11:29
(8) плдчить объект договор и присвоить родителя
убери эту строку ГруппаДог.Родитель=  ГруппаДог.Владелец;
и послушай (9) сделай запросом
11 KENT2007
 
08.07.12
11:32
с запросами туговато
12 Вопрос_по_Бух
 
08.07.12
11:34
(11) впереди целый выходной  и ночь чтобы немного  раобраться с запросами. у тебя совсем не сложный запрос будет
возми консользапросов  и потренеруйся на копии обязательно
13 KENT2007
 
08.07.12
11:46
и все таки как без запроса ВоборкаСправочников.Родитель присвоить Владельца(группу контрагентов)
14 Вопрос_по_Бух
 
08.07.12
11:52
(13) ты понимаешь  что это Справочник.ДоговорыКонтагентов(выборкасправочников)  и Справочник.Контрагенты(родитель) это два РАЗНЫХ справочника и как ты группу из одного справочника пытаешься сделать родителем группой другого справочника ?
15 KENT2007
 
08.07.12
11:55
тоесть таким методом это не возможно?
16 Вопрос_по_Бух
 
08.07.12
11:58
(15)подчинить группе  договора нельзя
17 KENT2007
 
08.07.12
12:07
блин а как же делать только через запрос?
18 KENT2007
 
08.07.12
12:39
может кто пример даст, уже блин голову сломал
19 wade25
 
08.07.12
12:41
Выгрузи в ТЗ и обойди ее.
20 KENT2007
 
08.07.12
12:49
вот так Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ДоговорыКонтрагентов.Ссылка,
       |    ДоговорыКонтрагентов.Владелец,
       |    ДоговорыКонтрагентов.Родитель
       |ИЗ
       |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов";

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       
       
       // Вставить обработку выборки ВыборкаДетальныеЗаписи
   КонецЦикла;
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn