pushking812 / accounting

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Приложение на Python. Предназначено для организации хранения связанных между собой данных. Для указанной задачи используется набор классов. Экземпляры классов имеют два основных свойства хранящих данные в виде словарей: свойство fields с конечными данные экземпляра и свойство subinstances содержащее список экземпляров классов связанных с данным экземпляром. Приложение имеет возможность сохранять и загружать данные хранящиеся в свойстве fields каждого класса в формате эксель (используя библиотеку openpyxl). Для сохранения связей с дочерними экземлярами хранящимися в свойстве subinstances, используется ключ 'id' свойства field, хранящий индивидуальный номер каждого экземпляра в пределах отдельного класса. При сохранении данных в файл, если файл не существует, то он создается. Для каждого класса создается отдельный лист с названием соответствующим названию класса. В таблицах листов сохраняются элементы словарей fields всех экземпляров соответствующего класса, где ключи словарей соответствуют названиям столбцов, а значения элементов словарей являются записями таблицы. Номер 'id' экземпляров классов хранящегося в subinstances сохраняется в столбце с названием класса хранящегося элемента с добавлением к названию постфикса '_instance'. При чтении из файла с листа соответствующего класса считывается данные его экземпляров. Для этого открывается лист с соответствующим классу названием, для каждой записи таблицы создается экземпляр класса и в его свойство fields сохраняются данные из столбцов с названиями без постфикса '_instance'.

About


Languages

Language:Python 100.0%