--TABLE РПО_НАЧ_АМОРТ FORWARD;
--TABLE РПО_НАЧ_АМОРТ_TR FORWARD;

--TABLE РПО_ДНФА FORWARD;

TABLE РПО_ВИДДОК FORWARD;
TABLE РПО_СТИЛИ FORWARD;
TABLE РПО_СТИЛЬ FORWARD;
TABLE РПО_ОТЧЕТЫ FORWARD;

TABLE КОМИССИЯ = "Картотека приемных комиссий"; ---------------------------------------------------------------
  ПРЕДСД       :STRING; --Должность председателя комиссии
  ПРЕДСФ       :STRING; --Фамилия председателя комиссии
  ОПИСАНИЕ    :STRING; --ОПИСАНИЕ 
  SUBTAB ЧЛЕНКОМ = "Перечень членов, входящий в комиссию";
    ЧЛЕНД :STRING; --Должность члена комиссии
    ЧЛЕНФ :STRING; --Фамилия члена комиссии
  ENDSUB;
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
ENDTAB;

TABLE РПО_СОЗДАТЬ_ИНВНОМ = "Конструктор инвентарных номеров";
  ЗАЩИТА       :BOOLEAN;
  НАИМЕН       :STRING;
  АКТИВНЫ      :BOOLEAN; --Признак активности
  USE_SEP      :BOOLEAN;
  STR_SEP      :STRING; --Комментарии не менять, они нужны для работы!
  ГР01         :BOOLEAN; --Код главы | 3 | ???
  ГР02         :BOOLEAN; --Код ФКР | 14 | ????.???????.???
  ГР03         :BOOLEAN; --Код счета | 3 | ???
  ГР04         :BOOLEAN; --Код субсчета | 2 | ??
  ГР05         :BOOLEAN; --Код источника финансирования | 1 | ?
  ГР80         :BOOLEAN; --Префикс | 20 |
  ГР90         :BOOLEAN; --Номер | 7 |
  СТР_ПРЕФИКС  :STRING(20);
  ДЛН_НОМЕР    :INTEGER;
  ОЧЕРЕДНОСТЬ  :STRING;
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
ENDTAB;
TABLE РПО_МЕСТОНФА = "Местонахождение НФА";
  ПОДРАЗ        :STRING; --Наименование подразделения
  CREATEDUSER   :STRING(50);
  MODIFIEDUSER  :STRING(50);
  КОД           :STRING; --Код аналитического учета
  СКЛАД         :BOOLEAN; --Признак склада
  ПОДРАЗДЕЛЕНИЕ :BOOLEAN; --Признак подразделения
  АДРЕС         :STRING; --Адрес склада
  ТЕЛЕФОН       :STRING(30); --Телефон склада
  ПРИМЕЧАНИЕ    :STRING;
  GROUPDOC      :РПО_МЕСТОНФА(ПОДРАЗ); --GroupAttr   :Integer;
  UNIQUE "КОД;GROUPDOC";
ENDTAB;

TABLE РПО_ВИДДОК = "виды документов";
  ПРИЗНАК      :STRING(63);
  ДОКУМЕНТ     :STRING; --наименование документа
  УЧЕТГОДА     :BOOLEAN;
  КАРТИМЯ      :STRING(40); --наименование картотеки для данного вида документов
  КАРТУСЛ      :STRING; --фильтр на картотеку для данного вида документа
  КАРТБЛН      :STRING(60); --бланк редактор документа
  КАРТБРО      :STRING(40); --броузер для выбора документа
  РОЛЬ         :STRING; --роль документа в учете
  РАЗРАБОТЧИК  :STRING(9); --код разработчика для справочника (РПО=Русспромоценка)
  ГРДОКНФА     :BOOLEAN; --по одному движению НФА можно сформировать несколько  таких документов(по каждому НФА или по каждому НФА с разбиением на количество)
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  КОДСПР       :STRING(9); --используется для формирования РПО_ДОК в разрезе справочников
  УСЛДОППРИЗН  :STRING(40);
  ПОЛЯИЗДОППРИЗН :STRING; --список полей через |, берется первое не пустое
  SUBTAB ДОППОЛЕ = "Список дополнительных полей";
    ПОЛЕ           :STRING; --имя поля
    ЗНАЧЕНИЕ       :STRING;
    ПОУМОЛЧАНИЮ    :BOOLEAN; --автозаполнение при создании нового документа
    ОБНОВИТЬ       :BOOLEAN; --перезапись
    ОБНОВИТЬФИЛЬТР :STRING; --перезапись документов с фильтром
  ENDSUB;
  CLOSEDMODFOB   :BOOLEAN;
  UNIQUE "ПРИЗНАК";
