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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

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

Сообщение 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, обращение к некоректному дескриптору. У кого опыт есть по работе с филиалами?
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение 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);

Ответить