Страница 2 из 2

Re: формирование накладной

Добавлено: 15 ноя 2011, 10:50
Алексей
LaaLaa писал(а):
Unique писал(а):вообщето мне еще нужно на каждую позицию создавать записи по ДЕИ
и еще после вставки KatSopr должна еще всталяться запись в SoprHoz...
Вставлять вставлять и удалять SoprHoz надо через методы объекта SHManager он реализован в компоненте F_SoprHoz.
Создал приходные ордера в УКС, поправил вручную, смотрю - создается запись в soprhoz с tikd=161 ...
Какой метод использовать для вставки и корректировки сопрхоза к этому ордеру?

Re: формирование накладной

Добавлено: 15 ноя 2011, 12:29
LaaLaa
Вот нашел в почте, кому то, когда то давал комментарии:
Для программной работы с Журналом хозяйственных операций (таблица SoprHoz и все что с ней связано) существует объектный интерфейс ObjSHmanager

Все операции создания обновления и удаления записей журнала хозопераций необходимо выполнять через методы этого объекта.

При создании модификации и удалении документов следует использовать следующие методы:
1) удалить все записи журнала хозопераций по документу
function DeleteDoc(cDocNRec : comp; wTiDk : word) : boolean;

DeleteDoc также удаляет бухгалтерские провдоки, финансовые операции, привзку ТХО по регистрам учета, внешние КАУ, разноску платежей по накладным и др. данные хранящиеся в журнале хозопераций.

2) создать запись журнала хозопераций
function InsByHan(var buf : type$p_SoprHoz ) : integer;
(буфер таблицы SoprHoz заполняется как обычно)

3) обновить запись журнала хозопераций
function UpdByHan(var buf : type$p_SoprHoz ) : integer;
(буфер таблицы SoprHoz заполняется как обычно)

Функции вставки и обновления записей журнала хозопераций кроме таблицы SoprHoz модифицируют значения таблицы раздельной привязки ТХО по регистрам учета, синхронизируют платежный календарь, синхронизируют Журнал учета платежей. Модификация дополнительных структур происходит только там где это требуется, согласно настроек и логики работы системы.

В некоторых исключительных случаях возможно потребуются использовать методы
function InsertRecord(var buf : TSoprHoz) : boolean;
function UpdateRecord(var buf : TSoprHoz) : boolean;
это вариант функций вставки и обновления записей через буфер таблицы без позиции.

Еще возможно потребуется методы для удаления записей поштучно:
function DeleteRec(cRec : comp) : boolean; // по nrec-ку

function DelByHan(var buf : type$p_SoprHoz ) : integer; // через передачу позиций

Re: формирование накладной

Добавлено: 15 ноя 2011, 12:39
LaaLaa
Буфер SoprHoz проще заполнить вручную. Типичный пример кода:

Код: Выделить всё

    { // добавляем запись
      ClearBuffer(#SoprHoz);
      SoprHoz.NRec     := 0;
      SoprHoz.FilialNo := lGetTune('Konsolid.FilialNo');
      SoprHoz.cStepDoc := KatSopr.cStepDoc;
      SoprHoz.Descr    := SklOrder.descr;
      SoprHoz.DesGr    := SklOrder.desGr;
      SoprHoz.prObor   := 0;
      SoprHoz.cHozOper := 0;
      SoprHoz.TipDoc   := GetSoprHozTipDoc(SklOrder.SP, SklOrder.VidOrder);
      SoprHoz.TiDkGal  := SoprHoz.tipDoc;
      SoprHoz.Direct   := if(SklOrder.VidOrder = 0, 1  , 2  );
      SoprHoz.SummaSp  := StRn;
      SoprHoz.SumValSp := StVn;
      SoprHoz.KodValSp := oValFunc.ValBase;
      SoprHoz.cSoprDoc := SklOrder.NRec;
      SoprHoz.NoDoc    := SklOrder.nOrder;
      SoprHoz.DatOb    := SklOrder.dOrd;
      iSHoz.InsByHan(SoprHoz.BufferP);
    }

Re: формирование накладной

Добавлено: 15 ноя 2011, 13:12
Алексей
а смысл использовать объект если можно простой инсерт ?

Re: формирование накладной

Добавлено: 15 ноя 2011, 14:23
LaaLaa
Алексей писал(а):а смысл использовать объект если можно простой инсерт ?
объект еще кроме SoprHoz вставляет когда надо MagOper

Re: формирование накладной

Добавлено: 08 фев 2017, 12:04
Алексей
Воз и нынче там? По ДО объект вроде как есть, пользовался, а по katsopr появился? :)

Re: формирование накладной

Добавлено: 08 фев 2017, 13:09
edward_K
объект BaseSopr и иже с ними - типа SoprDocB. Но вот кроме CreateSoprKN там не вижу. Можно конечно раскрутить создание накладных из ДО.