Остатки МЦ
-
- заказчик
- Сообщения: 83
- Зарегистрирован: Пн, 10/12/2007 13:24
- Имя Фамилия: Сергей Золотухин
- Откуда: Северо-Западные Магистральные Нефтепроводы
- Контактная информация:
Остатки МЦ
Интересует функция расчета сальдовых остатков МЦ на заданную дату, и желательно в разрезе групп МЦ.
Если таковая имеется, подскажите где посмотреть описание и как пользововаться.
е очень нужна функция расчета текущих(или на дату) остатков МЦ в разрезе целевого учета.
Если таковая имеется, подскажите где посмотреть описание и как пользововаться.
е очень нужна функция расчета текущих(или на дату) остатков МЦ в разрезе целевого учета.
-
- топ-софт
- Сообщения: 15
- Зарегистрирован: Ср, 19/09/2007 10:07
- Имя Фамилия: Сергей Лебедев
- Откуда: ТопСофт
- Контактная информация:
Такая функция конечно есть. Это стандартный интерфейс: Складской учет - Операции - Сальдовые остатки - Расчет сальдовых остатков.
В разрезе целевого учета тоже пересчитывает.
Описание есть в хелпе для данного интерфейса и в документации по контуру Логистики.
P.S. По подобным вопросам нужно обращаться в свой ОТП. Данный форум предназначен для консультаций по вопросам на которые ОТП ответить не может.
В разрезе целевого учета тоже пересчитывает.
Описание есть в хелпе для данного интерфейса и в документации по контуру Логистики.
P.S. По подобным вопросам нужно обращаться в свой ОТП. Данный форум предназначен для консультаций по вопросам на которые ОТП ответить не может.
-
- топ-софт
- Сообщения: 15
- Зарегистрирован: Ср, 19/09/2007 10:07
- Имя Фамилия: Сергей Лебедев
- Откуда: ТопСофт
- Контактная информация:
Извините, наверное я сразу неправильно понял вопрос.
Если интересует получение данных о сальдовых остатках МЦ при программировании на VIP, то лучше всего использовать следущий функционал:
Получение наличия и цен МЦ в разрезах хранения Оперконтура (выгрузка результатов в таблицу TmpSaldo1).
1. Делаем инициализацию:
2. Для расчета можно предварительно выбрать нужные МЦ, склады, МОЛ и партии в таблицу Pick (с помощью интерфейсов выбора), для проверки наличия выбора определяем соответствующие переменные:
3. Очищаем таблицу TmpSaldo1 от старых значений:
4. Определяем модуль из которого будем брать остатки:
5. Запускаем выполнение расчета остатков:
Последние 3 параметра определяет детализацию данных по соответствующим разрезам. Первый - по складам, второй - по МОЛ, третий - по партиям. Например, если передать в последнем параметре FALSE, то не будет детализации по партиям т.е. Вместо нескольких записей (конечно если в остатках есть несколько партий) в TmpSaldo1 будет одна запись у которой TmpSaldo.cParty = 0 и данные по партиям будут объеденены. Аналогично и для складов и МОЛ. Если передать FALSE, FALSE, FALSE, то получим одну запись с остатком для каждой МЦ (это будем общее наличие по выбранным складам, МОЛ, партиям).
6. Освобождаем память (данные остаются в таблице TmpSaldo1):
-------------------------------------------------------------
Структура таблицы TmpSaldo1 ("+" помечены заполняемые поля):
Аналогично и для Целевого Учета (выгрузка сальдовых остатков по объектам целевого назначения в TmpSaldo1).
Параметры определяются как и в предыдущей функции. Инициализацию делать не надо. Нужно подключить UksStore.vih и объявить переменную, например:
Если интересует получение данных о сальдовых остатках МЦ при программировании на VIP, то лучше всего использовать следущий функционал:
Получение наличия и цен МЦ в разрезах хранения Оперконтура (выгрузка результатов в таблицу TmpSaldo1).
1. Делаем инициализацию:
Код: Выделить всё
if (not Store_Init)
{ Message('Не проинициализировался объект расчета сальдо...',cmCancel);
EXIT ;
}
Код: Выделить всё
var wasPickedMC, wasPickedPodr, wasPickedMOL, wasPickedParty: boolean;
wasPickedMC := ( GetFirst Pick where ((7 == Pick.wList)) = tsOk );
wasPickedPodr := ( GetFirst Pick where ((11 == Pick.wlist)) = tsOk );
wasPickedMOL := ( GetFirst Pick where ((8 == Pick.wList)) = tsOk );
wasPickedParty:= ( GetFirst Pick where ((10 == Pick.wlist)) = tsOk );
//Важно: не забывать чистить Pick перед использованием данного объекта, чтобы в параметры расчета не попадали старые данные
Код: Выделить всё
Store_ReInit;
Код: Выделить всё
Store_SkladProizv(0); //(0- склад, 1 - производство, 2 - ремонты, 3 - УКС)
Код: Выделить всё
Store_Run ( Date1, //дата расчета остатков.
if(wasPickedMC, comp(-2), comp( 0)), //можно подставить конктретный nRec МЦ
if(wasPickedPodr, comp(-2), comp( 0)), //можно подставить конктретный nRec склада, но если этот конкретный nRec=0, то нужно передать comp(-1), иначе будет получение остатков по всем складам (при данном параметре = 0)
if(wasPickedMOL, comp(-2), comp( 0)), //можно подставить конктретный nRec МОЛ, но если этот конкретный nRec=0, то нужно передать comp(-1), иначе будет получение остатков по всем МОЛ (при данном параметре = 0)
if(wasPickedParty, comp(-2), comp( 0)), //можно подставить конктретный nRec партии, но если этот конкретный nRec=0, то передать comp(-1), иначе будет получение остатков по всем партиям (при данном параметре = 0)
TRUE, TRUE, TRUE );
6. Освобождаем память (данные остаются в таблице TmpSaldo1):
Код: Выделить всё
Store_Done;
Структура таблицы TmpSaldo1 ("+" помечены заполняемые поля):
Код: Выделить всё
(
+ NRec : tNRec "Номер записи"
prih : boolean "признак прихода"
+ cPodr : tNRec "склад"
+ cMC : tNRec "МЦ"
+ cMOL : tNRec "МОЛ"
+ cParty : tNRec "партия"
cGroupMC : tNRec "группа МЦ"
kGroupMC : s20 "код группы МЦ"
DateParty : Date "дата годности партии"
+ KOL : tSumma "кол."
+ Price : tSumma "цена"
+ cVal : tNRec "валюта цены в валюте"
+ VPrice : tSumma "цена в валюте"
VBase : tSumma "цена в базовой вал."
+ kolP : tSumma "количество прихода"
+ kolR : tSumma "количество расхода"
+ SumP : tSumma "сумма прихода"
+ SumPV : tSumma "сумма прихода в валюте"
+ SumR : tSumma "сумма расхода"
+ SumRV : tSumma "сумма расхода в валюте"
kolDop : tSumma "кол-во в доп.ед.изм."
cObj : tNRec "Ссылка на объект строительства"
priceN : tSumma "цена для нал.уч."
vPriceN : tSumma "цена для нал.уч. в вал"
cSaldTune : tNRec "Ссылка на настройку объектов учёта"
cKau : tNrec_x09 "Значения аналитик"
cKitKau : tNrec "Ссылка на набор КАУ"
)
With Index
(
TmpSaldo100 = NRec(Unique, Surrogate)
, TmpSaldo101 = cMC + cPodr + cMOL + cParty + cObj
, TmpSaldo102 = cMC + cMOL + cParty
, TmpSaldo103 = cMC + cParty
, TmpSaldo104 = cMC + DateParty
, TmpSaldo105 = cPodr + cMOL + KOL(Desc)
, TmpSaldo106 = DateParty
, TmpSaldo107 = cMC + cPodr + cParty
, TmpSaldo108 = cParty
, TmpSaldo109 = cPodr + cParty
, TmpSaldo110 = cMOL + cParty
, TmpSaldo111 = cSaldTune + cObj + cKau[1] + cKau[2] + cKau[3] + cMC + cPodr + cMOL + cParty
, TmpSaldo112 = cSaldTune + cObj + cKitKau + cMC + cPodr + cMOL + cParty
, TmpSaldo113 = cObj + cKau[1] + cKau[2] + cKau[3] + cKau[4] + cKau[5] + cKau[6] + cKau[7] + cKau[8] +
cKau[9] + cMC + cPodr + cMOL + cParty
);
Аналогично и для Целевого Учета (выгрузка сальдовых остатков по объектам целевого назначения в TmpSaldo1).
Код: Выделить всё
!!! Для использования требуется знание VIP - использование объектных функций VIP !!! :
Function UksStore_Run(abVisual : boolean; adDate : date; acVal : comp; awSaldTune : word;
acObj, acKau1, acKau2, acKau3, acKau4, acKau5, acKau6, acKau7, acKau8, acKau9,
acMC, acPod, acMol, acPar : comp;
abObj, abKau1, abKau2, abKau3, abKau4, abKau5, abKau6, abKau7, abKau8, abKau9,
abMC, abPod, abMol, abPar : boolean) : boolean;
Код: Выделить всё
Var
oSaldo : IUksStore; // Выгрузка сальдовых остатков по объектам целевого назначения
-
- партнер
- Сообщения: 1
- Зарегистрирован: Пт, 05/10/2007 10:38
- Имя Фамилия: Кирилл Кольцов
- Откуда: ИТЕС
- Контактная информация:
Пока дождешься этих вихов…
Виз сам сделай… описание объекта есть в exe\galdoc\l_saldomtr.chm
Берем оттуда описание методов
И клепаем вих…
потом работаем таким образом к примеру….
Виз сам сделай… описание объекта есть в exe\galdoc\l_saldomtr.chm
Берем оттуда описание методов
И клепаем вих…
Код: Выделить всё
#define ComponentVersion
#ifdef ComponentVersion
#component "L_SaldoMtr"
#end
ObjInterface oUksStore;
Function UksStore_Run(abVisual : boolean; adDate : date; acVal : comp; awSaldTune : word;
acObj, acKau1, acKau2, acKau3, acKau4, acKau5, acKau6, acKau7, acKau8, acKau9,
acMC, acPod, acMol, acPar : comp;
abObj, abKau1, abKau2, abKau3, abKau4, abKau5, abKau6, abKau7, abKau8, abKau9,
abMC, abPod, abMol, abPar : boolean) : boolean;
Function UksMove_Run (abVisual : Boolean; adStart : Date; adStop : Date; acVal : Comp; awSaldTune : Word; acObj : Comp; acKau1 : Comp; acKau2 : Comp; acKau3 : Comp; acKau4 : Comp; acKau5 : Comp; acKau6 : Comp; acKau7 : Comp; acKau8 : Comp; acKau9 : Comp; acMC : Comp; acPod : Comp; acMol : Comp; acPar : Comp; abObj : Boolean; abKau1 : Boolean; abKau2 : Boolean; abKau3 : Boolean; abKau4 : Boolean; abKau5 : Boolean; abKau6 : Boolean; abKau7 : Boolean; abKau8 : Boolean; abKau9 : Boolean; abMC : Boolean; abPod : Boolean; abMol : Boolean; abPar : Boolean) : Boolean;
end;
потом работаем таким образом к примеру….
Код: Выделить всё
cmInit:
{
var iU:oUksStore;
LoadVipRef(iU,'iuksstore');
iU.UksStore_Run(true,Date(26,02,2008),0,0 ,0,0,0,0,0,0,0,0,0,0,
0,0001000000001923h,0,0,
true,true,true,true,true,true,true,true,true,true,
true,true,true,true);
}
-
- заказчик
- Сообщения: 83
- Зарегистрирован: Пн, 10/12/2007 13:24
- Имя Фамилия: Сергей Золотухин
- Откуда: Северо-Западные Магистральные Нефтепроводы
- Контактная информация:
Есть и другой вариант!! Очень Простой и Ненадо напрягать ТП и рагзаботчиков!!! Вариант: ВЫЛОЖИТЬ НА СЕРВЕР ОБНОВЛЕНИЙ. И всем хорошо!!!stamp писал(а):на мой взгляд "делать" вихи самим есть неправильно
а вообще файлы *.vih "появляются" в каталоге ..gal810\FRM\ после установки обновлений
смотрите в архивах, если нужного там нет, то нужно обратиться в техподдержку
- mike
- топ-софт
- Сообщения: 38
- Зарегистрирован: Пт, 07/09/2007 11:52
- Имя Фамилия: Михаил Пстыга
- Откуда: ТопСофт
- Контактная информация:
В дистрибутиве последнего релиза 8.1 "РЕЛИЗ : 03/12/2007 : Галактика 8.1 с обновлениями : Атлантис 5.3.14" в архиве galFrm.rar содержатся все vih-файлы Галактики.
Так же они поставляются вместе с обновлениями.
Соответственно, разархивировав galFrm.rar и накатив вихи из обновлений, можно получить актуальные версии вихов.
Так же они поставляются вместе с обновлениями.
Соответственно, разархивировав galFrm.rar и накатив вихи из обновлений, можно получить актуальные версии вихов.
-
- топ-софт
- Сообщения: 197
- Зарегистрирован: Чт, 06/09/2007 17:38
- Имя Фамилия: Вадим Володько
- Откуда: ТопСофт
- Контактная информация:
Уважаемый Павел!
Как указал Михаил Пстыга, в дистрибутиве последнего релиза в архиве galfrm.rar содержатся все vih-файлы. Вместе с обновлениями они также поставляются (измененные).
Соответственно, выкладывать их здесь никто не будет: бессмысленно (надо все корректно делать в одном месте - дистрибутиве и обновлениях).
Есть ли у Вас дистрибутив последнего релиза?
Нашли ли в нём указанный файл galfrm.rar?
Если есть вопрос по конкретному vih-файлу (его нет в дистрибутиве или с обновлениями), сообщайте, будем искать!
Если Вы не согласны с конкретными ответами конкретного сотрудника ТП, Вы можете обратиться к его руководителю для получения исчерпывающих комментариев.
Как указал Михаил Пстыга, в дистрибутиве последнего релиза в архиве galfrm.rar содержатся все vih-файлы. Вместе с обновлениями они также поставляются (измененные).
Соответственно, выкладывать их здесь никто не будет: бессмысленно (надо все корректно делать в одном месте - дистрибутиве и обновлениях).
Есть ли у Вас дистрибутив последнего релиза?
Нашли ли в нём указанный файл galfrm.rar?
Если есть вопрос по конкретному vih-файлу (его нет в дистрибутиве или с обновлениями), сообщайте, будем искать!
Если Вы не согласны с конкретными ответами конкретного сотрудника ТП, Вы можете обратиться к его руководителю для получения исчерпывающих комментариев.