Пример интеграции с 1С v.7.7

Материал из BiTel WiKi

Перейти к: навигация, поиск

Приведу пример интеграции с 1С

Содержание

Подготовка

Заходим в 1С конфигуратор, открываем конфигурацию и в разделе "Справочники" создаем новый стправочник "BGB".

Создаем реквизиты:

  • cid - id договора из биллинга, тип значение - "Число", на закладке "Дополнительно" ставим галочку "Сортировка"
  • Договор - ссылка на справочник "Справочники.Договоры", тип значение - "Справочники.Договоры", на закладке "Дополнительно" ставим галочку "Сортировка"
  • Контрагент - ссылка на справочник "Справочники.Контрагенты", тип значение - "Справочники.Контрагенты", на закладке "Дополнительно" ставим галочку "Сортировка"
  • Грузополучатель - ссылка на справочник "Справочники.Контрагенты", тип значение - "Справочники.Контрагенты", на закладке "Дополнительно" ставим галочку "Сортировка"

Изображение:BGB-Helper.jpg

Справочник BGB позволит сопоставлять договора в биллинге и 1С.

Далее открываем 1С, заходим в "Справочники"->"Контрагенты" и создаем две группы. Одну для физических лиц, а другую для юридических.

Отредактируйте функцию Init()

Процедура Init()
	BGBHost 			= "10.0.2.225";
	BGBUsername 			= "1c";
	BGBPassword 			= "1c";
	КодГруппыКонтрагентовЮрЛица 	= "00000010";
	КодГруппыКонтрагентовФизЛица    = "00000205";    

	MySQLHost 			= BGBHost;
	MySQLUsername 			= "root";
	MySQLPassword 			= "root";    
	TmpDir				= "C:\tmp\";	
	
	BuhModuleID			= 8;	// ID модуля бухгалтери
	
	ДатаСозданияСчета 		= ТекущаяДата();
	ДатаСозданияСчетФактуры 	= ТекущаяДата();
	
КонецПроцедуры	

Установите ODBC драйвер для MySQL, если он не установлен.

Импорт договоров

Изображение:Import.jpg

Обратите внимание на вызовы функции ПолучитьПараметрДоговора(), укажите свои коды параметров. Например:

	НаименованиеАбонента = ПолучитьПараметрДоговора(ПараметрыДоговора, 2);
	ПолнНаименованиеАбонента = ПолучитьПараметрДоговора(ПараметрыДоговора, 3);
	ИНН = ПолучитьПараметрДоговора(ПараметрыДоговора, 17);
	КПП = ПолучитьПараметрДоговора(ПараметрыДоговора, 18);
	ЮридическийАдрес = ПолучитьПараметрДоговора(ПараметрыДоговора, 42);
	ПочтовыйАдрес = ПолучитьПараметрДоговора(ПараметрыДоговора, 43);
	Телефоны = ПолучитьПараметрДоговора(ПараметрыДоговора, 5);
	ОКПО = ПолучитьПараметрДоговора(ПараметрыДоговора, 19);
	РасСчет = ПолучитьПараметрДоговора(ПараметрыДоговора, 26);
	СерияНомерДокумента = ПолучитьПараметрДоговора(ПараметрыДоговора, 32);  
	ДокументКемВыдан = ПолучитьПараметрДоговора(ПараметрыДоговора, 33);
	Прописка = ПолучитьПараметрДоговора(ПараметрыДоговора, 45); 
	ДатаВыдачиДокумента = ПолучитьПараметрДоговора(ПараметрыДоговора, 34);     

Создание счетов

Изображение:bill.jpg

Типы документов жестко прописаны в коде, при необходимости измените id документов. Генерация счетов сделана по аналогии с модулем Bill. Для создания документов выберите типы документов и дату создания. Нашмите сгенерировать и потом создать. Если нужно пересоздать докумен, то поставте галочку "Обновить данные". Защита от дубликатов строится на принципе, что один тип документа может быть создан только один раз за месяц.

Для того чтобы счета нумеровались 1С-ой необходимо в конфигурации модуля bill указать bill.fullnumberformat=БезНомера. Для того чтобы счета нумеровались биллингом поменяете в конфиругации модуля bill параметр bill.fullnumberformat на отличный от "БезНомера" и закомментируйте создание счетов с 1с-ке в функции ИмпортСчетовBGB()

Процедура ИмпортСчетовBGB()
	ОбновитьДанные = 0;
	Если ОбновитьДанныеПриИмпортеСчетов = 1 Тогда
		ОбновитьДанные = 1    
	КонецЕсли;

    ТекСтрока = СписокСчетовBGB.ТекущаяСтрока();  
    КолСтрок = СписокСчетовBGB.КоличествоСтрок();
    Если КолСтрок=0 Тогда
      Возврат; 
    КонецЕсли;
    Пока ТекСтрока<=КолСтрок Цикл	   
		НачатьТранзакцию();   
		Данные = СписокСчетовBGB.ПолучитьЗначение(ТекСтрока,"data");
		СчетBGBid = СоздатьСчетBGB(Данные, ДатаСозданияСчета, ОбновитьДанные);   
//		СоздатьСчет1с(СчетBGBid, ОбновитьДанные);		    
		ТекСтрока = ТекСтрока + 1;
  		СписокСчетовBGB.ТекущаяСтрока(ТекСтрока); 
		ЗафиксироватьТранзакцию();
    КонецЦикла;
	
КонецПроцедуры	

Создание счет-фактур и актов

Изображение:bill2.jpg

Генерация счет-фактур и актов сделана по аналогии с модулем Bill. Счет-фактура и акт создаются в биллинге разными документами. Нумерация производится 1С-ой. Защита от дубликатов строится на принципе, что один тип документа может быть создан только один раз за месяц. В конфигурации модуля bill укажите invoice.fullnumberformat=БезНомера


Обработка

Не надо воспринимать данную статью как готовое решение, это всего лишь небольшой пример интеграции с 1С 7.7. Данный подход не идеален, так как модуль bill не приспособлен к подобным вещам да и обработка создавалась на скорую руку.

Обрабока: Медиа:BGB_1C_7.7.zip

Личные инструменты