ENDTAB;


TABLE РПО_ДОК = "Регистрация документов";
  ДОКУМЕНТ     :STRING; --наименование документа
  ПРИЗНАК      :STRING(63); --Код=ВидДОК.НОМЕР или ВидДОК.ГОД.НОМЕР
  НОМЕР        :STRING(5); --порядковый номер с ведущими нулями
  ВИДДОК       :РПО_ВИДДОК; --вид документа
  ПОДДОК       :РПО_ДОК; --вид документа
  ДАТАРЕГ      :DATE;
  ГОД          :INTEGER;
  GROUPDOC     :РПО_ДОК(ДОКУМЕНТ); --GroupAttr   :Integer;
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  CLOSEDMODFOB :BOOLEAN;
  НОМЕРДОК     :STRING; --номер документа
  КОДСПР       :STRING(9); --используется для формирования РПО_ДОК в разрезе справочников
  ДОППРИЗН     :STRING; --признак
  ПОЛЕДОППРИЗН :STRING; --значение поля из картотеки признака
  UNIQUE "ПРИЗНАК";
ENDTAB;

TABLE РПО_РАЗМЕР = "Размеры";
  ПРИЗНАК      :STRING(10);
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  UNIQUE "ПРИЗНАК";
ENDTAB;

TABLE РПО_РОСТ = "Роста";
  ПРИЗНАК      :STRING(10);
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  UNIQUE "ПРИЗНАК";
ENDTAB;

TABLE РПО_ПОСТАВКА = "Поставки";
  ПРИЗНАК      :STRING;
  КОММЕНТ      :STRING;
  ММДД         :STRING(10);
  ГГ           :STRING(7);
  С1           :STRING;
  С2           :STRING;
  С3           :STRING;
  Д1           :DATE;
  Д2           :DATE;
  Д3           :DATE;
  Л1           :BOOLEAN;
  Л2           :BOOLEAN;
  Л3           :BOOLEAN;
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  UNIQUE "ПРИЗНАК;MODIFIEDUSER";
ENDTAB;

TABLE РПО_ОСНОВАНИЕ = "Основания";
  ОСН          :STRING; --Основание
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
ENDTAB;

TABLE РПО_СТИЛЬ = "Стили оформления";
  НАИМЕНОВАНИЕ              :STRING; --Наименование стиля
  МЕТОД_СТОЛБЕЦ_COLWIDTH    :INTEGER; --ширина столбца [0, означает что столбец скрыт (невидим)]
  МЕТОД_КЛЕТКА_CELLREADONLY :BOOLEAN; --Только для чтения
  SUBTAB МЕТОД_КЛЕТКА;
    ПАРАМЕТР :INTEGER; --КлеткаСтильШрифта, КлеткаРазмерШрифта, КлеткаЦветШрифта, КлеткаВыравнивание, КлеткаЦвет
    ЗНАЧЕНИЕ :INTEGER; --Значение для параметра
  ENDSUB;
  РАЗРАБОТЧИК               :STRING(9); --код разработчика для справочника (РПО=Русспромоценка)
  CREATEDUSER               :STRING;
  MODIFIEDUSER              :STRING;
ENDTAB;

