Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.143.255.240] |
|
Сообщ.
#1
,
|
|
|
Пишу программу взаимодействия с 1С(Торговля + Склад) на Delphi. Задача стоит в получении кол-ва конкретного товара на складе. Для этого использую стандартный регистр ОстаткиТМЦ
Пишу: var onesobj,reg,tovars,sklad,firm: Olevariant; i : integer; begin //Соединяемся с 1С onesobj := createoleobject('V1CEnterprise.Application'); onesobj.initialize(onesobj.rmtrade,'','NO_SPLASH_SHOW'); //Находим нужный товар tovars := onesobj.createobject('Справочник.Номенклатура'); if (tovars.FindByCode('00002045') = 0) then ShowMessage('Товар не найден'); reg := onesobj.createobject('Регистр.ОстаткиТМЦ'); [COLOR=red]i := reg.ConsolidatedRest('',tovars.CurrentItem,'',0,'Количество');[/COLOR] reg := UnAssigned; firm := UnAssigned; tovars := UnAssigned; onesobj := UnAssigned; end; 00002045 это код искомого товара. Когда генерирую отчет по остаткам в 1С - остатки на складе ненулевые. Но reg.ConsolidatedRest('',tovars.CurrentItem,'',0,'Количество'); возвращает 0! С чем может быть вообще связано? |
Сообщ.
#2
,
|
|
|
Уфф...сам разобрался.
Какой-то *** написал что вместо "пустых" параметров надо ставить либо пустую строку, либо EmptyParam. Кто же знал что вместо этого нужно поставить Unassigned =)) reg.ConsolidatedRest(Unassigned,tovars.CurrentItem,Unassigned,Unassigned,'Количество') и все работает! |