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

Смена филиала в коде [Гал 810]

Добавлено: 23 июл 2007, 13:17
PViP
Необходимо сменить филиал в коде программы, чтоб можно было поработать с базой под другим филиалом, а затем обратно вернуться обратно.

Делал с использованием интерфейса SelectFilial - работает, но выбор филиала в ручную не приемлем. Делаю смену филиала следующим образом :
Tmp:=InitMarker(‘’,8,1,1,false);
Tmp1:=GetCurrentBranches;
insertMarker(tmp,comp(‘0001000000000005h’));

SetBranches(tmp,0);
//RunInterface(SelectFilial);

insert BaseDoc Set
Name :=’Test1’;

SetBranches(tmp1,0);
//RunInterface(SelectFilial);

DoneMarker(Tmp,’’);

При выполнении галактика падает с ошибкой в stream.dll, обращение к некоректному дескриптору. У кого опыт есть по работе с филиалами?

Добавлено: 07 авг 2007, 10:20
PViP
Всем кому интересно, оказалось что вместо маркера нобходимо использовать контейнер! :D Сразу нельзя было написать в доке об этом!?
Код получается аналогичный вышеизложенномму только используются фукнция для SortedContainer

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

function SortedContainer_Init
            (name : string;
             itemSize, count, delta : longInt;
             duplicates : Boolean
            ) : longInt;

function SortedContainer_GetCount (sortedContainer : longInt
                                  ) : longInt;

procedure SortedContainer_Insert (sortedContainer : longInt;
                                  item : anyType);

procedure SortedContainer_Done (sortedContainer : longInt;
                                name : string);