gifts2017

Перенос данных из 1С 7.7 "Бухгалтерия" в 1С8.2/8.3 Управление торговлей для Беларуси ред.3.0/3.1

Опубликовал hgfdsa hgfdsa (hgfdsa2013) в раздел Обмен - Перенос данных из 1С7.7 в 1C8.X

Внешняя обработка предназначена для переноса Справочников, Документов, Остатков по счетам путем непосредственного подключения к конфигурации-донору 1С 7.7 .

1) Подключение: указать пользователя, пароль, путь к базе-донору 1С 77 - проверить соединение.

Функция Подключение()
    
    БазаОле = новый COMобъект("V77.Application"); 
    User = ИмяПользователя;
    Pass = Пароль;
    Путь = ПутькБазе;
    РезультатПодключения = БазаОле.Initialize(БазаОле.RMTrade,"/D" + Путь + " /N" + СокрЛП(User) + " /P" + СокрЛП(Pass) + "", "NO_SPLASH_SHOW");
    Если РезультатПодключения = Ложь Тогда 
        сообщить("Ошибка подключения.");
        Если Не РезультатПодключения Тогда
            Сообщить("Не удалось подключиться к базе.
            |Возможные причины:
            |1. Неправильно указан каталог.
            |2. Конфигурация уже открыта в монопольном режиме.
            |3. Выбранный пользователь уже открыл сеанс работы в конфигурации.
            |4. Предыдущий сеанс был завершен не корректно.", СтатусСообщения.ОченьВажное);
            
            Возврат Ложь;
        КонецЕсли;
        
    иначе
        сообщить("к базе подключились успешно");
        Возврат Истина;
        
    КонецЕсли;
Конецфункции



2) Перенос справочников как из ИБ, так и из предоставляемого файла Excel

Синхронизация справочников Номенклатуры осуществляется по КОДУ, если код отсутствует, поиск производится по Наименованию, если по двум реквизитам ничего не найдено , то происходит запись новой позиции номенклатуры и других ее параметров: единица измерения, цена, НДС, Старана происхождения, штрих-код  и т.д. (при наличии), если в справочнике данная позиция присутствует, тогда происходит проверка и заполнение "пустых" реквизитов.

Синхронизация Контрагентов осуществляется по УНП (для Беларуси), ИНН (для России), далее по Наименованию. Переносимые реквизиты: УНП, Наименование, Адрес, Адрес Почтовый, Контактные данные, Страна регистрации, Подчиненные справочники: Расчетные счета, Договора Контрагента.

 

3) Перенос документов: Товарные накладные, Поступление товаров. Возможность указать период переноса документов, а также возможность перезаписи существующих и их проведения.

Документы синхронизируются по дате и номеру в ИБ. Данные к переносу: Организация:Р/С, Договор, Место хранения (Склад) . Контрагент, Валюта, Номенклатура, Цена , Кол-во, Сумма, Ставка НДС, Итого с НДС.

Пример части кода по переному документов поступления:

Процедура ПеренестиПоступление(ДокИсточник)
    
    ДокОприходование = Документы.ПоступлениеТоваровУслуг;
    
    иНомерДок = ДокИсточник.НомерДок;
    иДатаДок  = ПолучитьДатуВремяДок(ДокИсточник);
    иОрганизация = НайтиОрганизацию(ФирмаОле);
    НайденныйДок = ДокОприходование.НайтиПоНомеру(иНомерДок, иДатаДок);
    
    //Переносим данные шапки
    
    Если (ЗначениеЗаполнено(НайденныйДок)) Тогда
        Если Не ПерезаписыватьНайденные Тогда
            Возврат;
        Иначе
            НайденныйДок = НайденныйДок.ПолучитьОбъект();
        КонецЕсли;
    Иначе
        НайденныйДок = ДокОприходование.СоздатьДокумент();
        НайденныйДок.Номер = иНомерДок;
        НайденныйДок.Дата = иДатаДок;
    КонецЕсли;
    
    НайденныйДок.Организация                     = иОрганизация;
    НайденныйДок.Склад                            = ОпределитьСклад(ДокИсточник.МестоХранения);
    НайденныйДок.Контрагент=    НайтиКонтрагента(ДокИсточник.Контрагент);
    НайденныйДок.Партнер=  НайденныйДок.Контрагент.Партнер;
    НайденныйДок.Валюта = НайтиВАлюту(ДокИсточник.Договор.ВАлюта.Код);
    НайденныйДок.ВалютаВзаиморасчетов =НайденныйДок.Валюта  ;
    НайденныйДок.ХозяйственнаяОперация=перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика;
    НайденныйДок.НалогообложениеНДС=перечисления.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС;
      НайденныйДок.Подразделение=Справочники.СтруктураПредприятия.НайтиПоНаименованию("основное");
       НайденныйДок.ДатаПлатежа= НайденныйДок.Дата;

    НайденныйДок.Комментарий = "# " +  " " +ПредставлениеДок(ДокИсточник)+ " # ";

    //Переносим табличную часть
    НайденныйДок.Товары.Очистить();
    
    ДокИсточник.ВыбратьСтроки();
    Пока ДокИсточник.ПолучитьСтроку() Цикл
        Номенклатура = ЗагрузитьНом(ДокИсточник.Товар);
        НоваяСтрока = НайденныйДок.Товары.Добавить();       
        НоваяСтрока.Номенклатура = Номенклатура; 
        НоваяСтрока.КоличествоУпаковок = ДокИсточник.Количество;
        НоваяСтрока.Количество = ДокИсточник.Количество;
        
        НоваяСтрока.Цена = ДокИсточник.Цена;
        НоваяСтрока.Сумма = ДокИсточник.Сумма;
        НоваяСтрока.СуммаНДС = ДокИсточник.НДС;
        НоваяСтрока.СтавкаНДС=  ОпределитьСтавкуНДС(ДокИсточник.СтавкаНДС);
         НоваяСтрока.СуммаСНДС=  ДокИсточник.Всего;
    КонецЦикла;
    НайденныйДок.Менеджер =Пользователи.ТекущийПользователь();
    НайденныйДок.Записать();
    Если ПроводитьДокументы Тогда
        НайденныйДок.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;
    Сообщить("Записан документ: "+НайденныйДок);
    СчетчикДоковНовых = СчетчикДоковНовых + 1;
    
КонецПроцедуры

КОД ОБРАБОТКИ ОТКРЫТ. Обработку можно модифицировать под Ваши нужды. Дальнейшее развитие или усовершенствование автором не планируется.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ЗагрузкаДанных1С77-1С8УТ(управляемоеприложение)
.rar 15,62Kb
29.10.15
15
.rar 1.0 15,62Kb 15 Скачать

См. также

Автор запретил комментарии