Имя: Пароль:
1C
 
Получение данных из регистра остатков, объектная модель
0 maptbln
 
08.11.17
10:45
День добрый,
Есть документ "Продажа Товаров"
В его форму добавил поле Ост , которое должно показывать общие остатки на складе на момент проведения документа
добавил след код

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
    Стр = Элементы.Товары.ТекущиеДанные;
    Если Стр <> Неопределено Тогда
      Ост = ОпределениеОстаткаТовара(Стр.Номенклатура,Объект.Склад,Объект.Дата,Объект.Ссылка);    
    КонецЕсли;                                                                                    
    КонецПроцедуры

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

ТаблицаОст=ОстаткиТов.Остатки(ВременнойМомент,ФильтрТов,"Номенклатура","Количество");

  Возврат ТаблицаОст.Итог("Количество");

вроде по-уму,но не работает
подскажите,в чем дело
1 Lexey_
 
08.11.17
10:53
(0) отладчик знает
2 Ненавижу 1С
 
гуру
08.11.17
10:54
ВременнойМомент=Неопределено;
...
ТаблицаОст=ОстаткиТов.Остатки(ВременнойМомент...


это как?
3 maptbln
 
08.11.17
10:58
если документ уже записывался в базу,значит из его даты и ссылки и собираю Момент времени,если документ новый,то определяем актуальные остатки
4 youalex
 
08.11.17
11:11
Сделай запросом, пожалей людей после себя.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн