Unique писал(а):вообщето мне еще нужно на каждую позицию создавать записи по ДЕИ
и еще после вставки KatSopr должна еще всталяться запись в SoprHoz...
Вставлять вставлять и удалять SoprHoz надо через методы объекта SHManager он реализован в компоненте F_SoprHoz.
Создал приходные ордера в УКС, поправил вручную, смотрю - создается запись в soprhoz с tikd=161 ...
Какой метод использовать для вставки и корректировки сопрхоза к этому ордеру?
Вот нашел в почте, кому то, когда то давал комментарии:
Для программной работы с Журналом хозяйственных операций (таблица 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; // через передачу позиций