Имя: Пароль:
1C
1С v8
перенос по оле 77-82
0 liquidum
 
18.12.12
11:56
Помогите с переносом групп пожалуйста...

   СпрК = База.CreateObject("Справочник.Контрагенты");
   СпрК.ВыбратьЭлементы();                  
   Пока СпрК.ПолучитьЭлемент() = 1 Цикл
       Если СпрК.ЭтоГруппа()=0 Тогда
           

           Код = СпрК.ЮрФизЛицо.Код;
           Наименование = спрК.ЮрФизЛицо.Наименование;
           ИНН = СпрК.ЮрФизЛицо.ИНН;
           Адрес = СпрК.ЮрФизЛицо.ЮрАдрес;
           НаименованиеПолное = СпрК.ЮрФизЛицо.ПолнНаименование;
           Сообщить(""+Код+"     "+Наименование+"     "+ИНН+"  "+Адрес+"      "+НаименованиеПолное  );
           
           Спр = Справочники.Контрагенты;
           Эл = Спр.СоздатьЭлемент();            
           
           Эл.Код = СпрК.ЮрФизЛицо.Код;
           Эл.Наименование = СпрК.ЮрФизЛицо.Наименование;
           Эл.ИНН = СпрК.ЮрФизЛицо.ИНН;
           Эл.НаименованиеПолное = СпрК.ЮрФизЛицо.ПолнНаименование;  
           
       Попытка
           Эл.Записать();
       Исключение
           Сообщить(СпрК.ЮрФизЛицо.Код);
           
       КонецПопытки;
       КонецЕсли;    
       КонецЦикла;
   КонецПроцедуры


Процедура Кнопка1Нажатие(Элемент)
       Пока 1=1  Цикл
       Выборка = Справочники.Контрагенты.ВыбратьИерархически();
       Если Выборка.Следующий() Тогда
           ТекЭлемент = Выборка.ПолучитьОбъект();
           ТекЭлемент.Удалить();
       Иначе
           прервать;            
       КонецЕсли;
   КонецЦикла;
КонецПроцедуры
1 liquidum
 
18.12.12
11:57
В данном коде перенос элементов, но как перенести группы?
2 cw014
 
18.12.12
11:58
Бррр, а где тут перенос групп?
3 liquidum
 
18.12.12
11:58
Бляха лишнего цепанул, но тут вначале надо смотреть
4 cw014
 
18.12.12
11:58
Эл = Спр.СоздатьГруппу();

Здорово помог?
5 liquidum
 
18.12.12
11:58
Дак вот нету, я вообще что то понять немогу
6 Heckfy
 
18.12.12
11:59
7 cw014
 
18.12.12
12:00
(5) Открою секрет - если напишешь, то будет
8 liquidum
 
18.12.12
12:00
Да я запутался тут ппц )
9 liquidum
 
18.12.12
12:01
Ок спасиб ща попробую...
10 cw014
 
18.12.12
12:01
(8) Аааа, ну ладно. Как распутаешься - пиши
11 Галахад
 
гуру
18.12.12
12:01
По-идее, сперва группы надо перенести, а потом уже элементы.
12 Aprobator
 
18.12.12
12:02
народ такую фигню еще через оле таскает. Делать нефиг.
13 liquidum
 
18.12.12
12:09
(11) Это как? Не шарю вообще, помогите кто может...
14 zladenuw
 
18.12.12
12:12
Спр = Справочники.Контрагенты.НайтиПоКоду(ПривестиКод(Менеджер.Код,9),,,);
   Если Спр.Пустая() Тогда
        Спр = Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(Менеджер.Наименование),Истина);
        Если Спр.Пустая() Тогда
            Если Менеджер.ЭтоГруппа()=1 Тогда
                Спр = Справочники.Контрагенты.СоздатьГруппу();
            Иначе
                Спр = Справочники.Контрагенты.СоздатьЭлемент();
            КонецЕсли;
            Спр.Записать();
        Иначе            
              Спр = Спр.ПолучитьОбъект();        
        КонецЕсли;
    Иначе
        Спр = Спр.ПолучитьОбъект();  
   КонецЕсли;
   
    Если НЕ СокрЛП(Менеджер.Родитель.Наименование)= "" Тогда
       Спр.Родитель = ПеренестиКонтрагента(Объект77,Менеджер.Родитель, Неопределено);
   КонецЕсли;
   Спр.Наименование = Менеджер.Наименование;
   Спр.Код = ПривестиКод(Менеджер.Код,9);    
   Если Менеджер.ЭтоГруппа()=0 и НЕ Спр.ЭтоГруппа Тогда
       Если СокрЛП(Менеджер.ДокНомер)<>"" Тогда
           Спр.ДокументУдостоверяющийЛичность = ""+СокрЛП(Менеджер.ДокСерия)+" № "+СокрЛП(Менеджер.ДокНомер)+?(СокрЛП(Менеджер.ДокКемВыдан)<>"",", виданий "+СокрЛП(Менеджер.ДокКемВыдан),"")+?(СокрЛП(Менеджер.ДокДатаВыдачи)<>""," "+СокрЛП(Менеджер.ДокДатаВыдачи),"");
       Иначе//Если НЕ Спр.ЭтоГруппа Тогда
           Спр.ДокументУдостоверяющийЛичность = "";
       КонецЕсли;
       Спр.КодПоЕДРПОУ = Менеджер.ЕДРПОУ.Получить(ТекущаяДата());
       Спр.ИНН = Менеджер.ИНН.Получить(ТекущаяДата());
       Спр.НомерСвидетельства = Менеджер.НомерСвидетельства.Получить(ТекущаяДата());
       Спр.НаименованиеПолное = Менеджер.ПолнНаименование;
       Если Менеджер.ВидКонтрагента.Идентификатор()=Объект77.EvalExpr("Перечисление.ВидыКонтрагентов.Организация").Идентификатор() Тогда
           Спр.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо;
       ИначеЕсли Менеджер.ВидКонтрагента.Идентификатор()=Объект77.EvalExpr("Перечисление.ВидыКонтрагентов.ЧастноеЛицо").Идентификатор() Тогда
           Спр.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо;
       КонецЕсли;
       ЗаписатьКонтактнуюИнформацию(Спр.Ссылка,Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента,Перечисления.ТипыКонтактнойИнформации.Адрес,?(Менеджер.ФизАдрес = "","",Менеджер.ФизАдрес));
       ЗаписатьКонтактнуюИнформацию(Спр.Ссылка,Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента,Перечисления.ТипыКонтактнойИнформации.Телефон,?(Менеджер.Телефоны = "","",Менеджер.Телефоны));
       ЗаписатьКонтактнуюИнформацию(Спр.Ссылка,Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента,Перечисления.ТипыКонтактнойИнформации.Адрес, ?(Менеджер.Адрес = "","",СокрЛп(Менеджер.Адрес.Получить(ТекущаяДата()))));
15 liquidum
 
18.12.12
12:16
(14) о еп
16 liquidum
 
18.12.12
13:30
(14) Не могу понять что значит "привести"


Спр = Справочники.Контрагенты.НайтиПоКоду(ПривестиКод(Менеджер.Код,9),,,);
17 liquidum
 
18.12.12
13:54
Мда
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший