Press "Enter" to skip to content

Часть 2. Интеграция К2 Blackpearl и 1С. Веб-сервисы.

2
Хочу поделиться очередной видеодемонстрацией, посвященной интеграции К2 Blackpearl и 1С. На этот раз с помощью веб-сервисов.


Прошу также принять во внимание следующее:
– в данной демонстрации я не делал метод Delete. Его можно сделать по образу и подобию метода Update, в котором будет «Код» в качестве единственного входящего параметра, а использоваться в методе будет стандартная функция 1С УстановитьПометкуУдаления(Истина). В 1С лучше ничего не удалять, а помечать на удаление.


– в веб-сервисах я не делал никаких проверок для таких функций, как …НайтиПоКоду(Код).ПолучитьОбъекть() и прочих. Очень часть может возникать ошибка, при которой объект просто не найден и тогда не стоит задавать все параметры данного объекта. Но как я уже сказал, лучше обратиться к толковому программисту 1С и попросить написать его качественную и правильную функцию, которую вы потом сможете использовать в ваших веб-сервисах.

Вспомогательные материалы:
1.       Полезные ссылки для дополнительного изучения
http://www.bizkit.ru/2013/05/24/1722/
http://codenotes-1c.blogspot.com/2012/09/1-8_1287.html
http://statusspb.com/web_1c_iis

2.       Полный код всех функций веб-сервиса.
Функция Create(shortname, nonresident, NDFLIncome)
               НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент();
               НовыйЭлемент.Наименование = shortname;
               НовыйЭлемент.НеЯвляетсяРезидентом = nonresident;
               Если ЗначениеЗаполнено(NDFLIncome) Тогда
                               НовыйЭлемент.ВидДеятельности = Справочники.ВидыДоходовНДФЛ.НайтиПоКоду(NDFLIncome);
               КонецЕсли;
               НовыйЭлемент.Записать();
               НовыйКод = НовыйЭлемент.Код;
               Возврат НовыйКод;
КонецФункции

 Функция Update(Kod, shortname, nonresident, NDFLIncome)
               НовыйЭлемент = Справочники.Контрагенты.НайтиПоКоду(Kod).ПолучитьОбъект();
               НовыйЭлемент.УстановитьПометкуУдаления();
               Если ЗначениеЗаполнено(shortname) Тогда
                               НовыйЭлемент.Наименование = shortname;
               КонецЕсли;
               Если ЗначениеЗаполнено(nonresident) Тогда
                               НовыйЭлемент.НеЯвляетсяРезидентом = nonresident;
               КонецЕсли;
               Если ЗначениеЗаполнено(NDFLIncome) Тогда
                               НовыйЭлемент.ВидДеятельности = Справочники.ВидыДоходовНДФЛ.НайтиПоКоду(NDFLIncome);
               КонецЕсли;
               НовыйЭлемент.Записать();
               Код = НовыйЭлемент.Код;
               Возврат Код;
КонецФункции

 Функция GetList()
               ТипXDTOContractorList = ФабрикаXDTO.Тип(“www.k2.com”, “ContractorList”);
               ТипXDTOContractorItem = ФабрикаXDTO.Тип(“www.k2.com”, “ContractorItem”);
               ContractorList = ФабрикаXDTO.Создать(ТипXDTOContractorList);
               Выборка = Справочники.Контрагенты.Выбрать();
               Пока Выборка.Следующий() Цикл
                               Объект = Выборка.ПолучитьОбъект();
                               ContractorItem = ФабрикаXDTO.Создать(ТипXDTOContractorItem);
                               ContractorItem.Kod = Объект.Код;
                               ContractorItem.shortname = Объект.Наименование;
                               Если ЗначениеЗаполнено(Объект.НеЯвляетсяРезидентом) Тогда
                                               ContractorItem.nonresident = Объект.НеЯвляетсяРезидентом;
                               Иначе
                                               ContractorItem.nonresident = false;                        
                               КонецЕсли;                              

                               Если ЗначениеЗаполнено(Объект.ВидДеятельности) Тогда
                                               ContractorItem.NDFLIncome = Объект.ВидДеятельности.Код;
                               Иначе
                                               ContractorItem.NDFLIncome = “”;
                               КонецЕсли;
                               ContractorList.Item.Добавить(ContractorItem);
               КонецЦикла;
               Возврат ContractorList;
КонецФункции

Функция Read(Kod)
               ТипXDTOContractorItem = ФабрикаXDTO.Тип(“www.k2.com”, “ContractorItem”);
               ContractorItem =  ФабрикаXDTO.Создать(ТипXDTOContractorItem);
               НовыйЭлемент = Справочники.Контрагенты.НайтиПоКоду(Kod).ПолучитьОбъект();
               ContractorItem.Kod = Kod;
               ContractorItem.shortname = НовыйЭлемент.Наименование;
               Если ЗначениеЗаполнено(НовыйЭлемент.НеЯвляетсяРезидентом) Тогда
                               ContractorItem.nonresident = НовыйЭлемент.НеЯвляетсяРезидентом;
               Иначе
                               ContractorItem.nonresident = false;
               КонецЕсли;
               ContractorItem.NDFLIncome = НовыйЭлемент.ВидДеятельности.Наименование;
               Возврат ContractorItem;
КонецФункции

  1. Konst Konst

    Test Comment

    • Konstantin Fukszon Konstantin Fukszon

      This is a reply to test

Leave a Reply

Your email address will not be published. Required fields are marked *

eight + 1 =