TABLE РПО_СТИЛИ = "Стили оформления";
  НАИМЕНОВАНИЕ :STRING; --Наименование стиля
  SUBTAB СТИЛИ;
    МЕТОД    :STRING;
    ПАРАМЕТР :INTEGER;
    ЗНАЧЕНИЕ :STRING;
  ENDSUB;
  РАЗРАБОТЧИК  :STRING(9); --код разработчика для справочника (РПО=Русспромоценка)
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
ENDTAB;

TABLE РПО_ОТЧЕТЫ = "Настройки отчетов";
  CREATEDUSER     :STRING;
  MODIFIEDUSER    :STRING;
  ИМЯ             :STRING;
  ПЕРИОД          :INTEGER; --авторасчет Д1 и Д2
  Д1              :DATE; --начало включительно /startD
  Д2              :DATE; --конец не включая    /endD
  УСЛСЧЕТА        :STRING; --доп. условия на счета /accStr
  БАЛАНС          :BOOLEAN;
  ЗАБАЛАНС        :BOOLEAN;
  УСЛПРИЗН        :STRING; --доп. условия на аналитические признаки /anaStr
  УСЛПОКАЗ        :STRING; --доп. условия на показатель (РУБ КОЛ и т.п. через пробел)- пусто=базовая валюта
  УСЛЧИСЛО        :STRING; --доп. условия на расчетное значение для каждого показателя остатка оборота x>a x<b x=a x=b x=с
  УСЛНАСТРОКИ     :INTEGER; ---1-по свертке 0-по проводкам 1-по счетам 2-по корсчетам 3-по признакам 4-по времени 5 по валюте
  SUBTAB СТРОКИ;
    NN              :INTEGER; --порядковый номер столбца
    ИМЯ_КРАТКО      :STRING; --описание столбца
    ПОКАЗАТЬ        :BOOLEAN;
    ПОКАЗАТЕЛЬ      :INTEGER; ---1-функция по свертке 1-по счетам 2-по корсчетам 3-по признакам 4-по времени 5 по валюте
    ФУНКЦИЯ         :STRING;
    УСЛПОКАЗАТЕЛЯ   :STRING; --доп. условия на показатель (КОД ИМЯ)- пусто=базовая валюта
    ВЫВОДПОКАЗАТЕЛЯ :INTEGER; --0- в одной колонке по уровням, 1- каждый показатель в отдельной колонке
    ИМЯ_ПОЛНОЕ      :STRING; --описание столбца
    ТИП             :INTEGER; --Тип данных:0=Строка;1=Количество;2=Сумма;3=Дата
    ФОРМАТ          :STRING; --формат вывода
    ШИРИНА          :INTEGER;
    ПОЛЕ_ЗАПРОСА    :STRING; --данные проводки ЦЕНА,КОЛ,СУМ,КТ,ВД...
    СОРТИРОВКА      :BOOLEAN;
    Ф1              :STRING; --параметр функции
    Ф2              :STRING; --параметр функции
    Ф3              :STRING; --параметр функции
    Ф4              :STRING; --параметр функции
    Ф5              :STRING; --параметр функции
    Ф6              :STRING; --параметр функции
    Ф7              :STRING; --параметр функции
  ENDSUB;
  SUBTAB РАСЧЕТ;
    NN                  :INTEGER; --порядковый номер столбца
    ИМЯ_КРАТКО          :STRING; --описание столбца
    СПОСОБ              :STRING; --Ост1_Деб Ост1_Кре Ост1_Весь Обо_Деб Обо_Кре Обо_Весь Ост2_Деб Ост2_Кре Ост2_Весь
    УСЛПОКАЗАТЕЛЯ       :STRING; --доп. условия на показатель (РУБ КОЛ точность формат и т.п. через пробел)- пусто=базовая валюта
    ВЫВОДПОКАЗАТЕЛЯ     :INTEGER; --0- в одной колонке по уровням, 1- каждый показатель в отдельной колонке
    УСЛОВИЕ_НА_ЗНАЧЕНИЕ :STRING; --доп. условия на расчетное значение для каждого показателя остатка оборота x>a x<b x=a x=b x=с
    ИМЯ_ПОЛНОЕ          :STRING; --описание столбца
  ENDSUB;
  REPORT_LST_FILE :STRING; --путь к файлу импорта/экспорта
  REPORT_LST_NAME :STRING; --имя отчета в файле Report_lst_File
  SUBTAB REPORT_LST;
    REP_VAR :STRING; --переменная отчета
    REP_VAL :STRING; --значение переменной
  ENDSUB;
  КОД             :STRING;
  РАЗРАБОТЧИК     :STRING(9); --код разработчика для справочника (РПО=Русспромоценка)
  --------- Служебные поля -----------
  --GROUPDOC     :РПО_СТИЛИ(НАИМЕНОВАНИЕ); --GroupAttr   :Integer;
  GROUPDOC        :РПО_ОТЧЕТЫ(ИМЯ);
  CLOSEDMODFOB    :BOOLEAN;
  CURRENTRECORD   :РПО_ОТЧЕТЫ; --ссылка на текущий UKEY, вариант защиты записи от удаления для локальной версии при установленном флаге [проверка ссылочной целостности]
  GroupAttr       :INTEGER;
ENDTAB;


TABLE РПО_ОБНОВЛЕНИЯ = "РПО_ОБНОВЛЕНИЯ";
  ДАТОПЕР      :DATE; --Дата обновления
  ДАТОПЕР_РПО  :DATE; --Дата обновления РПО
  SUBTAB КАРТ;
    ФОРМАТ     :INTEGER; --ieCRD ieDBF
    ИМЯКАРТ    :STRING;
    ДАННЫЕ     :STRING; --путь и имя файла с данными
    МДАННЫЕ    :STRING; --имя макропеременной из ПБ (в итоге=МДАННЫЕ+ДАННЫЕ)
    ДЕЙСТВИЕ   :INTEGER; --дублЗаменить дублОбъединить дублДублировать дублПропустить
    УДАЛИТЬ    :BOOLEAN; --Обновить всю картотеку
    ПОЛЯЗАМЕНЫ :STRING; --список уникальных полей картотеки для вычисления UKEY заменяемых записей
    ФИЛЬТР     :STRING; --фильтр
  ENDSUB;
  SUBTAB ФАЙЛ;
    ИМЯОТКУДА :STRING;
    ОТКУДА    :STRING;
    МОТКУДА   :STRING;
    ИМЯКУДА   :STRING;
    КУДА      :STRING;
    МКУДА     :STRING;
    АРХИВ     :BOOLEAN;
  ENDSUB;
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  CLOSEDMODFOB :BOOLEAN;
ENDTAB;

TABLE SYS_RPO = "Системная картотека";
  КМНТ         :STRING; --описание настроек
  CREATEDUSER  :STRING;
  MODIFIEDUSER :STRING;
  BLANK        :STRING; --Имя бланка
  VARIABLE     :STRING; --Имя переменной
  VALUE        :STRING; --Значение переменной
  BEGINDATE    :DATE; --Дата начала периода (необязательное)
  ENDDATE      :DATE; --Дата конца периода (необязательное)
  BLANKVERSION :INTEGER; --Версия бланка (необязательное)
  VARVERSION   :INTEGER; --Версия переменной (необязательное)
  USERNAME     :STRING; --Имя пользователя (необязат., только для сетевой)
  SCHEMANAME   :STRING; --Схема доступа (необязат., только для сетевой)
  GROUPDOC     :SYS_RPO(BLANK); --Признак иерархической картотеки по полю бланка (необязат.)
