package txt import ( "my/schet/pkg/delo_lib" "my/schet/pkg/input/config" "my/schet/pkg/schet" "strconv" ) type СтрокаДокумента struct { год *schet.Год parts []string дляДохода *config.Доход } func NewСтрокаДокумента(год *schet.Год, parts []string, дляДохода *config.Доход) *СтрокаДокумента { c := &СтрокаДокумента{ год: год, parts: parts, дляДохода: дляДохода, } return c } func (c *СтрокаДокумента) Заполнить() error { switch c.parts[0] { case "Сумма": сумма, err := strconv.ParseFloat(c.parts[1], 64) if err != nil { return err } c.дляДохода.Сумма = сумма case "Дата": квартал, err := delo_lib.ДатувКвартал(c.parts[1]) if err != nil { return err } c.дляДохода.Квартал = квартал case "ПолучательСчет": if c.parts[1] != c.год.Счёт() { return ErrНеподходящийДокумент } case "Плательщик1": c.дляДохода.Клиент = c.parts[1] } return nil }