На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
  
> 1C и OLE (Delphi) , Не получается получить данные из Регистра (Остатки
    Пишу программу взаимодействия с 1С(Торговля + Склад) на Delphi. Задача стоит в получении кол-ва конкретного товара на складе. Для этого использую стандартный регистр ОстаткиТМЦ
    Пишу:
    ExpandedWrap disabled
        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!
    С чем может быть вообще связано?
      Уфф...сам разобрался.
      Какой-то *** написал что вместо "пустых" параметров надо ставить либо пустую строку, либо EmptyParam.
      Кто же знал что вместо этого нужно поставить Unassigned =))
      reg.ConsolidatedRest(Unassigned,tovars.CurrentItem,Unassigned,Unassigned,'Количество')
      и все работает!
      Сообщение отредактировано: NetFantom -
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,1109 ]   [ 15 queries used ]   [ Generated: 28.04.24, 13:46 GMT ]