ENDTAB;
TABLE РПО_ДНФА = "Описание операций по движению НФА";
  ДНФА               :STRING; --Требуется обновление от 26.05.2005
  ДНФАИМЯ            :STRING;
  НЕДЕЙСТВСПР        :STRING; --список скрытых(незадействованных) справочников [через(|)]
  НЕДЕЙСТВОСТ        :STRING; --список справочников по которым несчитаются остатки [через(|)]
  СВЕРТКАНОМПРОВОДКИ :STRING(18); --проводки учавствующие в свертке
  УСЛОСТНФА          :INTEGER; --0=расчет по виду операции (ДНФА.ПРИХ.* без проверки остатков)
  --1=расчет остатков и проверка до проводки
  --2=расчет остатков и проверка после проводки
  --3=расчет остатков и проверка до и после проводки
  --10=расчет по виду операции (ДНФА.ПРИХ.* без проверки остатков)
  --11=расчет остатков2 и проверка до проводки
  --12=расчет остатков2 и проверка после проводки
  --13=расчет остатков2 и проверка до и после проводки
  --20=расчет по виду операции (ДНФА.ПРИХ.* без проверки остатков)
  --21=расчет остатков и остатков2 и проверка до проводки
  --22=расчет остатков и остатков2 и проверка после проводки
  --23=расчет остатков и остатков2 и проверка до и после проводки
  УСЛОСТНФАДО        :INTEGER; --0=проверять и сумму и количество
  --1=проверять остаток суммы >=0 остатки
  --2=проверять остаток количества >=0 остатки
  --3=проверять остаток количества =1 остатки
  --10=проверять и сумму и количество остатки2
  --11=проверять остаток суммы >=0 остатки2
  --12=проверять остаток количества >=0 остатки2
  --13=проверять остаток количества =1 остатки2
  --20=проверять и сумму и количество остатки2 и остатки
  --21=проверять остаток суммы >=0 остатки2 и остатки
  --22=проверять остаток количества >=0 остатки2 и остатки
  --23=проверять остаток количества =1 остатки2 и остатки
  УСЛОСТНФАПОСЛЕ     :INTEGER; --0=проверять и сумму и количество остатки
  --1=проверять остаток суммы >=0 остатки
  --2=проверять остаток количества >=0 остатки
  --3=проверять остаток количества =1 остатки
  --10=проверять и сумму и количество остатки2
  --11=проверять остаток суммы >=0 остатки2
  --12=проверять остаток количества >=0 остатки2
  --13=проверять остаток количества =1 остатки2
  --20=проверять и сумму и количество остатки2 и остатки
  --21=проверять остаток суммы >=0 остатки2 и остатки
  --22=проверять остаток количества >=0 остатки2 и остатки
  --23=проверять остаток количества =1 остатки2 и остатки
  SUBTAB ЗАПРОС;
    ЗАГОЛОВОК      :STRING;
    ОТВЕТ          :STRING;
    ТИППАРАМЕТРА   :INTEGER;
    ПОЛЕПОДТАБЛИЦЫ :STRING;
    ДЕБКРЕОБЩ      :INTEGER; --0=общая;1=по дебету;-1=по кредиту
    ОБЯЗАТЕЛЬНЫЙ   :STRING;
    НЕОБЯЗАТЕЛЬНЫЙ :STRING;
    ОСТАТОК        :BOOLEAN;
    ЦЕНА           :BOOLEAN;
    ДЛЯВСЕХ        :BOOLEAN;
    СКНОПКОЙ       :BOOLEAN;
    ИТОГИ          :BOOLEAN;
    НОМПРОВОДКИ    :STRING(18);
    СТИЛЬ          :РПО_СТИЛЬ;
    ВИД1           :STRING;
    ВИД2           :STRING;
    ВИД3           :STRING;
    Ш1             :INTEGER;
    Ш2             :INTEGER;
    Ш3             :INTEGER;
    Ф1             :STRING;
    Ф2             :STRING;
    Ф3             :STRING;
    ПОДСКАЗКА      :STRING;
    КБКНФА         :BOOLEAN;
    СЧЕТНФА        :BOOLEAN;
    ОТВЕТКАРТ      :STRING;
    КБКОТСЧЕТА     :STRING; --параметр для типа счет
    АНОТСЧЕТА      :STRING; --параметр для типа аналитика(накладывает доп фильтр на выбор аналитики по структуре учета для выбранного счета)
    СПР            :STRING; --параметр для типа аналитика (для обработки на скрытие столбцов при соответствии НеДействСпр)
    ПОМОЩЬ1        :STRING;
    ПОМОЩЬ2        :STRING;
    СВЕРТКА        :BOOLEAN; --параметр учавствует в свертке проводок для ПОЗИЦИИ_БУХ
    СВЕРТКАЗАМЕНА  :STRING; --условие замены параметра для свертки маскаусловия1=масказамены1|маскаусловия2=масказамены2|маскаусловия3=масказамены3|...
    ОСТАТОК2       :BOOLEAN;
    УСЛОСТ2        :STRING;
  ENDSUB;
  РАЗРАБОТЧИК        :STRING(9); --код разработчика для справочника (РПО=Русспромоценка)
  СВЕРТКА            :STRING(9); --код разработчика для справочника (РПО=Русспромоценка)
  SUBTAB ДОК;
    ВИДДОК  :РПО_ВИДДОК;
    ПРИЗНАК :STRING(63); --ПРИЗНАК=ВидДОК
  ENDSUB;
  SUBTAB ОПИСАНИЕ;
    ОСОБЕННОСТИ :STRING(200);
  ENDSUB;
  CREATEDUSER        :STRING;
  MODIFIEDUSER       :STRING;
  CLOSEDMODFOB       :BOOLEAN;
  CURRENTRECORD      :РПО_ДНФА; --ссылка на текущий UKEY, вариант защиты записи от удаления для локальной версии при установленном флаге [проверка ссылочной целостности]
  КОНВ               :INTEGER; --0=70н; 1..5=создана как 25н; 6..9=корректно переделана из 70н в 25н(можно работать)
