Алгоритм загрузки документов через внешнюю обработку — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
Строка 4: Строка 4:
 
# Передает в дальнейшую обработку список отмеченных записей.
 
# Передает в дальнейшую обработку список отмеченных записей.
  
=Документ_Шаблон: ЗагрузитьДокументыВ1С=
+
==Документ_Шаблон: ЗагрузитьДокументыВ1С==
 
# Перебирает список отмеченных записей  
 
# Перебирает список отмеченных записей  
 
# По текущему разделу определяет форму для формирования структуры данных по пакету документов.  
 
# По текущему разделу определяет форму для формирования структуры данных по пакету документов.  
Строка 14: Строка 14:
 
# Передает вложение в дальнейшую обработку
 
# Передает вложение в дальнейшую обработку
  
==Раздел_[Название раздела]_Шаблон: ПодготовитьСтруктуруДокумента ==
+
===Раздел_[Название раздела]_Шаблон: ПодготовитьСтруктуруДокумента===
 
# В зависимости от раздела вызывает метод формирующий структуру пакета:
 
# В зависимости от раздела вызывает метод формирующий структуру пакета:
 
## ПодготовитьСтруктуруДокумента1С - на основании документов 1С
 
## ПодготовитьСтруктуруДокумента1С - на основании документов 1С
Строка 20: Строка 20:
 
# Передает в дальнейшую обработку запись из списка
 
# Передает в дальнейшую обработку запись из списка
  
=== РаботаСДокументами1С: ПодготовитьСтруктуруДокументаСБИС ===
+
====РаботаСДокументами1С: ПодготовитьСтруктуруДокументаСБИС====
 
# Для каждого вложения пакета получает xml, добавляет его в структуру вложения.
 
# Для каждого вложения пакета получает xml, добавляет его в структуру вложения.
 
# При наличии xslt по типу и версии вложения применяет его к полученному xml-файлу.
 
# При наличии xslt по типу и версии вложения применяет его к полученному xml-файлу.
Строка 26: Строка 26:
 
# Ищет связанные документы 1С по идентификатору пакета и вложения, добавляет их в структуру вложения.
 
# Ищет связанные документы 1С по идентификатору пакета и вложения, добавляет их в структуру вложения.
  
== РаботаСДокументами1С: ЗаполнитьДанныеДляЗагрузкиПоУмолчанию===
+
=== РаботаСДокументами1С: ЗаполнитьДанныеДляЗагрузкиПоУмолчанию===
 
# Проверяет наличие файла настроек для загрузки вложения.
 
# Проверяет наличие файла настроек для загрузки вложения.
 
# Определяет тип документа 1С, в который будет загружаться вложение.
 
# Определяет тип документа 1С, в который будет загружаться вложение.
Строка 34: Строка 34:
  
  
== Документ_[Тип загружаемого документа 1С]: СоздатьДокумент==
+
=== Документ_[Тип загружаемого документа 1С]: СоздатьДокумент===
 
# Если никакой специфики загрузки для данного типа документа 1С нет, то передает обработку в форму Документ_Шаблон.
 
# Если никакой специфики загрузки для данного типа документа 1С нет, то передает обработку в форму Документ_Шаблон.
  
=== Документ_Шаблон: СоздатьДокумент===
+
==== Документ_Шаблон: СоздатьДокумент====
 
# Вызывает функцию заполнения данных документа.
 
# Вызывает функцию заполнения данных документа.
 
# Записывает статус и идентификаторы пакета и вложения для созданного документа.
 
# Записывает статус и идентификаторы пакета и вложения для созданного документа.
  
  
==== Документ_Шаблон: ЗаполнитьДанныеДокумента1С====
+
===== Документ_Шаблон: ЗаполнитьДанныеДокумента1С=====
 
# Вызывает функцию формирования структуры данных документа.
 
# Вызывает функцию формирования структуры данных документа.
 
# Вызывает функцию создания документа 1С по структуре данных.
 
# Вызывает функцию создания документа 1С по структуре данных.
Строка 48: Строка 48:
  
  
===== Документ_Шаблон: ЗаполнитьДаннымиСтруктурыФайлаСтруктуруДокумента=====
+
====== Документ_Шаблон: ЗаполнитьДаннымиСтруктурыФайлаСтруктуруДокумента======
 
