Алгоритм загрузки документов через внешнюю обработку — различия между версиями
Строка 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С
- Перебирает список отмеченных записей
- По текущему разделу определяет форму для формирования структуры данных по пакету документов.
- В найденную форму в функцию ПодготовитьСтруктуруДокумента передает запись из списка и получает полную структуру пакета документов.
- Для каждого вложения проверяет возможность загрузки (функция ЗаполнитьДанныеДляЗагрузкиПоУмолчанию)
- Если вложение можно загрузить, то рассчитывает вес вложения (по весу определяется порядок загрузки вложений)
- Формирует упорядоченный состав пакета, в котором вложения лежат в том порядке, в котором должны загружаться
- Для каждого вложения из упорядоченного пакета определяет форму для создания документа по типу документа 1С, в который будет загружаться вложение
- Передает вложение в дальнейшую обработку
Раздел_[Название раздела]_Шаблон: ПодготовитьСтруктуруДокумента
- В зависимости от раздела вызывает метод формирующий структуру пакета:
- ПодготовитьСтруктуруДокумента1С - на основании документов 1С
- ПодготовитьСтруктуруДокументаСБИС - на основании XML файлов (при загрузке вызывается данная функция)
- Передает в дальнейшую обработку запись из списка
РаботаСДокументами1С: ПодготовитьСтруктуруДокументаСБИС
- Для каждого вложения пакета получает xml, добавляет его в структуру вложения.
- При наличии xslt по типу и версии вложения применяет его к полученному xml-файлу.
- Получает структуру файла, добавляет ее в структуру вложения.
- Ищет связанные документы 1С по идентификатору пакета и вложения, добавляет их в структуру вложения.
РаботаСДокументами1С: ЗаполнитьДанныеДляЗагрузкиПоУмолчанию
- Проверяет наличие файла настроек для загрузки вложения.
- Определяет тип документа 1С, в который будет загружаться вложение.
- Ищет организацию из вложения в справочнике организаций.
- Ищет контрагента из вложения в справочнике контрагентов.
- Проверяет, вся ли номенклатура сопоставлена.
Документ_[Тип загружаемого документа 1С]: СоздатьДокумент
- Если никакой специфики загрузки для данного типа документа 1С нет, то передает обработку в форму Документ_Шаблон.
Документ_Шаблон: СоздатьДокумент
- Вызывает функцию заполнения данных документа.
- Записывает статус и идентификаторы пакета и вложения для созданного документа.
Документ_Шаблон: ЗаполнитьДанныеДокумента1С
- Вызывает функцию формирования структуры данных документа.
- Вызывает функцию создания документа 1С по структуре данных.
- Ищет пользовательскую форму дополнительных расчетов при загрузке и при наличии
Документ_Шаблон: ЗаполнитьДаннымиСтруктурыФайлаСтруктуруДокумента
- Перебирает узлы файла настроек для загрузки документа и заполняет данные в структуре.
Документ_Шаблон: СоздатьДокументИзСтруктуры
- Перебирает поля структуры и записывает значения в одноименные реквизиты документа 1С.