Class FnsFileGenerator
java.lang.Object
ru.bitel.bgbilling.plugins.edo.server.bean.bill.FnsFileGenerator
- All Implemented Interfaces:
EdoBillFileGenerator
[Абстрактный класс хелпер для реализации в динкоде, который генерит формализованный документ, т.е. надстройка над
низкоуровневым EdoBillFileGenerator, упрощающая написание динкода для формирования документов]
По сути это для генерации "формализованных документов", но в нашей системе это можно прикрутить только к bill,
из остальных мест можно слать бинарники с более общей обвязкой. Потому это является частью интеграции с bill.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Connectionprotected EdoBillContextprotected ContragentInfosprotected BillDocprotected EdoManagerprotected ScriptUtilsprotected Document -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected FnsFileGenerator.АдресСтруктураgetAddress(String valueFrom, String addressFromContragentInfos) Варианты задания адреса: # [либо] адресный параметр договора => сгенерится адрес разбитый на поля Адрес=pid:адресный # [либо] адрес строка, константа или текстовый параметр или адресный (возьмётся текстовое представление), # КодСтр/НаимСтран по дефолту российскиеprotected Contractabstract EdoFnsXmlSerializerЭто надо в динкоде шаблона переопределить, чтобы вернуть структуру которая тут уже сумеет сериализоватьсяvoidinit(Setup setup, Connection con, int __, int billModuleId, ModuleSetup billModuleSetup, EdoBillContext context, BillDoc doc, ContragentInfos contragentInfos) protected Stringprotected StringВзять значение по переданному коду параметра; Расширяет общий метод process_value.protected StringСначала ищется значение, если нет, то дефолтное значение.protected Stringvalue_oneof_req(String nameParam1, String nameParam2) Сначала ищется первое значение, потом второе.protected StringВерсПрог()Значение ВерсПрог для многих документовprotected Stringprotected Stringprotected EdoFnsXmlSerializer.SТекстИнфТип(String id, String val) protected EdoFnsXmlSerializer.SMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ru.bitel.bgbilling.plugins.edo.server.bean.bill.EdoBillFileGenerator
getFileName
-
Field Details
-
con
-
doc
-
xml
-
scriptUtils
-
context
-
contragentInfos
-
edoManager
-
-
Constructor Details
-
FnsFileGenerator
public FnsFileGenerator()
-
-
Method Details
-
init
public void init(Setup setup, Connection con, int __, int billModuleId, ModuleSetup billModuleSetup, EdoBillContext context, BillDoc doc, ContragentInfos contragentInfos) throws Exception - Specified by:
initin interfaceEdoBillFileGenerator- Parameters:
setup- сетап сервераcon- коннекшенbillModuleId- mid конкретного экземпляра модуля bill откуда выгрузкаbillModuleSetup- сетап модуля billcontext- контекст для этого генератора (из конфига документа+подписанта итд)doc- BillDoc счёта/счётфактуры соответствующегоcontragentInfos- инфа о контрагенте-участнике-эдо с конкретным идентификатором- Throws:
Exception
-
getDocument
Это надо в динкоде шаблона переопределить, чтобы вернуть структуру которая тут уже сумеет сериализоваться- Throws:
ru.bitel.bgbilling.common.BGException
-
getFileContent
- Specified by:
getFileContentin interfaceEdoBillFileGenerator- Throws:
ru.bitel.bgbilling.common.BGException
-
getContract
- Throws:
ru.bitel.bgbilling.common.BGException
-
value
Взять значение по переданному коду параметра; Расширяет общий метод process_value. Дополнительные макросы откуда пытаться взять: bill_attr:inn - из реквизита модуля бухгалтерия;- Throws:
Exception- See Also:
-
value
- Throws:
Exception
-
value_oneof_req
Сначала ищется первое значение, потом второе. Обшая required=true. Просто частый кейс сначала взять перекрытого конфига потом общего.- Throws:
Exception
-
value_def
Сначала ищется значение, если нет, то дефолтное значение. (required=false для поиске в конфиге). Просто частый кейс сначала взять из конфига потом если не настраивали то дефолт (для почти понятных значений).- Throws:
Exception
-
ФИОТип
-
ДатаТип
-
ВремяТип
-
ТекстИнфТип
-
ВерсПрог
Значение ВерсПрог для многих документов -
getAddress
protected FnsFileGenerator.АдресСтруктура getAddress(String valueFrom, String addressFromContragentInfos) throws Exception Варианты задания адреса: # [либо] адресный параметр договора => сгенерится адрес разбитый на поля Адрес=pid:адресный # [либо] адрес строка, константа или текстовый параметр или адресный (возьмётся текстовое представление), # КодСтр/НаимСтран по дефолту российские. # => сгенерится адрес текстового вида #Адрес.КодСтр= #Адрес.НаимСтран= Адрес.АдрТекст=pid:текст # [либо] компонентами адреса, константы или текстовые параметры, можно ВДОБАВОК к варианту адресного параметра, # тогда компоненты добавяется к компонентам адреса из параметра. => сгенерится адрес разбитый на поля # важно: # .КодРегион обязательно надо задать, т.к. из адресного его взять негде # .НаселПункт если требуется в дополнение к городу - тоже надо задать отдельно. # .НаимРегион в ряде форм.документов тоже обязательный и надо задавать Адрес.Индекс=450000 Адрес.КодРегион=02 Адрес.НаимРегион=Республика Адрес.Район=Район Адрес.Город=Уфа Адрес.НаселПункт=Пригород Адрес.Улица=ул. Ленина Адрес.Дом=666 Адрес.Корпус=666 Адрес.Кварт=666 Адрес.ИныеСвед=... [фича] значение "contragent_info" для .АдрТекст берёт текстовое значение из переданного извне addressFromContragentInfos, это позволяет гибко управлять текстовым вариантом адреса. Параметры КодСтр/НаимСтран могут (вероятно) понадобиться в случае не-РФ и будут штатно работать в конфиге.- Throws:
Exception
-