Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:34

отображение по дате

Автор rem95, 08 янв 2015, 22:59

0 Пользователей и 1 гость просматривают эту тему.

rem95

помогите пожалуйста. В 1С предприятие имеются документы поступления и списания материалов со склада, а так же регистр накопления ОстаткиМатериалов. В документе о списании имеются в табличной части переменные Номенклатура,Количество/которое мы будем списывать/ и НаСкладе.когда мы выбираем какой-то материал в переменной НаСкладе должно отображаться текущее значение количества материала на складе. Проблемы с датами...
Нужно чтобы мы выбираем 7числа номенклатуру и списываем.потом списываем 6.01 или 15.01 эту же номенклатуру
данные НаСкладе в обоих случах отображают 500-начальное количество.так что в любом документе с выбранной номенклатурой 500 - начальное знаение
что можно сделать с датой?..прошу помощь

Пробовала изменять процедуру, но в итоге ничего не вышло
&НаСервере
Функция ОстатокМатериаловНаСкладе(ТекущийНоменклатура)   
Запрос = Новый Запрос;   
Запрос.Текст =      "ВЫБРАТЬ         
|  ОстаткиМатериаловОстатки.Номенклатура,     
|  ОстаткиМатериаловОстатки.КоличествоМатериаловОстаток         
|ИЗ             
|   РегистрНакопления.ОстаткиМатериалов.Остатки(&МоментВремени,Номенклатура=&Номенклатура) КАК ОстаткиМатериаловОстатки";   
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
Запрос.УстановитьПараметр("Номенклатура", ТекущийНоменклатура);
ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
      Если
ВыборкаДетальныеЗаписи.Следующий() Тогда     
Возврат  ВыборкаДетальныеЗаписи.КоличествоМатериаловОстаток;
     Иначе     Возврат 0;
КонецЕсли;
КонецФункции

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)   
Стр=Элементы.ТекущиеДанные; 
Стр.НаСкладе=ОстатокМатериаловНаСкладе(Стр.Номенклатура);
КонецПроцедуры

дфтын

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
Вот собственно тут и задавайте на какой момент вы желаете получить осттаок

cska-fanat-kz

Цитата: rem95 от 08 янв 2015, 22:59что можно сделать с датой?..прошу помощь

пока единственная версия - ваши документы списания не делают расходных движений, поэтому у вас и остаток всегда равен приходу...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

ну народ, вы меня удивляете? где в вашем запросе обращение к складу по регистру?
во первых в результат его вывести, и в условиях отбора виртуальной таблицы прописать!
если одним документом ТоварА 100 шт. списали со Слада1 а другим документом ТоварА 100 шт. оприходовали на Склад2 то общий остаток ТоварА (без разбивки по скаладам) будет один и тот-же!

Да и функция, у автора вопроса называется ОстатокМатериаловНаСкладе!!! а где отбор-то по нужному складу???

&НаСервере
Функция ОстатокМатериаловНаСкладе(ТекущийНоменклатура)

Добавлено: 11 янв 2015, 14:35


в догонку, выше была ошибка

во первых в результат его вывести, и в условиях отбора виртуальной таблицы прописать!

правильнее будет

во первых в результат его вывести, и/или в условиях отбора виртуальной таблицы прописать!
если помогло нажмите: Спасибо!

cska-fanat-kz

Цитата: LexaK от 11 янв 2015, 14:15ну народ, вы меня удивляете? где в вашем запросе обращение к складу по регистру?

а где в постановке задачи сказано, что у него НЕСКОЛЬКО складов? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

постановка вопроса, конечно не совсем внятная, но там есть эта фраза

Цитировать
...выбираем какой-то материал в переменной НаСкладе должно отображаться текущее значение количества материала на складе.

подразумевается что измерение Склад в регистре есть! Да и как иначе? Не видел ни одной фирмы где складов не было бы вообще, есть хотя бы Основной. Но здесь не этот вариант.
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск