package conf import ( "my/schet/pkg/input/config" "my/schet/pkg/lib" "my/schet/pkg/schet" "github.com/yosuke-furukawa/json5/encoding/json5" ) type Conf struct { path string config *config.Config год *schet.Год } func NewConf(path string) *Conf { c := &Conf{ config: config.NewConfig(), path: path, } return c } func (c *Conf) Загрузить(год *schet.Год) error { c.год = год err := c.считать() if err != nil { return err } return c.загрузить() } func (c *Conf) загрузить() error { err := c.год.ЗадатьСчёт(c.config.НомерСчёта) if err != nil { return err } err = c.год.ЗадатьОКТМО(c.config.OKTMO) if err != nil { return err } for _, d := range c.config.Действия { err := c.год.Сделать(d.Цель, d.Квартал) if err != nil { return err } } return nil } func (c *Conf) считать() error { data, err := lib.ReadFile(c.path) if err != nil { return err } return json5.Unmarshal([]byte(data), c.config) }