Имя: Пароль:
1C
1С v8
Создание Банковского счета
0 Нечай
 
10.02.17
13:01
Всем добрый день.
Есть список контрагентов, одинаковый что в 8, что в 7, есть обработка которая подключается из 8.3 в 7.7 через com.
Задача следующая: подключить из 8.3 к 7.7 и вытянуть все банковские счета и создать их в 8.3 с привязкой к каждому конкретному контрагенту.
Подскажи пожалуйста как это реализовать. Если буду тупить, прошу не обращать внимания, в 1с-ке всего 2 месяца.
1 shuhard
 
10.02.17
13:02
(0)[как это реализовать]
нанять программиста
2 Dark_Warrior
 
10.02.17
13:16
Можно правила обмена написать, можно без использования оных в обработке вашей. Подключиться по Com к 7.7, оттуда запросами надергать нужные данные, создать аналоги в 8.
3 sonne666
 
10.02.17
13:19
(0) для начала понять, как однозначно определяется одинаковость контрагентов.
4 Нечай
 
10.02.17
13:44
Одинаковость контрагентов определяется созданным реквизитом код 77, и полем в справочнике контрагенты.
5 Нечай
 
13.02.17
17:38
Вот что получилось, вдруг кому-то будет полезно.
    Проверить = ЛОЖЬ;
    Сообщить("Запускаем 1С 7.7",СтатусСообщения.Информация);
    Попытка
        V77 = Новый COMОбъект("V77.Application");
    Исключение
        ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки());
        Возврат;
    КонецПопытки;  
    
    Сообщить("1С 7.7 успешно запущена, соединяемся с базой",СтатусСообщения.Информация);
    
    Каталог = СокрЛП("D:\1С77\prod") + "\";
    Логин = "Администратор";
    Пароль = "123";
    Стр    = """" +    "enterprise /d""" + Каталог     + """"    
    + ?(Не ЗначениеЗаполнено(Логин) = 0, " /n", "")  + """" + СокрЛП("Администратор")  + """"  
    + ?(Не ЗначениеЗаполнено(Пароль) = 0, " /p", "") + """" + СокрЛП("123") + """";
    
    Открыта = V77.Initialize(V77.RMTrade,Стр,"NO_SPLASH_SHOW");
      
    Если Открыта = 0  Тогда
        Сообщить("Базу данных открыть не удалось!",СтатусСообщения.Информация);
        Возврат;
    КонецЕсли;
    
    Сообщить("Соединение с базой прошло успешно",СтатусСообщения.Информация);
    
    СписокКонтрагентов = Справочники.Контрагенты.Выбрать();
    Пока СписокКонтрагентов.Следующий() Цикл
        
        Контрагенты77 = V77.CreateObject("Справочник.Контрагенты");
        Счета77 = V77.CreateObject("Справочник.РасчетныеСчета");
        Банки77 = V77.CreateObject("Справочник.Банки");
        
        Если Контрагенты77.НайтиПоКоду(Число(СписокКонтрагентов.И_Код77),0) = 1 Тогда
            
            а = Контрагенты77.ТекущийЭлемент();
            Сообщить ("наим " +а.Наименование);
            
            
            Счета77.ИспользоватьВладельца(а);
            Счета77.ВыбратьЭлементы();
            
            Пока Счета77.ПолучитьЭлемент() = 1  Цикл
                
                с = Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета", Счета77.Номер);
                Если Не ЗначениеЗаполнено(с)  Тогда
                    
                Элемент = Справочники.БанковскиеСчета.СоздатьЭлемент();
                
                Элемент.Банк = Справочники.Банки.НайтиПоКоду(Счета77.БанкОрганизации.код);
                Элемент.НомерСчета = Счета77.Номер;            
                Элемент.Владелец = СписокКонтрагентов.Ссылка;
                Элемент.ВалютаДенежныхСредств = Справочники.Валюты.НайтиПоКоду("643");
                Элемент.ВидСчета = "Расчетный";
                Элемент.Наименование = "" + Строка(Счета77.БанкОрганизации.наименование) + " (Расчетный)";
                
                Элемент.Записать();
                КонецЕсли      
            КонецЦикла;    
        КонецЕсли
        
    КонецЦикла;
6 Нечай
 
13.02.17
17:40
Теперь мне нужно вытянуть данные юридического адреса и почтового адреса - это "представление". Как это сделать?
7 Amra
 
13.02.17
17:53
(6) Я тебя разочараю. Адрес в восьмерке это не представление. А что именно и где хранится - зависит от конфы, а не от платформы
8 HeKrendel
 
13.02.17
18:43
(0) Может все таки прогера стоит вызвать?
9 Mikhail Volkov
 
14.02.17
07:01
(0) > Задача следующая: подключить из 8.3 к 7.7 и вытянуть...
Зачем, если клиент-банк работает в обеих программах? Если из 7.7 надо вытянуть старые платежи, то надо конвертировать банковские документы...