{
    "module": "pipicar",
    "name": "pipicar.auto",
    "type": "crud",
    "title": "Автомобили",
    "data": {
        "table": "auto",
        "pk": "id",
        "limit": 25,
        "sort_order": "asc",
        "sort_field": "code",
        "segment": true,
        "timestamp": false,
        "fields": {
            "id": {
                "type": "pk"
            },
            "code": {
                "type": "string",
                "validation": "required"
            },
            "name_ru": {
                "type": "text"
            },
            "name_kz": {
                "type": "text"
            },
            "account_type": {
                "type": "foreign",
                "table": "ref_base_group",
                "foreign": "id",
                "display": [
                    "data_name_{lk}"
                ],
                "where": "data_type = 'T01'"
            },
            "article_source": {
                "type": "string",
                "validation": "nullable"
            },
            "element_source": {
                "type": "string",
                "validation": "nullable"
            },
            "mo_num": {
                "type": "int",
                "validation": "nullable|integer"
            },
            "used_by_documents": {
                "type": "bool",
                "validation": "nullable"
            },
            "used_by_system": {
                "type": "bool",
                "validation": "nullable"
            },
            "type_of_organization": {
                "type": "foreign",
                "table": "ref_property_types",
                "foreign": "id",
                "display": [
                    "value",
                    "name"
                ],
                "validation": "nullable|int",
                "label": "Тип собственности"
            },
            "accounts_plan_part": {
                "type": "foreign",
                "table": "ref_accounts_plan_part",
                "foreign": "id",
                "display": [
                    "code",
                    "name_{lk}"
                ],
                "validation": "nullable|string",
                "label": "Раздел плана счетов"
            },
            "accounts_plan_particle": {
                "type": "foreign",
                "table": "ref_accounts_plan_particle",
                "foreign": "id",
                "display": [
                    "code",
                    "name_{lk}"
                ],
                "validation": "required|string",
                "label": "Подраздел плана счетов"
            },
            "started_at": {
                "type": "date",
                "validation": "required|date"
            },
            "ended_at": {
                "type": "date",
                "validation": "nullable|date"
            },
            "whitespace": {
                "type": "virtual"
            }
        }
    },
    "ui": {
        "grid": {
            "title": "План счетов",
            "template": "app.base.crud.grid",
            "cols": [
                {
                    "name": "code",
                    "caption": "Счёт"
                },
                {
                    "name": "name_kz",
                    "caption": "Наименование на казахском"
                },
                {
                    "name": "name_ru",
                    "caption": "Наименование на русском"
                },
                {
                    "name": "account_type",
                    "caption": "Тип счёта"
                },
                {
                    "name": "used_by_documents",
                    "caption": "Исп. в первич. док-тах"
                },
                {
                    "name": "used_by_system",
                    "caption": "Исп. системой"
                },
                {
                    "name": "accounts_plan_particle",
                    "caption": "Подраздел плана счетов"
                },
                {
                    "name": "type_of_organization",
                    "caption": "Тип плана счетов"
                },
                {
                    "name": "started_at",
                    "caption": "Дата начала действия"
                },
                {
                    "name": "ended_at",
                    "caption": "Дата окончания действия"
                },
                {
                    "name": "id",
                    "caption": "ИД"
                }
            ],
            "action": {
                "head": [
                    "add"
                ]
            },
            "filter": {
                "template": "app.base.crud.filter",
                "rows": [
                    {
                        "cols": [
                            {
                                "size": 1,
                                "input": {
                                    "name": "code",
                                    "label": "Cчёт"
                                }
                            },
                            {
                                "size": 3,
                                "input": {
                                    "name": "account_type",
                                    "label": "Тип счёта"
                                }
                            },
                            {
                                "size": 1,
                                "input": {
                                    "name": "mo_num",
                                    "label": "МО №"
                                }
                            },
                            {
                                "size": 1,
                                "input": {
                                    "name": "id",
                                    "label": "ИД"
                                }
                            },
                            {
                                "size": 3,
                                "input": {
                                    "name": "used_by_documents",
                                    "label": "Исп. только в первич. документах"
                                }
                            },
                            {
                                "size": 3,
                                "input": {
                                    "name": "used_by_system",
                                    "label": "Исп. только системой"
                                }
                            }
                        ]
                    },
                    {
                        "cols": [
                            {
                                "size": 6,
                                "input": {
                                    "name": "name_kz",
                                    "label": "Наименование на казахском"
                                }
                            },
                            {
                                "size": 6,
                                "input": {
                                    "name": "name_ru",
                                    "label": "Наименование на русском"
                                }
                            },
                            {
                                "size": 4,
                                "input": {
                                    "name": "accounts_plan_particle",
                                    "label": "Подраздел плана счетов"
                                }
                            },
                            {
                                "size": 4,
                                "input": {
                                    "name": "accounts_plan_part",
                                    "label": "Раздел плана счетов"
                                }
                            },
                            {
                                "size": 4,
                                "input": {
                                    "name": "type_of_organization",
                                    "label": "Тип плана счетов"
                                }
                            },
                            {
                                "size": 4,
                                "input": {
                                    "name": "started_at",
                                    "label": "Дата начала действия"
                                }
                            },
                            {
                                "size": 4,
                                "input": {
                                    "name": "ended_at",
                                    "label": "Дата окончания действия"
                                }
                            }
                        ]
                    }
                ]
            }
        },
        "forms": {
            "add": {
                "title": "Добавление записи в справочник \"План счетов\"",
                "template": "app.base.crud.form",
                "form": {
                    "inject_component": [
                        "Js.Refs.AccountsPlan"
                    ],
                    "submits": "struct:accounting.form.edit.submits",
                    "rows": [
                        {
                            "cols": [
                                {
                                    "size": 2,
                                    "input": {
                                        "name": "code",
                                        "label": "Cчёт"
                                    }
                                },
                                {
                                    "size": 2,
                                    "input": {
                                        "name": "mo_num",
                                        "label": "МО №"
                                    }
                                },
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "started_at",
                                        "label": "Дата начала действия"
                                    }
                                },
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "ended_at",
                                        "label": "Дата окончания действия"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "type_of_organization",
                                        "label": "Тип плана счетов",
                                        "readonly": true
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "accounts_plan_part",
                                        "label": "Раздел плана счетов",
                                        "readonly": true
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "accounts_plan_particle",
                                        "label": "Подраздел плана счетов",
                                        "js_event": {
                                            "onchange": "accountPlanParticleChange"
                                        }
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "name_kz",
                                        "label": "Наименование на казахском"
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "name_ru",
                                        "label": "Наименование на русском"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "account_type",
                                        "label": "Тип счёта"
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "article_source",
                                        "label": "Источник статьи"
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "element_source",
                                        "label": "Источник элемента"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "used_by_documents",
                                        "label": "Используется только в первичных документах"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "used_by_system",
                                        "label": "Используется только системой"
                                    }
                                }
                            ]
                        }
                    ]
                }
            },
            "edit": {
                "title": "Редактирование записи в справочнике \"План счетов\"",
                "template": "app.base.crud.form",
                "form": {
                    "inject_component": [
                        "Js.Refs.AccountsPlan"
                    ],
                    "rows": [
                        {
                            "cols": [
                                {
                                    "size": 2,
                                    "input": {
                                        "name": "code",
                                        "label": "Cчёт"
                                    }
                                },
                                {
                                    "size": 2,
                                    "input": {
                                        "name": "mo_num",
                                        "label": "МО №"
                                    }
                                },
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "started_at",
                                        "label": "Дата начала действия"
                                    }
                                },
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "ended_at",
                                        "label": "Дата окончания действия"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "type_of_organization",
                                        "label": "Тип плана счетов",
                                        "readonly": true
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "accounts_plan_part",
                                        "label": "Раздел плана счетов",
                                        "readonly": true
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "accounts_plan_particle",
                                        "label": "Подраздел плана счетов",
                                        "js_event": {
                                            "onchange": "accountPlanParticleChange"
                                        }
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "name_kz",
                                        "label": "Наименование на казахском"
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "name_ru",
                                        "label": "Наименование на русском"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 4,
                                    "input": {
                                        "name": "account_type",
                                        "label": "Тип счёта"
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "article_source",
                                        "label": "Источник статьи"
                                    }
                                },
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "element_source",
                                        "label": "Источник элемента"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "used_by_documents",
                                        "label": "Используется только в первичных документах"
                                    }
                                }
                            ]
                        },
                        {
                            "cols": [
                                {
                                    "size": 12,
                                    "input": {
                                        "name": "used_by_system",
                                        "label": "Используется только системой"
                                    }
                                }
                            ]
                        }
                    ],
                    "submits": "struct:accounting.form.edit.submits"
                }
            }
        }
    },
    "actions": "struct:crud.actions"
}