ENDTAB;

TABLE РПО_ОТЧЕТЫ_СТРОКИ = "Настройки отчетов - строки";
  ИМЯ              :STRING; --наименование для картотеки (имя группы)
  КОД              :STRING; --наименование для отчета
  КОД1             :STRING; --наименование для отчета
  КОД2             :STRING; --наименование для отчета
  КОД3             :STRING; --наименование для отчета
  NN               :INTEGER; --номер группы, порядок вывода в отчете
  ТАБЛИЦА          :BOOLEAN;
  ВЫВОД            :BOOLEAN;
  ВЫВОД_ВИД        :INTEGER; --0=строка с рачетом;1=строка заголовок(перед группой);2=строка заголовок(в конце группы)
  СТИЛЬ            :РПО_СТИЛИ;
  ИТОГИ            :BOOLEAN;
  ИТОГИ_ИМЯ        :STRING;
  ИТОГИ_ВИД        :INTEGER; --0=строка с рачетом итогов после заголовка ;1=итоги(перед группой);2=итоги(в конце группы)
  СТИЛЬ_ИТОГИ      :РПО_СТИЛИ;
  УЧИТЫВАТЬУСЛКАРТ :BOOLEAN;
  РАЗРАБОТЧИК      :STRING(9); --код разработчика для справочника (ТББ=ТБ-Бюджет)
  --------- Условия отбора -----------
  --------- Служебные поля -----------
  GROUPDOC         :РПО_ОТЧЕТЫ_СТРОКИ(ИМЯ);
  CREATEDUSER      :STRING;
  MODIFIEDUSER     :STRING;
  CLOSEDMODFOB     :BOOLEAN;
  РПО_ОТЧЕТ        :РПО_ОТЧЕТЫ;
ENDTAB;

TABLE CPS_ВОИНЗВАНИЕ = "Воинское звание"; --Только для прод & ВЕЩ
  ВЗВАНИЕ :STRING(30); --Воинское звание
ENDTAB;


-------************