# Перебирает узлы файла настроек для загрузки документа и заполняет данные в структуре.
 
# Перебирает узлы файла настроек для загрузки документа и заполняет данные в структуре.
  
===== Документ_Шаблон: СоздатьДокументИзСтруктуры=====
+
====== Документ_Шаблон: СоздатьДокументИзСтруктуры======
 
# Перебирает поля структуры и записывает значения в одноименные реквизиты документа 1С.
 
# Перебирает поля структуры и записывает значения в одноименные реквизиты документа 1С.
 
[[Категория:1С]]
 
[[Категория:1С]]

Версия 15:35, 24 августа 2015

Статья описывает алгоритм работы внешней обработки СБИС после нажатия кнопки "Загрузить в 1С" в одном из реестров раздела Полученные. Заголовки содержат название формы и название метода, последовательность заголовков соответствует порядку вызова этих методов.

ФормаГлавноеОкно: ЗагрузитьВ1С

  1. Получает список отмеченных записей текущего реестра.
  2. Передает в дальнейшую обработку список отмеченных записей.

Документ_Шаблон: ЗагрузитьДокументыВ1С

  1. Перебирает список отмеченных записей
  2. По текущему разделу определяет форму для формирования структуры данных по пакету документов.
  3. В найденную форму в функцию ПодготовитьСтруктуруДокумента передает запись из списка и получает полную структуру пакета документов.
  4. Для каждого вложения проверяет возможность загрузки (функция ЗаполнитьДанныеДляЗагрузкиПоУмолчанию)
  5. Если вложение можно загрузить, то рассчитывает вес вложения (по весу определяется порядок загрузки вложений)
  6. Формирует упорядоченный состав пакета, в котором вложения лежат в том порядке, в котором должны загружаться
  7. Для каждого вложения из упорядоченного пакета определяет форму для создания документа по типу документа 1С, в который будет загружаться вложение
  8. Передает вложение в дальнейшую обработку

Раздел_[Название раздела]_Шаблон: ПодготовитьСтруктуруДокумента

  1. В зависимости от раздела вызывает метод формирующий структуру пакета:
    1. ПодготовитьСтруктуруДокумента1С - на основании документов 1С
    2. ПодготовитьСтруктуруДокументаСБИС - на основании XML файлов (при загрузке вызывается данная функция)
  2. Передает в дальнейшую обработку запись из списка

РаботаСДокументами1С: ПодготовитьСтруктуруДокументаСБИС

  1. Для каждого вложения пакета получает xml, добавляет его в структуру вложения.
  2. При наличии xslt по типу и версии вложения применяет его к полученному xml-файлу.
  3. Получает структуру файла, добавляет ее в структуру вложения.
  4. Ищет связанные документы 1С по идентификатору пакета и вложения, добавляет их в структуру вложения.

РаботаСДокументами1С: ЗаполнитьДанныеДляЗагрузкиПоУмолчанию

  1. Проверяет наличие файла настроек для загрузки вложения.
  2. Определяет тип документа 1С, в который будет загружаться вложение.
  3. Ищет организацию из вложения в справочнике организаций.
  4. Ищет контрагента из вложения в справочнике контрагентов.
  5. Проверяет, вся ли номенклатура сопоставлена.


Документ_[Тип загружаемого документа 1С]: СоздатьДокумент

  1. Если никакой специфики загрузки для данного типа документа 1С нет, то передает обработку в форму Документ_Шаблон.

Документ_Шаблон: СоздатьДокумент

  1. Вызывает функцию заполнения данных документа.
  2. Записывает статус и идентификаторы пакета и вложения для созданного документа.


Документ_Шаблон: ЗаполнитьДанныеДокумента1С
  1. Вызывает функцию формирования структуры данных документа.
  2. Вызывает функцию создания документа 1С по структуре данных.
  3. Ищет пользовательскую форму дополнительных расчетов при загрузке и при наличии


Документ_Шаблон: ЗаполнитьДаннымиСтруктурыФайлаСтруктуруДокумента
  1. Перебирает узлы файла настроек для загрузки документа и заполняет данные в структуре.
Документ_Шаблон: СоздатьДокументИзСтруктуры
  1. Перебирает поля структуры и записывает значения в одноименные реквизиты документа 1С.