Git Product home page Git Product logo

mycompany's People

Contributors

alexkirkouski avatar alexlag3117 avatar alicetechwriter avatar crushby avatar danchanka avatar flood6068 avatar ichavchavadze avatar lemur-galago avatar pashalaz avatar prysmak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mycompany's Issues

Добавить логику контрагентов (партнеров)

Создать 2 конкретных класса Individual (Физическое лицо) и LegalEntity (Организация) и один абстрактный Partner (Контрагент), от которого они наследуются.

Сделать формы по вводу и редактированию. Также сделать диалоговую форму по выбору партнера. Все положить в 3 модуля : Individual, Company и Partner. Должны находиться в каталоге masterdata/partners.

Сделать изменения в визуальном отображении статусов

  • Перенести колонку со статусами вперед
  • Сделать цветовое выделение колонки со статусом (черновик - зеленый, к приемке - желтый, принят - белый как и был). В отгрузке в ожидании красным. Цвета не яркие, ближе к белому, чтобы не бросались в глаза. Выделение сделать как в списке документов, так и в самом документе.
  • Поставить на дату проведения SHOWIF, чтобы показывалась только в последнем статусе
  • Переименовать Дату отгрузки и Дату поступления (scheduledDate) в Планируемая дата
  • Сделать READONLY верхние галочки со статусами

Добавить логику операций и нумерации для поступлений на склад

Нужно создать отдельный модуль ReceiptOperation (рядом с Receipt). Там объявить новый класс ReceiptOperation (Операция) и добавить на него ссылку для документа поступления на склад. В нем задавать название, нумератор, местоположение для приемки по умолчанию.

Сделать автоматическую генерацию номера поступления.

Добавить логику списания товаров

Создать новый модуль Scrap, в котором сделать документ с классом Scrap. В нем должно быть только количество.

Добавить возможность добавлять списание на основе поступлений.

Добавить логику поступления на склад

Нужно создать новый модуль Receipt, который поместить в папку inventory/receipts

В нем создать документ Receipt со строками ReceiptLine. В шапке должна задаваться даты предполагаемой приемки (Scheduled date), склад, партнер, примечание.

В строках должен выбираться товар (Product), исходное количество (Initial Demand), принятое количество (Done).

Должны быть 3 статуса (черновик - Draft, к приемке - Ready, принят - Done). Сделать соответственно кнопки перехода по статусам внутри формы редактирования.

Добавить логику складов

Создать новый класс Склад (Stock) с формами просмотра и редактирования. Поместить в отдельный модуль Stock. Поместить в папку inventory.

Добавить логику подбора во все документы

Чтобы не копировать постоянно код, нужно создать в Doc метакод, который будет добавлять в документ вкладку Подбор. По аналогии с тем, как это описано в статье :
https://habr.com/ru/company/lsfusion/blog/464487/

Вкладку на формах называть search и объявлять их в отдельных модулях : ReceiptSearch, ShipmentSearch, BillSearch и InvoiceSearch. На вкладку вынести колонку с текущим остатком.

Перестроить навигатор в модуле накладных

Сделать вкладки :
Операции

  • Приходная накладная
  • Расходная накладная
  • Платежи
    Отчеты
  • Остатки по счетам
    Настройка
  • Все остальное

Во вкладке Склады настройки тоже перенести в конец

Добавить логику неактивности во все справочники

Нужно создать свойство archived 'Неактивный' для Item, LegalEntity и т.д. Соответственно, сделать свойство active 'Активный'. На всех формах с выбором товаров добавить по умолчанию FILTERGROUP на только активные записи.

Доработки в форме контрагентов

  • Убрать кнопку Добавить (пусть остаются 3 остальные кнопки)
  • В форме редактирования в списке счетов сделать 2 раздельные кнопки - добавить Кассу и добавить Банковский счет. На списке счетов вытянуть тип счета.
  • Вытянуть первой колонку для партнера с его типом (Физическое лицо, Организация или Компания)

Добавить логику складских проводок

Создать новый модуль InvLedger (в папке inventory/ledgers).

