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;
КонецПроцедуры
КОД ОБРАБОТКИ ОТКРЫТ. Обработку можно модифицировать под Ваши нужды. Дальнейшее развитие или усовершенствование автором не планируется.