7.7 Временные регистры

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 20 фев 2012.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Подскажите что делаю не так.
    В конфигурации ТиС 7.7 создаю нов, документ в модуле которого я хочу списать товар со склада, при
    том использовав существующие процедуры.

    Вот таким образом:
    Код:
    Процедура ПроведениеПоРегистрам()
    // Удаление движений по регистрам.
    Для Номер = 1 По Метаданные.Регистр() Цикл
    ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор);
    КонецЦикла; 
    
    ТаблицаУслуг = СоздатьОбъект("ТаблицаЗначений");
    ТаблицаТМЦ   = глПодготовитьТаблицуДокумента(Контекст,1,ТаблицаУслуг);	
    
    ТаблицаТМЦ.ВыбратьСтроки();
    Пока ТаблицаТМЦ.ПолучитьСтроку()=1 Цикл
    ТаблицаТМЦ.Единица=ТаблицаТМЦ.Номенклатура.ОсновнаяЕдиница;
    КонецЦикла;
    ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма);
    
    СписокПараметров=СоздатьОбъект("СписокЗначений");
    
    СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок");
    СписокПараметров.ДобавитьЗначение(Константа.СкладПоУмолчанию,  "Склад");
    СписокПараметров.ДобавитьЗначение(Константа.ОсновнаяФирма,  "Фирма");
    СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ,"ФирмаДляОстатковТМЦ");
    СписокПараметров.ДобавитьЗначение(Заявка.Контрагент, "Контрагент");
    СписокПараметров.ДобавитьЗначение(Заявка.Договор,  "Договор");
    
    // СписокПараметров.ДобавитьЗначение(КодОперации, "КодОперации");
    
    ВремРегистры   = СоздатьОбъект("Регистры");
    ВремОстаткиТМЦ   = ВремРегистры.ОстаткиТМЦ;
    
    
    глФильтрОстатковТМЦ  (Контекст, ТаблицаТМЦ, СписокПараметров, ВремОстаткиТМЦ);
    
    Если ИтогиАктуальны()=0 Тогда   
    ВремРегистры.Актуальность(1);
    ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
    КонецЕсли;
    
    Если глСписаниеОстатковТМЦ (Контекст,ТаблицаТМЦ,СписокПараметров, ВремОстаткиТМЦ)=0 Тогда
    Возврат;
    КонецЕсли;
    
    КонецПроцедуры
    
    В результате чего он пишет что не хватает для списания товара (количество 0) хотя по отчету "остатки ТМЦ" на этом скледе лежит больше чем требуется. Не пойму где ошибка :(
    Спасибо!
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну значит нужно отладчиком заглянуть в функцию "глСписаниеОстатковТМЦ()", и посмотреть, чего не хватает.
  3. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    А можно как нибудь посмотреть содержимое регистра в отладчике??
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Без запроса никак не увидите.
    По поводу ошибки - много нюансов. Начиная от константы отвечающей за контроль остатков заканчивая вашим документом...
  5. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А зачем значение регистра смотреть?
    Там перед выводом сообщения будет стоять условие, в котором сравниваются значения переменных.
    Сначала нужно посмотреть эти значения. Потом, если их значения отличаются от теоретических, смотреть от куда они берутся и как модифицируются.

    Вполне возможно, что это не значение регистра (которое может быть корректно), а какие-то действия с его значением (пересчет единиц, учет резервов и пр.)

Поделиться этой страницей