В нем сделать абстрактный класс InvLedger 'Регистр изменения остатка'. Добавить свойства :

  • Проведен (done).
  • Время (dateTime).
  • Склад (stock).
  • Товар (product).
  • Кол-во (quantity).

Посчитать текущий остаток и остаток на дату время.
Сделать форму текущих остатков (слева дерева, справа остатки по всем складам). Внизу движение по товару и складу. Вверху выбор склада.

По этому регистру провести ReceiptLine.

Реализовать логику инвойсов

Нужно создать отдельную папку верхнего уровня invoicing (с отдельным NAMESPACE Invoicing).

Добавить 2 типа документов : Bill (Счет) и Invoice (Накладная). Первый на приход, второй на расход. Поместить их в отдельные папки (bills и invoices).

Добавить возможность включать ограничение на то, что количество остатка не может быть меньше 0

Такое же ограничение добавить для доступного количества.
Эти ограничения должны включаться в зависимости от опции, установленной для конкретного склада (должно действовать также для всех складов, которые находятся ниже уровнем).

Реализовать логику инвентаризации

Создать в папке inventory модуль Adjustment. В нем документ Adjustment, в котором будет 2 количества : theoreticalQuantity и realQuantity. Там где расхождение, то провести разницу по InvLedger (создать 2 объекта через AGGR - InAdjustment и OutAdjustment).

Добавить сущность компания, которая будет наследоваться от организации

Объявить ее в отдельном модуле Company. Делать форму редактирования и просмотра списка пока не надо (будут использоваться стандартные формы для контрагента). Только нужно добавить кнопку + Компания на форме Контрагенты.

Добавить логику счетов

Создать 2 конкретных класса BankAccount (Банковский счет) и CashAccount (Касса) и один абстрактный Account (Счет). Создать формы просмотра accounts и редактирования account.

Под каждый класс отдельный модуль. Поместить в папку invoicing/accounts.

Добавить логику платежей

У платежа должны указываться счет с которого и счет на который. Также у платежа должна быть привязка к счету или к накладной (двумя отдельными свойствами). Добавить кнопку Register Payment по аналогии с Odoo.

Добавить логику номенклатуры

Создать категории (Category), у которой можно задать предка. Логика категорий должна быть в модуле Category.

Создать 2 конкретных класса Product (Товар) и Service (Услуга), а также один абстрактный класс Item (Номенклатура), от которого они наследуются. Номенклатура должна привязываться к категориям.

Каждый из классов объявляется в своем модуле. Пока делаются две формы : products со списком номенклатуры и product для редактирования номенклатуры.

Все модули должны быть в папке masterdata/items

Настроить навигатор в папке склад

Пусть будет папка Operations (Операции). В нее войдут Поступления и Отгрузки.
В папку Reporting пойдут Текущие остатки.
Папка Настройка будет содержать Склады и Операции.

Сделать, чтобы у товара можно было вводить несколько штрих-кодов

Сделать отдельный модуль Barcode, в котором будет класс Barcode, который ссылается на Item.

Переделать DATA свойство barcode из Item на вычисляемое (какой-то один из штрих-кодов). При вводе значения в это свойство автоматически создавать новый штрих-код, если ни одного нет.

Добавить логику истории для документов

Для этого вводится классы ReceiptHistory, который ссылается на Receipt.
В строке истории должны быть :

  • Время изменения
  • Пользователь
  • Тип (строка 100)
  • Описание TEXT

Сделать через метакод в Doc. Для каждого из документов добавить модуль вроде ReceiptHistory, который будет вызывать метакод из Doc. При изменении статусов документов писать соответствующую строку в историю. Историю выводить отдельной вкладкой (там где Строки и Подбор).

Добавить для налога понятие группа налога

Группа налога (TaxGroup) должен быть отдельным справочником. В форме по выбору налога при включении налога из одной группы нужно выключать налоги из всех других групп. То есть, если создать TaxGroup - VAT, и 2 налога VAT 10%, VAT 20%, то при выборе 10% должен сбрасываться 20%.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.