Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Себестоимость в SH4 через OLE

  1. #1
    Новичок
    Регистрация
    12.08.2008
    Сообщений
    6
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Себестоимость в SH4 через OLE

    Подскажите как достать себестоимость из расходной накладной в SH4. Доступ осуществляется OLE.

  2. #2
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    А в доках на OLE нет инфы?
    Вот, выдрал из версии 4.16.33

    { Пример использования: Получение списка корреспондентов

    var
    sh: variant;
    IndQuery: integer;
    begin
    sh := CreateOleObject('Sh4Ole.Sh4App');

    if sh.DBLogin <> 0 then exit; // Подцепляемся к БД

    IndQuery := sh.CorrFullList; // запрос

    if IndQuery < 0 then
    ShowMessage ( sh.GetExcMessage ) // Сообщение об ошибке
    else
    while sh.EOF(IndQuery) <> 1 do // Проход по полученному списку
    begin
    // .......................
    ShowMessage( sh.ValByName(IndQuery,'1.102.4.0')); // Показать наименование
    sh.Next(IndQuery);
    end

    sh.CloseQuery(IndQuery); // Закрытие запроса
    sh.DBLogout; // Отцепление от базы данных
    end;


    --------------------------------------------------------------------------------------------------------------

    Описание некоторых констант

    ---------------------------------------------------------------------------------------------------------------
    const
    { --- Results ----}
    R_OK = 0 ; // OK
    R_NOT_CONNECT = -1; // not connected
    R_QueryArrOverflow = -2; // Query array aoverflow;
    R_Incopatible = -3; // Incompatible versions
    R_UNKNOWN = -100; // other

    sR_OK = 'OK';
    sR_NOT_CONNECT = 'Not connected';
    sR_QueryArrOverflow = 'Query array aoverflow';
    sR_Incopatible = 'Incompatible versions';


    ---------------------------------------------------------------------------------------------------------------

    Описание некоторых полей

    ---------------------------------------------------------------------------------------------------------------

    Значения поля DocRec::Type - тип накладной (см. также sh_tags.h)
    ----------------------------------------------------------------
    0 - приходная накладная
    4 - расходная накладная
    5 - возврат поставщику
    6 - списание товара
    8 - сличительная ведомость
    10 - акт переработки
    11 - внутреннее перемещение
    12 - комплектация
    13 - декомплектация

    Битовая маска опций накладной DocRec::Options ( Набор значений, объединенных по OR;
    см. также sh_tags.h)
    -------------------------------------------------------------------------------------------------------
    1 - селектор типа учета накладной (спецучет, если бит 0 установлен, иначе учет)
    2 - флаг активности (накладная активна, если бит 1 установлен)
    4 - признак блокировки накладной (накладная блокирована пользователем,
    создавшим накладную, если бит 2 установлен)
    8 - расчитывать себестоимость
    16 - признак связи накладной с др. документами (если бит 4 установлен, то
    накладная сгенерирована автоматически - недопустима модификация списка
    товаров, даты, корреспондентов, валюты и курса накладной, флага
    использования взаимозамен)
    32 - флаг использования взаимозамен - только комплектации (если бит 5 установлен,
    то в комплектации установлен флаг "Использовать взаимозамены")

    Битовая маска опций записи накладной DocSpecRec::Options (см. также sh_tags.h)
    ------------------------------------------------------------------------------
    2 - запись относится к активному документу (может быть неверно при редактировании накладной)
    4 - использовать ставку для расчета налога 1 (НДС) (п/н, р/н. Если значение поля
    == Null, то используется ставка)
    8 - использовать ставку для расчета налога 2 (НСП) (п/н, р/н. Если значение поля
    == Null, то используется ставка)
    16 - автоматически рассчитывать цену излишков (для инвентаризации. Если значение
    поля == Null, то цена рассчитывается автоматически);
    - списывать по себестоимости (для расходной накладной)
    32 - на данной записи хранятся излишки/недостачи (только инвент.; может быть неверно при редактировании накладной)
    64 - использовано доп. количество для инвентаризации (только инвент.; может быть неверно при редактировании накладной)

    Значения поля PDocRec::Type - тип платежного документа (см. также sh_tags.h)
    ----------------------------------------------------------------------------
    0 - приходный кассовый ордер (п/к)
    1 - расходный кассовый ордер (р/к)
    2 - приходное платежное поручение (п/п)
    3 - расходное платежное поручение (р/п)
    4 - приходная платежная операция (п/о)
    5 - расходная платежная операция (р/о)

    Битовая маска опций платежного документа PDocRec::Options (набор значений, объединенных по OR; см. также sh_tags.h)
    -------------------------------------------------------------------------------------------------------------------
    1 - документ относится к спец учету
    2 - документ активный
    4 - документ блокирован создателем документа
    8 - автоматически рассчитывать сумму платежного документа на основе связанной накладной
    16 - признак связи платежного документа с др. документами (если бит 4 установлен, то
    платежный документ сгенерирован автоматически - недопустима модификация списка сумм, валюты, курса накладной

    ---------------------------------------------------------------------------------------------------------------

    Описание процедур

    ---------------------------------------------------------------------------------------------------------------

    Подцепиться к базе данных 0 -OK <>0 код ошибки.
    function DBLogin: integer ; safecall;


    function SetServerName (const ServName:WideString ): integer; safecall;
    для установки названия сервера перед вызовом DBLoginEx
    Формат строки:
    [S][N или T]a[n1]t[n2],
    где S - имя сервера
    pN - протокол NetBios
    pT - протокол TCP/IP
    a[n1] - номер адаптера
    t[n2] - таймаут в мсек.
    Пример: 'SDBSERVTa3t1000'


    Подцепиться к базе данных без вызова формы логина
    0 -OK <>0 код ошибки.
    function DBLoginEx (const UserName, PassWord: WideString): integer ; safecall;

    Отцепиться от базы данных }
    procedure DBLogout; safecall;

    Подцеплена ли БД 0 - подцеплена <> 0 - код ошибки }
    function DBConnected: integer; safecall;

    Возвращает версию базы данных }
    function GetDbVersion: WideString; safecall;

    Возвращает версию DLL }
    function GetVersion: WideString; safecall;

    Возвращает Текущий тип учета 0-учет 1-спец учет}
    function GetSysFlag: integer; safecall;

    Максимальное число одновременно открытых запросов }
    function MaxQueryCount: integer; safecall;

    Закрытие запроса меняет флаг used на False
    function CloseQuery (IndQuery: Integer) :integer; safecall;

    После любой операции можно посмотреть код ошибки и сообщение }
    function GetExcMessage: WideString; safecall; // сообщение
    function GetExcCode: integer; safecall; // код


    //
    Для всех последующих функций действует правило:
    Если результат меньше 0 - ошибка, иначе - индекс в массиве запросов

    //************************************************** *******************************
    // План счетов
    function AccTree: integer; safecall;

    Поля: 0.106.1.0 уникальный идентификатор
    0.106.2.0 ссылка на счет для субсчета
    0.106.3.0 код счета\субсчета
    0.106.4.0 наименование


    //************************************************** *******************************
    Ищет счет\субсчет по коду.
    Если не находит, добавляет, иначе заменяет наименование }
    function EditAccTree ( const PARENT_CODE, // Koд предка
    CODE, // Код счета
    NAME: WideString): integer; safecall; // Наименование счета

    1.106.1.0 integer - идентификатор записи с кодом CODE '

    //************************************************** *******************************
    Полный список корреспондентов
    function CorrFullList: integer; safecall;

    1.102.1.0 уникальный идентификатор
    1.101.1.1 ссылка на группу
    1.102.3.0 код корреспондента
    1.102.4.0 наименование корреспондента
    1.102.2.0 тип корреспондента: 0 склад, 1 юр.лицо, 2 физ.лицо, 3 спец.корр
    1.102.5.0 не использовать


    //************************************************** *******************************
    Дерево корреспондентов
    function CorrTree: integer; safecall;

    1.101.1.0 уникальный идентификатор .Всегда есть запись с
    (1.101.1.0) = 0, (1.101.2.0) is NULL - корень для складов
    (1.101.1.0) = 1, (1.101.2.0) is NULL - корень для корреспондентов
    1.101.2.0 ссылка на предка
    (1.101.2.0) = 0 ссылка на группу CКЛАДЫ
    1.101.3.0 наименование группы

    //************************************************** *******************************
    Группа корреспондентов по RID
    function CorrTreeByRID(RID: integer ): integer; safecall; // Идентификатор группы

    1.101.1.0 уникальный идентификатор .Всегда есть запись с
    1.101.2.0 ссылка на предка
    1.101.3.0 наименование группы
    1.101.3.2 наименование группы предка
    IsRoot = 1 - это корневая группа, =0 -это не корневая группа


    //************************************************** *******************************
    Список корреспондентов в группе
    function CorrList( PARENT_REF: integer ): integer; safecall; //Ссылка на группу корреспондентов

    102.1.0 уникальный идентификатор
    101.1.1 ссылка на группу корреспондентов
    102.3.0 код корреспондента
    102.4.0 наименование корреспондента
    102.2.0 тип корреспондента: 0-склад, 1- юр.лицо, 2-физ.лицо, 3-спец.корр.
    102.5.0 не использовать



    //************************************************** *******************************
    Свойства корреспондента по его RID и типу
    function CorrProperty ( RID, // уникальный идентификатор
    S_TYPE : integer ): integer; safecall;
    // Значения S_TYPE 0-'склад'
    // 1-'юр.лицо'
    // 2-'физ.лицо'
    // 3-'спец.корр.'

    1.101.1.1 ссылка на группу
    1.102.3.0 код корреспондента
    1.102.4.0 наименование корреспондента
    1.102.2.0 тип корреспондента
    1.102.5.0 не использовать
    1.101.3.1 группа корреспондента

    2.111.1.0 ссылка на атрибут
    2.0.1.0 значение атрибута

    3.111.1.0 уникальный идентификатор атрибута
    3.111.2.0 не использовать
    3.111.3.0 не использовать
    3.111.4.0 код атрибута
    3.111.5.0 наименование атрибута


    //************************************************** *******************************

    Свойства корреспондента по его RID
    function CorrPropertyByRID ( RID ): integer; safecall; // уникальный идентификатор

    1.101.1.1 ссылка на группу
    1.102.3.0 код корреспондента
    1.102.4.0 наименование корреспондента
    1.102.2.0 тип корреспондента
    1.102.5.0 не использовать
    1.101.3.1 группа корреспондента

    2.111.1.0 ссылка на атрибут
    2.0.1.0 значение атрибута

    3.111.1.0 уникальный идентификатор атрибута
    3.111.2.0 не использовать
    3.111.3.0 не использовать
    3.111.4.0 код атрибута
    3.111.5.0 наименование атрибута


    //************************************************** *******************************

    {Журнал проводок }
    function DocListAccSums (
    DateFrom, // начало периода
    DateTo: Double; // окончание периода
    OPER_REF :integer ): integer; safecall; // ссылка на операцию

    1.106.1.0 Не используется
    1.106.3.0 Не используется
    2.113.255.7 0 - накладная, иначе - платежный документ
    2.113.1.7 Ключ (Rid) документа
    2.113.3.7 Дата документа
    2.113.4.7 Строковая часть номера документа
    2.113.5.7 Числовая часть номера документа
    2.113.11.7 Битовая маска опций документа DocRec::Options/PDocRec::Options
    2.113.10.7 Тип документа DocRec::Type/PDocRec::Type
    0 - приходная накладная
    4 - расходная накладная
    5 - возврат поставщику
    6 - списание товара
    8 - сличительная ведомость
    10 - акт переработки
    11 - внутреннее перемещение
    12 - комплектация
    13 - декомплектация
    2.102.1.8 Ключ (Rid) корреспондента-поставщика
    2.102.1.9 Ключ (Rid) корреспондента-получателя
    2.102.4.8 Наименование корреспондента-поставщика
    2.102.4.9 Наименование корреспондента-получателя
    2.106.1.1 Ключ (Rid) счета-дебет
    2.106.3.1 Код счета-дебет
    2.106.1.2 Ключ (Rid) счета-кредит
    2.106.3.2 Код счета-кредит
    2.0.1.4 Сумма
    2.219.1.3 Идентификатор Бух. категории
    2.219.2.3 Бух. категория
    2.108.4.0 Описание операции
    2.108.1.0 Идентификатор операции
    2.0.1.40 Сумма


    //************************************************** *******************************
    Список накладных
    function DocList( DateFrom, // начало периода
    DateTo: double; // окончание периода
    SysFlag, // 0- учет 1 - спец учет
    Get_Active, // <>0 - Показывать активные док-ты, 0 - нет
    Get_Non_Active, // <>0 - Показывать неактивные документы, 0 - нет
    Get_Sum: integer):integer; safecall; // <>0 - Показывать суммы, 0 - нет

    1.103.1.1 Ключ (Rid) накладной.
    1.103.14.1 Стамп даты накладной.
    1.103.4.1 Строковая часть номера накладной.
    1.103.5.1 Числовая часть номера накладной.
    1.103.11.1 Битовая маска опций накладной DocRec::Options.

    1.103.10.1 Тип накладной DocRec::Type.
    0 - приходная накладная
    4 - расходная накладная
    5 - возврат поставщику
    6 - списание товара
    8 - сличительная ведомость
    10 - акт переработки
    11 - внутреннее перемещение
    12 - комплектация
    13 - декомплектация

    1.102.1.2 Ключ (Rid) корреспондента-поставщика.
    1.102.4.2 Наименование корреспондента-поставщика.
    1.102.1.3 Ключ (Rid) корреспондента-получателя.
    1.102.4.3 Наименование корреспондента-получателя.
    1.102.1.4 Ключ (Rid) отв. лица "Отпустил".
    1.102.4.4 Имя отв. лица "Отпустил".
    1.102.1.5 Ключ (Rid) отв. лица "Принял".
    1.102.4.5 Имя отв. лица "Принял".
    1.100.3.0 Код валюты накладной.
    1.107.1.9 Ключ (Rid) бух.операции.
    1.107.2.9 Наименование бух операции.
    1.110.1.10 Ссылка на счет-фактуру
    1.110.4.10 Префикс Аббр. счета фактуры
    1.110.5.10 Номер Аббр. счета фактуры
    1.0.1.0 Стамп Закупочная сумма б/н.
    1.0.2.0 Стамп Закупочный НДС.
    1.0.3.0 Стамп Закупочный НСП.
    1.0.1.1 Стамп Отпускная сумма б/н.
    1.0.2.1 Стамп Отпускной НДС.
    1.0.3.1 Стамп Отпускной НСП.
    1.103.14.10 Дата накладной.
    1.0.1.00 Закупочная сумма б/н.
    1.0.2.00 Закупочный НДС.
    1.0.3.00 Закупочный НСП.
    1.0.1.10 Отпускная сумма б/н.
    1.0.2.10 Отпускной НДС.
    1.0.3.10 Отпускной НСП.


    //************************************************** *******************************
    { Приходная накладная }
    function Doc0( RID, // Идентификатор накладной
    OPTION :integer // Битовая маска опций накладной DocRec::Options.
    В DocList значение поля (1.103.11.1)
    ): integer; safecall;

    1.103.3.1 Дата накладной
    1.103.4.1 Строковая часть номера накладной
    1.103.5.1 Числовая часть номера накладной
    1.103.11.1 Битовая маска опций накладной DocRec::Options
    1.103.10.1 Тип накладной DocRec::Type
    1.103.2.1 Младшее слово стампа даты накладной
    1.102.1.2 Ключ (Rid) корреспондента-поставщика
    1.102.4.2 Наименование корреспондента-поставщика
    1.102.1.3 Ключ (Rid) корреспондента-получателя
    1.102.4.3 Наименование корреспондента-получателя
    1.102.1.5 Ключ (Rid) отв. лица "Принял"
    1.102.4.5 Имя отв. лица "Принял"
    1.107.1.9 Ключ (Rid) бух.операции
    1.107.2.9 Наименование бух.операции
    110.1.10 Тип счета фактуры
    1.102.1.4 Ключ (Rid) отв. лица "Отпустил"
    1.102.4.4 Имя отв. лица "Отпустил"
    110.3.10 Дата счета-фактуры
    1.100.1.6 Ключ (Rid) валюты документа
    1.103.12.0 Курс в базовой валюте (секция "Курс: столько-то RBL за столько-то "
    1.103.13.0 Курс в валюте накладной (секция "Курс: столько-то RBL за столько-т"
    1.100.3.6 Код валюты документа
    1.103.15.0 Примечение
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.5.7 история: мин. дата активного док-та
    1.0.6.7 история: пользователь, создавший накладную
    1.0.7.7 история: не использовать
    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.15.1 Опции записи DocSpecRec::Options
    2.105.14.0 Альтернативная дата для рассчета курса небазовой валюты (только п/н)
    2.105.4.0 Стамп Сумма б/н
    2.212.2.0 Стамп Ставка/сумма НДС (в зависимости от DocSpecRec::Options)
    2.213.2.0 Стамп Ставка/сумма НСП (в зависимости от DocSpecRec::Options)
    2.105.4.010 Сумма б/н
    2.212.2.010 Ставка/сумма НДС (в зависимости от DocSpecRec::Options)
    2.213.2.010 Ставка/сумма НСП (в зависимости от DocSpecRec::Options)


    .................................................. ...................................

    { Расходная накладная }
    function Doc4 ( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)
    1.103.3.1 Дата накладной
    1.103.4.1 Строковая часть номера накладной
    1.103.5.1 Числовая часть номера накладной
    1.103.11.1 Битовая маска опций накладной DocRec::Options
    1.103.10.1 Тип накладной DocRec::Type
    1.103.2.1 Младшее слово стампа даты накладной
    1.102.1.2 Ключ (Rid) корреспондента-поставщика
    1.102.4.2 Наименование корреспондента-поставщика
    1.102.1.3 Ключ (Rid) корреспондента-получателя
    1.102.4.3 Наименование корреспондента-получателя
    1.102.1.5 Ключ (Rid) отв. лица "Принял"
    1.102.4.5 Имя отв. лица "Принял"
    1.107.1.9 Ключ (Rid) бух.операции
    1.107.2.9 Наименование бух.операции
    110.1.10 Тип счета фактуры
    1.102.1.4 Ключ (Rid) отв. лица "Отпустил"
    1.102.4.4 Имя отв. лица "Отпустил"
    110.3.10 Дата счета-фактуры
    1.100.1.6 Ключ (Rid) валюты документа
    1.103.12.0 Курс в базовой валюте (секция "Курс: столько-то RBL за столько-то "
    1.103.13.0 Курс в валюте накладной (секция "Курс: столько-то RBL за столько-т"
    1.100.3.6 Код валюты документа
    1.103.15.0 Примечение
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.5.7 история: мин. дата активного док-та
    1.0.6.7 история: пользователь, создавший накладную
    1.0.7.7 история: не использовать

    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.15.1 Опции записи DocSpecRec::Options
    2.105.14.0 Альтернативная дата для рассчета курса небазовой валюты (только п/н)
    2.105.4.0 Сумма б/н
    2.212.2.0 Ставка/сумма НДС (в зависимости от DocSpecRec::Options)
    2.213.2.0 Ставка/сумма НСП (в зависимости от DocSpecRec::Options)


    .................................................. ...................................

    { Внутреннее перемещение }
    function TSh4App.Doc11( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)
    1.103.3.1 Дата накладной
    1.103.4.1 Строковая часть номера накладной
    1.103.5.1 Числовая часть номера накладной
    1.103.11.1 Битовая маска опций накладной DocRec::Options
    1.103.10.1 Тип накладной DocRec::Type
    1.103.2.1 Младшее слово стампа даты накладной
    1.102.1.2 Ключ (Rid) корреспондента-поставщика
    1.102.4.2 Наименование корреспондента-поставщика
    1.102.1.3 Ключ (Rid) корреспондента-получателя
    1.102.4.3 Наименование корреспондента-получателя
    1.102.1.4 Ключ (Rid) отв. лица "Отпустил"
    1.102.4.4 Имя отв. лица "Отпустил"
    1.102.1.5 Ключ (Rid) отв. лица "Принял"
    1.102.4.5 Имя отв. лица "Принял"
    1.107.1.9 Ключ (Rid) бух.операции
    1.107.2.9 Наименование бух.операции
    1.103.15.0 Примечение
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.5.7 история: мин. дата активного док-та
    1.0.6.7 история: пользователь, создавший накладную
    1.0.7.7 история: не использовать
    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.1.2 Ключ (Rid) прихода для списания
    2.105.4.8 Стамп Себестоимость: Сумма б/н
    2.105.5.8 Стамп Себестоимость: НДС
    2.105.6.8 Стамп Себестоимость: НСП
    2.105.4.810 Себестоимость: Сумма б/н
    2.105.5.810 Себестоимость: НДС
    2.105.6.810 Себестоимость: НСП

    .................................................. ...................................
    {Комплектация (расходная часть)}
    function TSh4App.Doc12Specs1 ( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)
    1.100.3.0 Код валюты накладной
    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.4.0 Стамп Сумма б/н
    2.105.5.0 Стамп НДС
    2.105.6.0 Стамп НСП
    2.105.4.010 Сумма б/н
    2.105.5.010 НДС
    2.105.6.010 НСП

    .................................................. ...................................
    { Инвентаризация GsInv}
    function Doc8 ( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)

    1.100.3.0 служебное
    2.105.1.5 Ключ (Rid) ценообразующей записи
    2.210.1.5 Ключ (Rid) товара
    2.210.3.5 Текстовая часть кода товара
    2.210.4.5 Числовая часть кода товара
    2.210.2.5 Наименование товара
    2.206.1.5 Ключ (Rid) единицы измерения
    2.206.2.5 Наименование единицы измерения
    2.105.3.0 Рассчетное количество товара

    2.105.4.0 Стамп Рассчетная сумма б/н
    2.105.5.0 Стамп Рассчетный НДС
    2.105.6.0 Стамп Рассчетный НСП

    2.105.3.1 Количество излишка/недостачи
    2.105.4.1 Стамп Сумма б/н излишка/недостачи
    2.105.5.1 Стамп НДС излишка/недостачи
    2.105.6.1 Стамп НСП излишка/недостачи

    2.105.4.010 Рассчетная сумма б/н
    2.105.5.010 Рассчетный НДС
    2.105.6.010 Рассчетный НСП
    2.105.4.110 Сумма б/н излишка/недостачи
    2.105.5.110 НДС излишка/недостачи
    2.105.6.110 НСП излишка/недостачи

    .................................................. ...................................
    { Акт переработки}
    function Doc10 ( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)

    1.103.3.1 Дата накладной
    1.103.4.1 Строковая часть номера накладной
    1.103.5.1 Числовая часть номера накладной
    1.103.11.1 Битовая маска опций накладной DocRec::Options
    1.103.10.1 Тип накладной DocRec::Type
    1.103.2.1 Младшее слово стампа даты накладной
    1.102.1.2 Ключ (Rid) корреспондента-поставщика
    1.102.4.2 Наименование корреспондента-поставщика
    1.102.1.3 Ключ (Rid) корреспондента-получателя
    1.102.4.3 Наименование корреспондента-получателя

    1.102.1.4 Ключ (Rid) отв. лица "Отпустил"
    1.102.4.4 Имя отв. лица "Отпустил"
    1.102.1.5 Ключ (Rid) отв. лица "Принял"
    1.102.4.5 Имя отв. лица "Принял"
    1.107.1.9 Ключ (Rid) бух.операции
    1.107.2.9 Наименование бух.операции
    1.103.15.0 Примечение
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.5.7 история: мин. дата активного док-та
    1.0.6.7 история: пользователь, создавший накладную
    1.0.7.7 история: не использовать
    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.1.2 Ключ (Rid) прихода для списания
    2.105.4.8 Стамп Себестоимость: Сумма б/н
    2.105.5.8 Стамп Себестоимость: НДС
    2.105.6.8 Стамп Себестоимость: НСП
    2.105.4.810 Себестоимость: Сумма б/н
    2.105.5.810 Себестоимость: НДС
    2.105.6.810 Себестоимость: НСП
    2.210.1.6 Ключ (Rid) товара 2
    2.206.1.6 Ключ (Rid) единицы измерения 2
    2.210.3.6 Текстовая часть кода товара 2
    2.210.4.6 Числовая часть кода товара 2
    2.210.2.6 Наименование товара 2
    2.206.2.6 Наименование единицы измерения 2
    2.105.3.7 Количество товара 2


    .................................................. ...................................
    { Возврат поставщику}
    function Doc5 ( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)

    1.103.3.1 Дата накладной
    1.103.4.1 Строковая часть номера накладной
    1.103.5.1 Числовая часть номера накладной
    1.103.11.1 Битовая маска опций накладной DocRec::Options
    1.103.10.1 Тип накладной DocRec::Type
    1.103.2.1 Младшее слово стампа даты накладной
    1.102.1.2 Ключ (Rid) корреспондента-поставщика
    1.102.4.2 Наименование корреспондента-поставщика
    1.102.1.3 Ключ (Rid) корреспондента-получателя
    1.102.4.3 Наименование корреспондента-получателя
    1.102.1.4 Ключ (Rid) отв. лица "Отпустил"
    1.102.4.4 Имя отв. лица "Отпустил"
    1.107.1.9 Ключ (Rid) бух.операции
    1.107.2.9 Наименование бух.операции
    110.1.10 Тип счета фактуры
    110.4.10 Строковая часть номера счета фактуры
    110.5.10 Числовая часть номера счета фактуры
    110.3.10 Дата счета-фактуры
    1.103.15.0 Примечение
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.5.7 история: мин. дата активного док-та
    1.0.6.7 история: пользователь, создавший накладную
    1.0.7.7 история: не использовать
    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.1.2 Ключ (Rid) прихода для списания
    2.103.1.2 RID накладной прихода
    2.103.3.2 Дата накладной прихода
    2.103.4.2 Строковая часть номера накладной для списания (только с/т, в/т)
    2.103.5.2 Числовая часть номера накладной для списания (только с/т, в/т)
    2.103.11.2 Битовая маска опций накладной DocRec::Options для списания (только с/т, в/т)
    2.103.10.2 Тип накладной DocRec::Type для списания (только с/т, в/т)
    2.102.4.3 Наименование корреспондента накладной прихода
    2.105.4.8 Стамп суммы бн
    2.105.4.8 Стамп суммы НДС
    2.105.4.8 Стамп суммы НСП
    2.105.4.810 сумма бн
    2.105.4.810 сумма НДС
    2.105.4.810 сумма НСП

    .................................................. ...................................
    { Списание товара}
    function Doc6 ( RID,
    OPTION: integer ): integer; safecall; // Битовая маска опций накладной DocRec::Options.
    //В DocList значение поля (1.103.11.1)
    поля как у Doc5

    .................................................. ...................................
    { Декомплектация расходная часть }
    function Doc13 ( RID, OPTION: integer ): integer; safecall;
    поля как у Doc11 +
    2.200.1.1 - RID комплекта
    2.200.2.1 - наименование комплекта

    .................................................. ...................................
    { Декомплектация приходная часть }
    function Doc13Specs0 ( RID, OPTION: integer ): integer; safecall;
    1.100.3.0 Код валюты накладной
    2.105.1.1 Ключ (Rid) записи
    2.210.1.1 Ключ (Rid) товара
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.206.2.1 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.4.0 Стамп Сумма б/н
    2.105.5.0 Стамп НДС
    2.105.6.0 Стамп НСП
    2.105.4.010 Сумма б/н
    2.105.5.010 НДС
    2.105.6.010 НСП

    //************************************************** *******************************
    Содержимое счетов - фактур
    {приходная счет-фактура}
    function IDoc0 ( RID, MAINDOC_REF, OPTION: integer): Integer; safecall;

    1.110.3.9 Дата счета-фактуры
    1.110.4.9 Строковая часть номера счета-фактуры
    1.110.5.9 Числовая часть номера счета-фактуры
    1.110.11.9 Опции документа
    1.110.15.9 Примечание счета-фактуры
    1.110.20.9 Список платежно-расчетных документов
    1.103.1.1 Ключ (Rid) накладной
    1.103.3.1 Дата накладной
    1.103.4.1 Строковая часть номера накладной
    1.103.5.1 Числовая часть номера накладной
    1.103.11.1 Битовая маска опций накладной DocRec::Options
    1.103.10.1 Тип накладной DocRec::Type
    1.102.1.2 Ключ (Rid) корреспондента-поставщика
    1.102.4.2 Наименование корреспондента-поставщика
    1.100.1.3 Ключ (Rid) валюты накладной
    1.100.3.3 Код валюты накладной
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.6.7 история: пользователь, создавший накладную
    1.0.7.7 история: не использовать
    2.105.1.0 RID записи
    2.210.1.3 Ключ (Rid) товара
    2.206.1.3 Ключ (Rid) единицы измерения
    2.210.3.3 Текстовая часть кода товара
    2.210.4.3 Числовая часть кода товара
    2.210.2.3 Наименование товара
    2.206.2.3 Наименование единицы измерения
    2.105.3.0 Количество товара
    2.105.4.0 Стамп Закупочная сумма б/н
    2.105.5.0 Стамп Закупочный НДС
    2.105.6.0 Стамп Закупочный НСП
    2.212.2.0 Закупочная ставка НДС
    2.213.2.0 Закупочная ставка НСП
    2.105.20.0 Страна присхождения
    2.105.21.0 Номер таможенной декларации
    2.105.4.010 Закупочная сумма б/н
    2.105.5.010 Закупочный НДС
    2.105.6.010 Закупочный НСП

    .................................................. ...................................
    {расходная счет-фактура}
    function IDoc4 ( RID, MAINDOC_REF, OPTION: integer): Integer; safecall;
    Те же поля что и у док-та "приходная счет-фактура"
    +
    2.105.4.1 Стамп Отпускная сумма б/н (только расходная счет-фактура)
    2.105.5.1 Стамп Отпускной НДС (только расходная счет-фактура)
    2.105.6.1 Стамп Отпускной НСП (только расходная счет-фактура)
    2.212.2.1 Отпускная ставка НДС (только расходная счет-фактура)
    2.213.2.1 Отпускная ставка НСП (только расходная счет-фактура)

    2.105.4.110 Отпускная сумма б/н (только расходная счет-фактура)
    2.105.5.110 Отпускной НДС (только расходная счет-фактура)
    2.105.6.110 Отпускной НСП (только расходная счет-фактура)


    //************************************************** *******************************
    Книга покупок/продаж
    function InOutPDocs ( DateFrom, // начало периода
    DateTo: double; // окончание периода
    SysFlag, // 0- учет 1 - спец учет
    PDocsType: integer ): integer; safecall; // 0- книга покупок 1- книга продаж


    1.0.7.0 Битовая маска. Установленный второй бит (значение & 2)
    говорит о начале (первой строке) секции об оплате
    1.110.1.1 Ключ счета-фактуры
    1.110.3.1 Дата счета-фактуры
    1.112.1.2 Ключ платежного документа
    1.112.3.2 Дата платежного документа
    1.110.10.1 Тип счета-фактуры
    1.110.4.1 Текстовая часть номера счета-фактуры
    1.110.5.1 Числовая часть номера счета-фактуры
    1.103.3.4 Дата связанной накладной
    1.102.1.3 Ключ корреспондента
    1.102.4.3 Наименование корреспондента
    1.0.10.0 Страны происхождения, номера таможенных деклараций (только в книге покупок)
    1.212.2.0 Ставка НДС
    1.0.1.0 Стамп Сумма б/н
    1.0.2.0 Стамп Сумма НДС
    1.0.3.0 Стамп Сумма НСП
    1.0.1.10 Сумма б/н
    1.0.2.10 Сумма НДС
    1.0.3.10 Сумма НСП


    //************************************************** *******************************
    дерево товарных групп
    function GoodsTree: integer; safecall;

    1.209.1.0 уникальный идентификатор
    1.209.2.0 ссылка на предка
    1.209.3.0 Наименование
    1.209.4.0 Код
    1.209.5.0 Внешний код


    //************************************************** *******************************
    Список товаров в группе
    function Goods( PARENT_REF: integer ): integer; safecall; // Группа товаров

    1.210.1.0 Уникальный идентификатор
    1.209.1.0 Ссылка на группу
    1.210.2.0 Наименование
    1.210.3.0 Код префикс
    1.210.4.0 Код номер
    1.210.5.0 Тип
    0 - товар
    1 - услуга
    2 - ссылка

    1.206.1.0 идентификатор базовой ед.изм.
    1.206.2.0 наименование базовой ед.изм.
    1.208.1.0 идентификатор осн. категории
    1.219.1.0 идентификатор бух. категории

    1.212.2.0 Ставка НДС закуп. * 100
    1.213.2.0 Ставка НСП закуп. * 100
    1.212.2.10 Ставка НДС отпуск. * 100
    1.213.2.10 Ставка НСП отпуск. * 100
    1.210.7.0 Отпускная цена * 10000
    1.210.6.0 tgGoodsRec_ExtInfo
    1.210.8.0 Опции
    1.210.20.0 Закупочная цена
    1.200.1.1 Идентификатор комплекта
    1.200.2.1 Наименование комплекта
    1.200.3.1 Префикс кода комплекта
    1.200.6.1 Номер кода комплекта
    1.206.1.1 tgMUnitRec_Rid
    1.206.2.1 tgMUnitRec_Name


    //************************************************** *******************************
    // Свойства товарой группы по RID
    function GoodsTreeByRid( RID: integer ): integer; safecall; // Идентификатор товарной группы
    1.209.1.0 уникальный идентификатор
    1.209.2.0 ссылка на предка
    1.209.3.0 Наименование
    1.209.4.0 Код
    1.209.5.0 Внешний код
    IsRoot = 1 - это корень, = 0 - это не корень





    //************************************************** *******************************
    // Свойства товара по баркоду
    function GoodByBarcode(const BARCODE: WideString ): integer; safecall;
    1.210.1.0 RID товара
    1.209.1.0 RID группы
    1.210.2.0 Наименование товара
    1.210.3.0 Код префикс
    1.210.4.0 Код номер
    1.210.5.0 Тип товара
    0 - товар
    1 - услуга
    2 - ссылка
    1.206.1.0 идентификатор базовой ед.изм.
    1.206.2.0 наименование базовой ед.изм.
    1.200.1.1 идентификатор комплекта по умолчанию
    1.200.2.1 идентификатор комплекта по умолчанию
    1.200.3.1 Код префикс комплекта
    1.200.6.1 Код номер комплекта
    1.200.1.1 RID комплекта
    1.206.1.1 идентификатор дополнительной ед.изм.
    1.206.2.1 наименование дополнительной ед.изм.



    //************************************************** *******************************
    // Свойства товара по RID
    function GoodByRid( RID: integer ): integer; safecall; // Идентификатор товара

    1.210.1.0 RID товара
    1.209.1.0 RID группы
    1.210.2.0 Наименование товара
    1.210.3.0 Код префикс
    1.210.4.0 Код номер
    1.210.5.0 Тип товара
    0 - товар
    1 - услуга
    2 - ссылка
    1.206.1.0 идентификатор базовой ед.изм.
    1.208.1.0 идентификатор осн. категории
    1.219.1.0 идентификатор бух. категории
    1.212.2.0 Ставка НДС закуп. * 100
    1.213.2.0 Ставка НСП закуп. * 100
    1.212.2.10 Ставка НДС отпуск. * 100
    1.213.2.10 Ставка НСП отпуск. * 100
    1.210.7.0 Отпускная цена * 10000
    1.210.6.0 служебное
    1.210.8.0 Опции
    1.209.3.0 наименование группы
    1.208.2.0 наименование категории
    1.219.2.0 наименование бух.категории

    1.206.2.1 служебное
    1.205.1.0 группа единиц измерения

    1.206.2.0 наименование базовой ед.изм.
    1.206.3.0 коэффициент единицы измерения в словаре ед.измов
    1.200.1.1 RID комплекта
    1.200.2.1 наименование комплекта
    1.210.1.1 служебное
    1.210.2.1 служебное
    1.0.1.7 история: дата создания
    1.0.2.7 история: время создания в секундах
    1.0.3.7 история: дата последнего изменения
    1.0.4.7 история: время последнего изменения в секундах
    1.0.5.7 история: мин. дата активного док-та
    1.0.6.7 история: пользователь, создавший накладную


    //************************************************** *******************************
    // Расширенный список накладных
    function TSh4App.DocFList( DateFrom, // начало периода 0- с первого док-та
    DateTo: double; // окончание периода 0- по последний док-т
    SysFlag, // 0- учет 1 - спец учет
    Get_Active, // <>0 - Показывать активные док-ты, 0 - нет
    Get_Non_Active: integer // <>0 - Показывать неактивные документы, 0 - нет
    ):integer; safecall;


    1.103.1.1 Ключ (Rid) накладной.
    1.103.14.1 Стамп даты накладной.
    1.103.4.1 Строковая часть номера накладной.
    1.103.5.1 Числовая часть номера накладной.
    1.103.11.1 Битовая маска опций накладной DocRec::Options.
    1.103.10.1 Тип накладной DocRec::Type.
    1.102.1.2 Ключ (Rid) корреспондента-поставщика.
    1.102.4.2 Наименование корреспондента-поставщика.
    1.102.1.3 Ключ (Rid) корреспондента-получателя.
    1.102.4.3 Наименование корреспондента-получателя.
    1.102.1.4 Ключ (Rid) отв. лица "Отпустил".
    1.102.4.4 Имя отв. лица "Отпустил".
    1.102.1.5 Ключ (Rid) отв. лица "Принял".
    1.102.4.5 Имя отв. лица "Принял".
    1.100.3.0 Код валюты накладной.
    1.107.1.9 Ключ (Rid) бух.операции.
    1.107.2.9 Наименование бух операции.
    1.110.1.10 Ссылка на счет-фактуру
    1.110.4.10 Префикс Аббр. счета фактуры
    1.110.5.10 Номер Аббр. счета фактуры
    1.0.1.0 стамп cуммы б/н оплат по док-ту
    1.0.2.0 стамп cуммы НДС оплат по док-ту
    1.0.3.0 стамп суммы НСП оплат по док-ту
    2.0.1.0 Тип записи
    2.105.1.1 Ключ (Rid) записи
    2.103.1.1 Ключ (Rid) накладной
    2.210.1.1 Ключ (Rid) товара
    2.210.3.1 Текстовая часть кода товара
    2.210.4.1 Числовая часть кода товара
    2.210.2.1 Наименование товара
    2.206.1.1 Ключ (Rid) единицы измерения
    2.206.2.1 Наименование единицы измерения
    2.206.1.3 Ключ (Rid) ,базовой единицы измерения
    2.206.2.3 Наименование базовой единицы измерения
    2.105.3.2 Кол-во в базовой ед. измерения
    2.105.3.0 Кол-во в ед. измерения накладной
    2.105.4.4 Стамп Закупочная сумма б/н
    2.105.5.4 Стамп Закупочная сумма НДС
    2.105.6.4 Стамп Закупочная сумма НСП
    2.212.2.4 Закупочная ставка НДС
    2.213.2.4 Закупочная ставка НСП
    2.105.4.5 Стамп Отпускная сумма б/н
    2.105.5.5 Стамп Отпускная сумма НДС
    2.105.6.5 Стамп Отпускная сумма НСП
    2.212.2.5 Отпускная ставка НДС
    2.213.2.5 Отпускная ставка НСП
    1.103.14.10 Дата накладной.
    1.0.1.00 cуммы б/н оплат по док-ту
    1.0.2.00 cуммы НДС оплат по док-ту
    1.0.3.00 суммы НСП оплат по док-ту
    2.105.4.40 Закупочная сумма б/н
    2.105.5.40 Закупочная сумма НДС
    2.105.6.40 Закупочная сумма НСП
    2.105.4.50 Отпускная сумма б/н
    2.105.5.50 Отпускная сумма НДС
    2.105.6.50 Отпускная сумма НСП

    //************************************************** *******************************
    // Движение товара
    function GsFifo ( RID, // Rid товара
    SysFlag: Integer; // 0- учет 1 - спец учет
    DateFrom, // начало периода
    DateTo: Double ) :integer; safecall; // окончание периода

    1.206.2.0 - единица измерения
    1.105.3.0 - Остаток кол-во
    1.105.4.0 - Остаток сумма бн
    1.105.5.0 - Остаток сумма НДС
    1.105.6.0 - Остаток сумма НСП

    2.105.1.1 Ключ (Rid) записи
    2.103.1.1 Ключ (Rid) накладной
    2.103.10.1 Тип накладной DocRec::Type
    2.105.2.1 Тип записи (0 - приход, 1 - расход, 2 - инвентаризация)
    2.105.15.1 Опции записи DocSpecRec::Options
    2.103.11.1 Опции накладной DocRec::Options
    2.103.4.1 Текстовая часть номера накладной
    2.103.5.1 Цифровая часть номера накладной
    2.103.14.1 Стамп даты накладной
    2.102.1.2 Ключ (Rid) поставщика
    2.102.4.2 Наименование поставщика
    2.102.1.3 Ключ (Rid) получателя
    2.102.4.3 Наименование получателя
    2.105.3.0 Количество
    2.105.4.0 Сумма б/н
    2.105.5.0 НДС
    2.105.6.0 НСП
    2.105.4.19 Отпускная Сумма б/н
    2.105.5.19 Отпускная НДС
    2.105.6.19 Отпускная НСП

    //************************************************** *******************************
    // Движение товара Со списанием
    function GsFifo ( RID, // Rid товара
    SysFlag: Integer; // 0- учет 1 - спец учет
    DateFrom, // начало периода
    DateTo: Double ) :integer; safecall; // окончание периода

    1.206.2.0 - единица измерения
    1.105.3.0 - Остаток кол-во
    1.105.4.0 - Остаток сумма бн
    1.105.5.0 - Остаток сумма НДС
    1.105.6.0 - Остаток сумма НСП

    2.105.1.1 Ключ (Rid) записи
    2.103.1.1 Ключ (Rid) накладной
    2.103.10.1 Тип накладной DocRec::Type
    2.105.2.1 Тип записи (0 - приход, 1 - расход, 2 - инвентаризация)
    2.105.15.1 Опции записи DocSpecRec::Options
    2.103.11.1 Опции накладной DocRec::Options
    2.103.4.1 Текстовая часть номера накладной
    2.103.5.1 Цифровая часть номера накладной
    2.103.14.1 Стамп даты накладной
    2.102.1.2 Ключ (Rid) поставщика
    2.102.4.2 Наименование поставщика
    2.102.1.3 Ключ (Rid) получателя
    2.102.4.3 Наименование получателя
    2.105.3.0 Количество
    2.105.4.0 Сумма б/н
    2.105.5.0 НДС
    2.105.6.0 НСП
    2.105.4.19 Отпускная Сумма б/н
    2.105.5.19 Отпускная НДС
    2.105.6.19 Отпускная НСП
    2.103.14.110 Дата накладной
    ----------------------------------------------------------
    Далее данные накладной списания
    2.105.1.4 Rid записи содержимого
    2.103.1.4 Rid накладной
    2.103.10.4 Тип накладной списания
    2.105.2.4 Тип записи (0 - приход, 1 - расход, 2 - инвентаризация)
    2.105.15.4 Опции записи DocSpecRec::Options
    2.103.11.4 Битовая маска опций накладной DocRec::Options
    2.103.4.4 Префикс номера накладной
    2.103.5.4 Номер накладной
    2.103.14.4 Стамп даты
    2.105.3.5 Количество списанного
    2.103.14.410 Дата накладной


    //************************************************** *******************************

    { -------------------- Для результирующего датасета -----------------------}
    function EOF ( IndQuery: integer ): integer; safecall; // еnd of file
    function BOF ( IndQuery: integer ): integer; safecall; // begin of file
    procedure First( IndQuery: integer ); safecall; // на первую запись
    procedure Next ( IndQuery: integer ); safecall; // на следующую запись
    function RecordCount ( IndQuery: integer ) : integer; safecall; // число записей
    function FieldCount ( IndQuery: integer ): integer; safecall; // число полей
    function FieldName ( IndQuery, Index: integer ): WideString; safecall; // название поля
    function FieldType ( IndQuery, Index: integer ): WideString; safecall; // тип поля
    function FieldSize ( IndQuery, Index: integer ): integer ; safecall; // размер поля
    function ValByName ( IndQuery: integer;
    const FldName: WideString ): OLEVariant; safecall; // значение поля по имени
    function ValByNumber ( IndQuery: integer;
    Index: integer ): OLEVariant; safecall; // значение поля по номеру


    // для выполнения запросов
    // IndexDS - номер датасета в запросе (0..n)

    function pr_EOF ( IndQuery, IndexDS: integer ): integer; safecall;
    function pr_BOF ( IndQuery, IndexDS: integer ): integer; safecall;
    procedure pr_First ( IndQuery, IndexDS: integer ); safecall;
    procedure pr_Next ( IndQuery, IndexDS: integer ); safecall;
    function pr_RecordCount ( IndQuery,IndexDS: integer ) : integer; safecall; // число записей
    function pr_ValByName ( IndQuery,IndexDS: integer;
    const FldName: WideString ): OLEVariant; safecall; // значение поля по имени

    ************************************************** *******************************
    Создание и редактирование документов
    ************************************************** *******************************

    Добавление сличительной ведомости с заполнением товарами по баркодам
    function InsDoc8_ByBarCode: integer; safecall; // >=0 - ID запроса, иначе ошибка


    Редактирование заголовка
    function Doc_HeaderSet ( IndQuery: integer; // ID - запроса
    const FldName: WideString; // наименование поля
    FldVal: OLEVariant // присваиваемое значение
    ): integer; safecall; ..
    // Поля заголовка:
    // RID ID документа ( при создании не заполняется)
    // DOC_DATE Дата документа
    // ABBR_TEXT Префикс кода
    // ABBR_NUMBER Номер кода
    // CORR_FROM_REF ID поставщика ( все документы )
    // CORR_TO_REF ID получателя ( кроме СВ)
    // PERS_FROM_REF Отпустил
    // PERS_TO_REF Получил
    // COMMENT Комментарии

    function Doc_DetailSet ( IndQuery: integer; // ID - запроса
    const FldName: WideString; // наименование поля
    FldVal: OLEVariant ) // присваиваемое значение
    :integer; safecall;
    function Doc_DetailPost ( IndQuery: integer ): integer ; safecall; // сохранение записи

    function Doc_Execute ( IndQuery: integer ): integer ; safecall; // выполнение процедуры

    // Поля содержимого:
    // RID если создание нового документа, заполнятся после Execute
    // BARCODE
    // QUANT количество
    // SUM_WOTAX сумма без налогов
    // SUM_TAX0 сумма НДС
    // SUM_TAX1 сумма НСП
    // ADDQUANT дополнительное количество в доп. ед.измерения




    Алгоритм создания документа:

    IndQuery := sh.InsDocXXX_XXX - создание запроса
    Заполняем поля заголовка:
    Sh.Doc_HeaderSet ( IndQuery, ... , ...);
    Sh.Doc_HeaderSet ( IndQuery, ... , ...);
    Sh.Doc_HeaderSet ( IndQuery, ... , ...);
    Заполняем содержимое:
    1-я запись:
    Sh.Doc_DetailSet ( IndQuery,'BARCODE', ... );
    Sh.Doc_DetailSet ( IndQuery,'QUANT', ... );
    Sh.Doc_DetailSet ( IndQuery,...,... );
    Sh.Doc_DetailPost ( IndQuery );
    2-я запись
    Sh.Doc_DetailSet ( IndQuery,''BARCODE'', ... );
    ....
    Sh.Doc_DetailPost ( IndQuery );
    Выполнение:
    Sh.Doc_Execute ( IndQuery );
    Закрытие запроса:
    sh.CloseQuery ( IndQuery );

    ************************************************** *******************************
    Алгоритм выполнения практически любого запроса
    ************************************************** *******************************
    IndQuery := Sh.pr_CreateProc (ProcName); // ProcName - Имя процедуры
    Заполняем входные датасеты
    sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value ); // IndexDS - Индекс датасета
    // (входные выходные - сквозная нумерация 0..n
    // FldName тэг поля n.n.n (например 209.3.0)
    // Value - присваиваемое значение
    sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value );
    sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value );
    sh.pr_SetValByName ( IndQuery, IndexDS, FldName, Value );
    sh.pr_Post( IndQuery, IndexDS );

    sh.pr_ExecuteProc(IndQuery);

    получение результата проход по датасету IndexDS

    while sh.pr_EOF( IndQuery,IndexDS )<>1 do
    begin
    X := sh.pr_ValByName(IndQuery,IndexDS,FldName) // получит значение поля FldName в датасете IndexDS
    sh.pr_Next(IndQuery,IndexDS);
    end;

    sh.pr_CloseProc(IndQuery);

  3. #3
    Новичок
    Регистрация
    09.08.2012
    Адрес
    Россия
    Сообщений
    7
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Так как же получить доступ к себестоимости для документа реализации? В документации не нашел...

  4. #4
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    Ответа не знаю, но на всякий запрошу уточнение: документа "реализации" не существует в Shouse4. Есть документ расхода и расходная накладная. Уточняйте, что именно Вам нужно.
    Опять же, у документа расхода вообще нет понятия "себестоимость". Это список блюд с отпускными ценами и комплектами, на основании которых формируются документы комплектации и расходная накладная, у которых уже есть себестоимость.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  5. #5
    Новичок
    Регистрация
    09.08.2012
    Адрес
    Россия
    Сообщений
    7
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Конечно же имелась ввиду расходная накладная.

  6. #6
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    А это чем не подходит?
    function DocList( DateFrom, // начало периода
    DateTo: double; // окончание периода
    ...
    1.0.1.0 Стамп Закупочная сумма б/н.
    1.0.2.0 Стамп Закупочный НДС.
    1.0.3.0 Стамп Закупочный НСП.
    ...
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  7. #7
    Новичок
    Регистрация
    09.08.2012
    Адрес
    Россия
    Сообщений
    7
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Данная функция дает себестоимость для всего документа, а мне нужно для каждой позиции. Вижу есть функция TSh4App.DocFList, но как перебрать все строки не знаю

  8. #8
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    А ключи записей в накладных уникальны по всей базе или в пределах документа, не смотрели? Мне кажется, что по базе - это слишком и излишне. Может, там как раз нумерация строк, тогда в условном цикле можно перебрать?
    2.105.1.1 Ключ (Rid) записи
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  9. #9
    Новичок
    Регистрация
    09.08.2012
    Адрес
    Россия
    Сообщений
    7
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Знать бы еще как перебирать...

  10. #10
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    А как в примере?
    while sh.EOF(IndQuery) <> 1 do // Проход по полученному списку
    begin
    // .......................
    ShowMessage( sh.ValByName(IndQuery,'1.102.4.0')); // Показать наименование
    sh.Next(IndQuery);
    end
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

Похожие темы

  1. Себестоимость продукта в калькуляции.
    от Vork в разделе SH: Технические вопросы
    Ответов: 10
    Последнее сообщение: 21.12.2018, 06:57
  2. Влияние излишков на себестоимость
    от Арт в разделе SH: Организация и ведение учета
    Ответов: 6
    Последнее сообщение: 11.06.2014, 15:47
  3. Себестоимость реализованного
    от Даха в разделе SH: Организация и ведение учета
    Ответов: 8
    Последнее сообщение: 12.04.2014, 03:43
  4. Завышенная себестоимость компонента
    от Бух-Бух! в разделе SH: Организация и ведение учета
    Ответов: 10
    Последнее сообщение: 25.03.2011, 19:00
  5. Себестоимость японской кухни.
    от koltsovv в разделе StoreHouse
    Ответов: 8
    Последнее сообщение: 09.12.2010, 02:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •