Настройка внешней обработки СБИС для 1С 8.х
Содержание
- 1 Общее описание
- 2 Состав обработки
- 3 Основные принципы настройки
- 4 Первый запуск обработки
- 5 Структура файла настроек
- 5.1 Имя файла
- 5.2 Структура файла
- 5.3 Прямое обращение к данным из базы
- 5.4 Обращение к данным через ранее определенную переменную
- 5.5 Выбор документов (запрос к базе)
- 5.6 Обращение к данным через функцию, описанную в обработке
- 5.7 Обращение к данным через функцию, описанную в обработке ВнешниеФункции_Клиент.epf
- 5.8 Обращение к данным через строковые константы
- 6 Настройка
Общее описание
Внешняя обработка обмена электронными документами для 1С позволяет выгружать файлы документов реализации и актов сверки взаиморасчетов для последующей отправки их контрагентам, а также загружать файлы, присланные контрагентами.
Почему возникает необходимость настройки?
Конфигурации 1С зачастую изменяются пользователями, в результате таблицы, поля, предусмотренные в типовой конфигурации, могут называться по-другому, или вообще отсутствовать.
Что можно настраивать в внешней обработке?
- Отправка документов
- Названия и содержание реестров документов в раздела Продажа
- Список документов 1С которые необходимы для формирования одного пакета документов
- Параметры фильтрации списка документов для каждого реестра
- Какие электронные документы будут сформированы из документа 1С
- Изменить источники данных для реквизитов электронных документов
- Добавить новые реквизиты в стандартные электронные документы
- Описать условия заполнения реквизитов электронных документов.
- Описать условия формирования пакета документов
- Добавить к пакету документов неформализованный xls или pdf документ сформированный из макета документа 1С
- Загрузка документов
- Определить какие электронные документы можно загружать в 1С
- Определить какие документы 1С можно создать из электронного документа
- Определить какие реквизиты документа 1С будут заполнены
- Описать условия заполнения реквизитов документа 1С
Что можно настраивать в внешней обработке?
Уровень знаний | |
---|---|
Отправка документов | |
Названия и содержание реестров документов в раздела Продажа | Средний |
Список документов 1С которые необходимы для формирования одного пакета документов | Средний |
Параметры фильтрации списка документов для каждого реестра | Продвинутый |
Какие электронные документы будут сформированы из документа 1С | Средний |
Изменить источники данных для реквизитов электронных документов | Начальный |
Добавить новые реквизиты в стандартные электронные документы | Начальный |
Описать условия заполнения реквизитов электронных документов | Средний |
Описать условия формирования пакета документов | Средний |
Добавить к пакету документов неформализованный xls или pdf документ сформированный из макета документа 1С | Средний |
Загрузка документов | |
Определить какие электронные документы можно загружать в 1С | Средний |
Определить какие документы 1С можно создать из электронного документа | Средний |
Определить какие реквизиты документа 1С будут заполнены | Начальный |
Описать условия заполнения реквизитов документа 1С | Средний
} Состав обработкиОбработка состоит из одного файла:
Файл обработки при запуске распаковывает на диск:
Обработка может быть дополнена пользовательской обработкой ВнешниеФункции_Клиент.epf. Основные принципы настройки
Первый запуск обработки
В результате на обработке появятся вкладки «Реализация», «Оказание услуг», «Взаиморасчеты», «Поступление» (или часть из них в зависимости от типа и версии конфигурации). Если конфигурация клиента нестандартная в Служебных сообщениях появится список ошибок – говорящих о том, что в базе данных нет каких-то полей или они заданы неверно.
Структура файла настроекИмя файлаНазвание файла складывается из: • Префикс «СБиС_коннектор_» • Названия технологии работы с документами («Взаиморасчеты», «Реализация», «ОказаниеУслуг», «Поступление») • Суффикс, обозначающий особенности конкретного ini файла («Кор», «АктПроизУсл»). Суффикс не всегда присутствует в названии. • Постфикс – добавляется к имени файла, если типовой ini-файл изменяется под пользовательскую конфигурацию. Ini-файлов, относящихся к определенной технологии, может быть несколько, например: СБиС_коннектор_Реализация.ini, СБиС_коннектор_РеализацияАктПроизУсл.ini, СБиС_коннектор_РеализацияКор.ini. Таким образом, если, например, документы реализации клиента хранятся в нескольких реестрах, все они будут выведены на вкладку «Реализация». Структура файлаКаждая строка ini-файла представляет собой следующую конструкцию: ИмяПеременной = ЗначениеПеременной // Комментарий Комментарий может быть пустым, но два слеша, отделяющих его, должны обязательно присутствовать. Переменные могут определяться следующими способами. Прямое обращение к данным из базыРеализация = Документ.РеализацияТоваровУслуг Реализация – предопределенная переменная, используемая в коде обработки Документ.РеализацияТоваровУслуг – обращение к данным из базы Обращение к данным через ранее определенную переменнуюРеализацияКомментарий = [Реализация].Комментарий [Реализация] – использование ранее предопределенной переменной Выбор документов (запрос к базе)Выбор документов из базы выполняется с помощью запроса. Текст запроса прописывается в переменную «ТекстЗапроса», например: ТекстЗапроса = " ВЫБРАТЬ Документ.РеализацияТоваровУслуг.Ссылка КАК Реализация, Документ.РеализацияТоваровУслуг.Дата, Документ.РеализацияТоваровУслуг.Номер, Документ.РеализацияТоваровУслуг.Контрагент КАК Контрагент, Документ.РеализацияТоваровУслуг.СуммаДокумента КАК Сумма, СвязьДокументов.Ссылка КАК СчетФактура ИЗ Документ.РеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ ( ВЫБРАТЬ Документ.СчетФактураВыданный.ДокументыОснования.Ссылка, Документ.СчетФактураВыданный.ДокументыОснования.ДокументОснование ИЗ Документ.СчетФактураВыданный.ДокументыОснования ГДЕ Документ.СчетФактураВыданный.ДокументыОснования.Ссылка.Проведен = ИСТИНА) КАК СвязьДокументов ПО Документ.РеализацияТоваровУслуг.Ссылка = СвязьДокументов.ДокументОснование ГДЕ (Документ.РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон) И (Документ.РеализацияТоваровУслуг.Проведен = ИСТИНА) И ( (Документ.РеализацияТоваровУслуг.Контрагент = &Контрагент) ИЛИ (НЕ &ЗначениеКонтрагентЗаполнено)) УПОРЯДОЧИТЬ ПО СчетФактура, Документ.РеализацияТоваровУслуг.Дата" // Текст запроса для реализации Текст запроса формируется по правилам 1С. Назначения блоков: • «ИЗ» - таблица, из которой выбираются данные • «ВЫБРАТЬ» - выбираемые поля • «ГДЕ» - условие выбора • «КАК» - присвоение логического имени для более простой адресации • «УПОРЯДОЧИТЬ ПО» - правила сортировки Результатом запроса является таблица, поля который должны соответствовать таблице, получаемой запросом из типового ini-файла (например, Контрагента нельзя переименовывать в Клиента). Обращение к данным через функцию, описанную в обработкеКонтрагентРасчСчет = {ВозвратБанковскихРеквизитов(Контрагент,'Контрагенты','НомерСчета')} Функция описана в модуле внешней обработки. ВозвратБанковскихРеквизитов — имя функции; Контрагент — ранее определенная переменная 'Контрагенты' — строковая константа НовыйАдресКонтрагента = {СоздатьАдрес(*)} Параметр * - говорит о том, что функция содержит стандартный набор параметров и их менять НЕЛЬЗЯ. Текст функций формируется по правилам 1С. Обращение к данным через функцию, описанную в обработке ВнешниеФункции_Клиент.epfПри необходимости переопределения каких-то переменных через новую функцию создается внешний обработчик "ВнешниеФункции_Клиент.epf" и в нем описываются пользовательские функции. При этом в ini-файле перед именем функции мы пишем «ВО.» КонтрагентТелефоны = {ВО.сбисПолучитьТелефон(Контрагент,'Контрагента')} // Файл "ВнешниеФункции_Клиент.epf" должен находиться в каталоге настроек, указанном на вкладке «Настройка». Обращение к данным через формулу РеализацияСуммаВключаетНДС = ^Истина Истина — логическое выражение. *Выражение может быть логическим и математическим. Число является частным случаем формулы Обращение к данным через строковые константыНашаОрганизацияПодписант = 'Петров Сергей Сергеевич' * пустая строка вида говорит, что эти данные не ведутся. Особые переменные, участвующие в условиях: Переменные: КонтрагентЮрФизЛицо, ГрузополучательЮрФизЛицо, ГрузоотправительЮрФизЛицо, НашаОрганизацияЮрФизЛицо — участвуют в условиях, описанных в обработчике при записи в файл реквизитов участников обмена, и должны иметь вид «Физ. лицо» или «Юр. лицо». Если представление в конфигурации не соответствует этому виду, то переменные необходимо переопределить через внешнюю функцию. НастройкаЕсли при запуске обработка выводит ошибки – берем в качестве базы типовой ini файл, изменяем название под клиента, настраиваем. Если ошибок несколько, то начинаем исправлять их по-одной. Возможно, при исправлении значения одной переменной, другие ошибки пропадут сами, т.к. переменные связаны между собой. После исправления ошибки перевыбираем каталог настроек в обработке и смотрим, остались ли еще ошибки. И так далее, пока не будут исправлены все ошибки. В конфигурации поля названы по-другомуДиагностикаПри этом в ini файле указана строка: Реализация = Документ.АктОбОказанииПроизводственныхУслуг // Документ реализация товаров и услуг РеализацияСуммаДокумента = [Реализация].Сумма Т.о., мы понимаем, что в БД у документа АктОбОказанииПроизводственныхУслуг нет поля Сумма РешениеОткрываем конфигурации в конфигураторе 1С (Конфигуратор/Верхнее меню/Конфигурация/Открыть конфигурацию) В открывшемся окне на Документе/АктОбОказанииПроизводственныхУслуг/Реквизиты видим, что поле называется «СуммаДокумента» Изменяем пользовательский файл настроек ... имя файла
В конфигурации поля хранятся по-другомуДиагностикаПри этом в ini файле указано:
РешениеОткрываем конфигурацию В открывшемся окне в табличной части Товары документа РеализацияТоваровУслуг ничего похожего на НомерГТД не видим Спрашиваем у клиента или смотрим в печатной форме откуда берется данное значение. В нашем примере номер ГТД хранился не документе реализации, а в справочнике Номенклатуры. так как наименование табличной части реализации уже берет часть данных в справочника номенклатуры, нам остается только переопределить параметр на новый источник данных.
В конфигурации другие значения перечисленийДиагностикаВ данном случае обработка может не выдать никаких ошибок, но файл сформируется неправильно. Увидеть это можно, открыв выгруженный файл (при настройке нужно обязательно это сделать) . Как уже говорилось в разделе «Структура ini файла» существуют особые переменные (КонтрагентЮрФизЛицо, ГрузополучательЮрФизЛицо, ГрузоотправительЮрФизЛицо, НашаОрганизацияЮрФизЛицо), от которых зависит формирование в выгружаемом файле сведений об участниках обмена, то есть сформируются сведения о юридическом лице, либо о физическом. Если обработка не выдала никаких ошибок, а в выгруженном файле мы видим, что данные об организации (юридическом лице) записались как реквизиты физического лица: <РегСвед> <СведФЛ ИННФЛ="4908962257"> <ФИО Фамилия="ООО" Фамилия="Солнышко"> При этом в ini файле указана строка: НашаОрганизацияЮрФизЛицо = [НашаОрганизация].ЮрФизЛицо Т.о. мы понимаем, что в БД в справочнике Организации реквизит ЮрФизЛицо не принимает значение «Юр. лицо» Решение
В файле ВнешниеФункции_Клиент.epf описываем функцию: Функция ТипЛица(Организация) Экспорт Если Организация.ЮрФизЛицо = Перечисления.ЮрФизЛицо.Организация Тогда возврат "Юр. лицо" иначе возврат "Физ. лицо" конецЕсли КонецФункции И соответственно в ini-файле вместо НашаОрганизацияЮрФизЛицо = [НашаОрганизация].ЮрФизЛицо пишем НашаОрганизацияЮрФизЛицо = {ВО.ТипЛица(НашаОрганизация)} Файл ВнешниеФункции_Клиент.epf необходимо положить в каталог конфигурации (где лежат стандартные ini файлы и стандартные Внешние функции) Документы хранятся в нестандартном реестреДиагностикаМожет быть выдано сообщение «Запрос построен неверно» или даже без сообщений об ошибках в реестр обработки не будут попадать нужные документы. РешениеКорректируем текст запроса к БД В разделе «ИЗ» и других разделах указываем название нужного реестра документов, например, вместо типового реестра «РеализацияТоваровУслуг» указываем реестр «РеализацияТоваров» Название реестра берем из описания конфигурации, как открыть описание – см. предыдущий раздел. |