Перейти к содержимому


- - - - -

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


Сообщений в теме: 4

#1 Asttoxa

    Участник


  • 186 сообщений

Отправлено 20 февраля 2012 - 08:16

Подскажите что делаю не так.
В конфигурации ТиС 7.7 создаю нов, документ в модуле которого я хочу списать товар со склада, при
том использовав существующие процедуры.

Вот таким образом:
Процедура ПроведениеПоРегистрам()
// Удаление движений по регистрам.
Для Номер = 1 По Метаданные.Регистр() Цикл
  ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор);
КонецЦикла; 

ТаблицаУслуг = СоздатьОбъект("ТаблицаЗначений");
ТаблицаТМЦ   = глПодготовитьТаблицуДокумента(Контекст,1,ТаблицаУслуг);	
   
ТаблицаТМЦ.ВыбратьСтроки();
Пока ТаблицаТМЦ.ПолучитьСтроку()=1 Цикл
  ТаблицаТМЦ.Единица=ТаблицаТМЦ.Номенклатура.ОсновнаяЕдиница;
КонецЦикла;
ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма);

   СписокПараметров=СоздатьОбъект("СписокЗначений");

СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок");
СписокПараметров.ДобавитьЗначение(Константа.СкладПоУмолчанию,  "Склад");
СписокПараметров.ДобавитьЗначение(Константа.ОсновнаяФирма,  "Фирма");
СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ,"ФирмаДляОстатковТМЦ");
СписокПараметров.ДобавитьЗначение(Заявка.Контрагент, "Контрагент");
СписокПараметров.ДобавитьЗначение(Заявка.Договор,  "Договор");
							  
// СписокПараметров.ДобавитьЗначение(КодОперации, "КодОперации");
   
    ВремРегистры   = СоздатьОбъект("Регистры");
ВремОстаткиТМЦ   = ВремРегистры.ОстаткиТМЦ;
   

глФильтрОстатковТМЦ  (Контекст, ТаблицаТМЦ, СписокПараметров, ВремОстаткиТМЦ);
   
Если ИтогиАктуальны()=0 Тогда   
  ВремРегистры.Актуальность(1);
  ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;
 
Если глСписаниеОстатковТМЦ (Контекст,ТаблицаТМЦ,СписокПараметров, ВремОстаткиТМЦ)=0 Тогда
  Возврат;
КонецЕсли;

КонецПроцедуры


В результате чего он пишет что не хватает для списания товара (количество 0) хотя по отчету "остатки ТМЦ" на этом скледе лежит больше чем требуется. Не пойму где ошибка :(
Спасибо!

#2 WaRDeR

    Работа у меня такая ;)


  • 2 923 сообщений

Отправлено 20 февраля 2012 - 08:39

Ну значит нужно отладчиком заглянуть в функцию "глСписаниеОстатковТМЦ()", и посмотреть, чего не хватает.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э.Йодан)

#3 Asttoxa

    Участник


  • 186 сообщений

Отправлено 20 февраля 2012 - 08:49

Просмотр сообщенияWaRDeR (20 февраля 2012 - 08:39) писал:

Ну значит нужно отладчиком заглянуть в функцию "глСписаниеОстатковТМЦ()", и посмотреть, чего не хватает.
А можно как нибудь посмотреть содержимое регистра в отладчике??

#4 Бухгалтерский угодник

    Ветеран


  • 13 296 сообщений

Отправлено 20 февраля 2012 - 09:47

Без запроса никак не увидите.
По поводу ошибки - много нюансов. Начиная от константы отвечающей за контроль остатков заканчивая вашим документом...
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#5 WaRDeR

    Работа у меня такая ;)


  • 2 923 сообщений

Отправлено 20 февраля 2012 - 13:13

Цитата

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

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





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных