Documentation ¶
Overview ¶
Clbnk implements export/import operations with client bank.
Index ¶
- Constants
- func DocumentTypeValues() []string
- type Account
- type BankExport
- type BankExportDocument
- type BankImport
- type BankImportDocument
- type BankOrderDocument
- type DocumentType
- type EncodingType
- type FirmMarshaler
- type ImportFieldType
- type MarshalTime
- type Marshaler
- type PPDocument
- type PayType
- type Unmarshaler
Constants ¶
View Source
const ( HEADER = "1CClientBankExchange" EXCH_VERSION = "1.03" DEF_SENDER = "Бухгалтерия предприятия, редакция 3.0" FOOTER = "КонецФайла" ENCODING_WIN = "Windows" ENCODING_DOS = "DOS" DOCUMENT_TYPE_ID = "Банковский ордер" )
View Source
const ( ER_NO_ENC = "encoding not defined" ER_INVALID_FILE = "invalid file format" )
Some error texts.
Variables ¶
This section is empty.
Functions ¶
func DocumentTypeValues ¶
func DocumentTypeValues() []string
Types ¶
type BankExport ¶
type BankExport struct { Version string `bank:"ВерсияФормата"` EncodingType EncodingType `bank:"Кодировка"` Sender string `bank:"Отправитель"` CreateDate time.Time `bank:"ДатаСоздания"` CreateTime string `bank:"ВремяСоздания"` DateFrom time.Time `bank:"ДатаНачала"` DateTo time.Time `bank:"ДатаКонца"` DocumentTypes []DocumentType `bankElemStart:"Документ=" bankElemEnd:"\r\n"` Documents []BankExportDocument `bankElemStart:"СекцияДокумент\r\n" bankElemEnd:"КонецДокумента\r\n"` }
BankExport is the main structure for exporting bank documents.
func NewBankExport ¶
func NewBankExport(documents []BankExportDocument) *BankExport
func (*BankExport) Marshal ¶
func (e *BankExport) Marshal() ([]byte, error)
Marshal exports all documents.
type BankExportDocument ¶
type BankExportDocument interface { GetType() DocumentType GetDate() time.Time }
type BankImport ¶
type BankImport struct { Version string `bank:"ВерсияФормата"` EncodingType EncodingType `bank:"Кодировка"` Sender string `bank:"Отправитель"` CreateDate time.Time `bank:"ДатаСоздания"` CreateTime string `bank:"ВремяСоздания"` DateFrom time.Time `bank:"ДатаНачала"` DateTo time.Time `bank:"ДатаКонца"` Account string `bank:"РасчСчет"` AccSection []Account `bankElemStart:"СекцияРасчСчет" bankElemEnd:"КонецРасчСчет"` Documents []BankImportDocument `bankElemStart:"СекцияДокумент" bankElemEnd:"КонецДокумента"` }
BankExport is the main structure for exporting bank documents.
func NewBankImport ¶
func NewBankImport() *BankImport
func (*BankImport) Unmarshal ¶
func (e *BankImport) Unmarshal(data []byte) error
Unmarshal is the main entry point for importing data. It starts with identifying file encoding type and checking file header.
type BankImportDocument ¶
type BankImportDocument interface {
GetType() DocumentType
}
type BankOrderDocument ¶
type BankOrderDocument struct { Num int `bank:"Номер"` Date time.Time `bank:"Дата"` Sum float64 `bank:"Сумма"` ReceitDate time.Time `bank:"КвитанцияДата"` ReceitTime string `bank:"КвитанцияВремя"` ReceitComment string `bank:"КвитанцияСодержание"` // combined value Payer string `bank:"Плательщик"` PayerInn string `bank:"ПлательщикИНН"` PayerName string `bank:"Плательщик1"` Payer2 string `bank:"Плательщик2"` Payer3 string `bank:"Плательщик3"` Payer4 string `bank:"Плательщик4"` PayerAccount string `bank:"ПлательщикРасчСчет"` PayerBankName string `bank:"ПлательщикБанк1"` PayerBankPlace string `bank:"ПлательщикБанк2"` PayerBankBik string `bank:"ПлательщикБИК"` PayerBankAccount string `bank:"ПлательщикКорсчет"` Receiver string `bank:"Получатель"` ReceiverInn string `bank:"ПолучательИНН"` Receiver2 string `bank:"Получатель2"` Receiver3 string `bank:"Получатель3"` Receiver4 string `bank:"Получатель4"` ReceiverAccount string `bank:"ПолучательСчет"` ReceiverBankName string `bank:"ПолучательБанк1"` ReceiverBankPlace string `bank:"ПолучательБанк2"` ReceiverBankBik string `bank:"ПолучательБИК"` ReceiverBankAccount string `bank:"ПолучательКорсчет"` KreditDate time.Time `bank:"ДатаСписано"` DebetDate time.Time `bank:"ДатаПоступило"` PayType PayType `bank:"ВидПлатежа"` //вид платежа Code string `bank:"Код"` PayDirectCode string `bank:"КодНазПлатежа"` PayComment string `bank:"НазначениеПлатежа"` KBKValue string `bank:"ПоказательКБК"` OKATOValue string `bank:"ОКАТО"` OsnovanieValue string `bank:"ПоказательОснования"` PeriodValue string `bank:"ПоказательПериода"` NomerValue string `bank:"ПоказательНомера"` DateValue string `bank:"ПоказательДаты"` TipValue string `bank:"ПоказательТипа"` Order int `bank:"Очередность"` AcceptTerm string `bank:"СрокАкцепта"` AccredType string `bank:"ВидАккредитива"` PayTerm string `bank:"СрокПлатежа"` PayCond1 string `bank:"УсловиеОплаты1"` PayCond2 string `bank:"УсловиеОплаты2"` PayCond3 string `bank:"УсловиеОплаты3"` SupplierOrderNum string `bank:"НомерСчетаПоставщика"` }
BankOrderDocument is an import document structure for DOCUMENT_TYPE_BANK_ORDER.
func (*BankOrderDocument) GetType ¶
func (d *BankOrderDocument) GetType() DocumentType
type DocumentType ¶
type DocumentType int
DocumentType
const ( DOCUMENT_TYPE_PP DocumentType = iota DOCUMENT_TYPE_BANK_ORDER )
func (DocumentType) Marshal ¶
func (d DocumentType) Marshal() ([]byte, error)
type EncodingType ¶
type EncodingType int
const ( ENCODING_TYPE_WIN EncodingType = iota ENCODING_TYPE_DOS ENCODING_TYPE_NOT_DEFINED )
func (EncodingType) Marshal ¶
func (e EncodingType) Marshal() ([]byte, error)
func (*EncodingType) Unmarshal ¶
func (e *EncodingType) Unmarshal(data string) error
type FirmMarshaler ¶
type ImportFieldType ¶
type ImportFieldType int
const ( FIELD_TYPE_FIELD ImportFieldType = iota FIELD_TYPE_ELEM_START FIELD_TYPE_ELEM_END )
Import field types: ordinary field, start of a slice elentnt, end of a slice element.
type MarshalTime ¶
type PPDocument ¶
type PPDocument struct { Num int `bank:"Номер"` Date time.Time `bank:"Дата"` Sum float64 `bank:"Сумма"` // Payer Payer // Receiver Receiver Payer string `bank:"Плательщик"` PayerInn string `bank:"ПлательщикИНН"` PayerName string `bank:"Плательщик1"` Payer2 string `bank:"Плательщик2"` Payer3 string `bank:"Плательщик3"` Payer4 string `bank:"Плательщик4"` PayerAccount string `bank:"ПлательщикРасчСчет"` PayerBankName string `bank:"ПлательщикБанк1"` PayerBankPlace string `bank:"ПлательщикБанк2"` PayerBankBik string `bank:"ПлательщикБИК"` PayerBankAccount string `bank:"ПлательщикКорсчет"` Receiver string `bank:"Получатель"` ReceiverInn string `bank:"ПолучательИНН"` ReceiverName string `bank:"Получатель1"` Receiver2 string `bank:"Получатель2"` Receiver3 string `bank:"Получатель3"` Receiver4 string `bank:"Получатель4"` ReceiverAccount string `bank:"ПолучательСчет"` ReceiverBankName string `bank:"ПолучательБанк1"` ReceiverBankPlace string `bank:"ПолучательБанк2"` ReceiverBankBik string `bank:"ПолучательБИК"` ReceiverBankAccount string `bank:"ПолучательКорсчет"` PayType PayType `bank:"ВидПлатежа"` //вид платежа OplType string `bank:"ВидОплаты"` //вид оплаты Order int `bank:"Очередность"` PayComment string `bank:"НазначениеПлатежа" lines:"6"` }
PPDocument is an export document structure for DOCUMENT_TYPE_PP.
func (*PPDocument) GetDate ¶
func (d *PPDocument) GetDate() time.Time
func (*PPDocument) GetType ¶
func (d *PPDocument) GetType() DocumentType
type Unmarshaler ¶
Unmarshaler is for structures with custom unmarshal functions.
Click to show internal directories.
Click to hide internal directories.