Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
rem95
0 / 0 / 0
Регистрация: 27.12.2014
Сообщений: 7
1

Данные из регистра накопления в переменную

07.01.2015, 21:54. Просмотров 1278. Ответов 11
Метки нет (Все метки)

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

1C
1
2
3
4
5
&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)    
Стр=Элементы.ТекущиеДанные;   
Стр.НаСкладе=ОстатокМатериаловНаСкладе(Стр.Номенклатура);
КонецПроцедуры
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
&НаСервере
Функция ОстатокМатериаловНаСкладе(ТекущийНоменклатура)   
   Запрос = Новый Запрос;    
  Запрос.Текст =      "ВЫБРАТЬ         
|         ОстаткиМатериаловОстатки.Номенклатура,     
|      ОстаткиМатериаловОстатки.КоличествоМатериаловОстаток          
|ИЗ             
|      РегистрНакопления.ОстаткиМатериалов.Остатки(&Дата=Дата,Номенклатура=&Номенклатура) КАК ОстаткиМатериаловОстатки";    
      Запрос.УстановитьПараметр("Номенклатура", ТекущийНоменклатура); 
    ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();   
   Если ВыборкаДетальныеЗаписи.Следующий() Тогда     
Возврат  ВыборкаДетальныеЗаписи.КоличествоМатериаловОстаток; 
    Иначе    
Возврат 0;
КонецЕсли;
КонецФункции
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2015, 21:54
Ответы с готовыми решениями:

Заполнение документа данными из регистра накопления. Создание отчета по данным регистра накопления.
Изучаю 1с по методичкам не могу решить два задания Объясните что да как делается +100 в карму

Как достать данные за период из регистра накопления в документ
Доброго времени суток. У меня есть документ о посещениях детского сада. Из него данные передаются в...

Измерения регистра накопления
Здравствуйте. Подскажите пожалуйста по работе регистра накопления. Регистр Накопления...

Простой запрос регистра накопления
Всем доброе время суток. Сижу уже второй день над проблемой. Есть простой запрос из регистра...

Выборка из регистра накопления остатков
Здравствуйте. Я только учусь поэтому сильно не пинайте если вопросы глупые. Есть задание - в...

11
Tklwegsd
Эксперт 1С
773 / 565 / 191
Регистрация: 24.07.2013
Сообщений: 1,929
07.01.2015, 22:04 2
Проверь какое значение передается в функцию, в параметр "ТекущийНоменклатура".
0
rem95
0 / 0 / 0
Регистрация: 27.12.2014
Сообщений: 7
08.01.2015, 00:59  [ТС] 3
забыла совсем дописать,простите.
процедура в модуле формы, функция в модуле документа.
еще ругается, что:

{Документ.НакладнаяНаСписаниеРесурсов.Форма.ФормаДокумента.Форма(4,14)}: Переменная не определена (ОстатокМатериаловНаСкладе)
Стр.НаСкладе=<<?>>ОстатокМатериаловНаСкладе; (Проверка: Тонкий клиент)

Добавлено через 38 минут
В форме модуля все заработало.глупая ошибка новичка.простите
только НаСкладе по дате не отображает правильно(берет текущее значение материалов,если документ проделать раньше предыдущих по дате)

Добавлено через 1 час 34 минуты
простите если что, я новичок.прошу помощи и понимания)
если дату сделать так,
1C
1
2
3
|ИЗ 
| РегистрНакопления.ОстаткиМатериалов.Остатки(&МоментВремени,Номенклатура=&Номенклатура) КАК ОстаткиМатериаловОстатки"; 
Запрос.УстановитьПараметр("МоментВремени", МоментВремени);
то на это ругает, что
{Документ.НакладнаяНаСписаниеРесурсов.Форма.ФормаДокумента.Форма(10,44)}: Переменная не определена (МоментВремени)
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
09.01.2015, 00:28 4
1C
1
Запрос.УстановитьПараметр("МоментВремени", Объект.Дата);
0
09.01.2015, 00:28
rem95
0 / 0 / 0
Регистрация: 27.12.2014
Сообщений: 7
09.01.2015, 00:42  [ТС] 5
все равно если документ провести вчерашней датой значение в строке НаСкладе будет отображать уже текущее количество материалов,а не материалы в выбранный день
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
09.01.2015, 00:58 6
Цитата Сообщение от rem95 Посмотреть сообщение
если документ провести вчерашней датой
давай определяться, мы проводим или

Цитата Сообщение от rem95 Посмотреть сообщение
Процедура НоменклатураПриИзменении(Элемент)
???

Добавлено через 25 секунд
и как они связаны?
0
rem95
0 / 0 / 0
Регистрация: 27.12.2014
Сообщений: 7
09.01.2015, 01:23  [ТС] 7
не поняла ваш вопрос

Добавлено через 5 минут
при изменении номенклатуры мы получаем из регистра в переменную наскладе остаток материалов.но нужно чтобы наскладе был разных для разных дат документа т.е.чтоб количество наскладе отображалось исходя из даты документа
уточнение/может так понятно/
в сегодняшней проводке -на складе 500списали70
создадим документ со вчерашней датой.в документе наскладе надо 500материалов,а показывает 430
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
09.01.2015, 01:56 8
Цитата Сообщение от rem95 Посмотреть сообщение
создадим документ со вчерашней датой
А если документ не проводить? И изменить номенклатуру (тупо перевыбрать)?

Добавлено через 4 минуты
01.01.15 Груша +10
04.01.15 Груша -2
06.01.15 Груша -2

Какой остаток "Груши" на 04.01.15
и какой остаток "Груши" на 06.01.15 без документа от 04.01.15?
0
rem95
0 / 0 / 0
Регистрация: 27.12.2014
Сообщений: 7
09.01.2015, 02:13  [ТС] 9
мы немного друг друга не понимаем кажется)
просто есть сегодняшний документ.потом хочу создать документ вчерашней датой и чтобы наскладе отображало количество материалов на эту дату/т.к.сегодняшний документ имеет списание,а тут должно получится сколько было до этого списания
мб понятно...
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
09.01.2015, 02:31 10
Цитата Сообщение от rem95 Посмотреть сообщение
т.к.сегодняшний документ имеет списание,а тут должно получится сколько было до этого списания
Так тот код что выше так и работает!

Цитата Сообщение от rem95 Посмотреть сообщение
мы немного друг друга не понимаем кажется)
Ты количество в документах с разной датой разное поставь...
0
rem95
0 / 0 / 0
Регистрация: 27.12.2014
Сообщений: 7
09.01.2015, 02:45  [ТС] 11
то есть в документе с раньшей датой самому число НаСкладе ставить?но так ведь не пракично
так хотела:
11.05 пришло 500
12 взяли 50 остаток450
13 взяли20/взяли из 500/ и остаток 480
значит 12.05 переделается и берем мы из 480 уже
и т.д.

Добавлено через 6 минут
я так хотела по идее:
11.05 пришло 500
12 взяли 50 остаток450
10 взяли20/взяли из 500/ и остаток 480
значит 12.05 переделается и берем мы из 480 уже
и т.д.
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,799
Записей в блоге: 1
Завершенные тесты: 1
09.01.2015, 03:12 12
rem95,

Не по теме:

умеешь ты запутать =)))



Я вообще ничего не понял из того что ты написал =))

Добавлено через 3 минуты
11.05 +500
13.05 -50 (взяли из 500) остаток 450

12.05 -20 (взяли из 500) остаток 480
13.05 остаток 430

Добавлено через 56 секунд
У тебя работает вот так

Добавлено через 42 секунды
На форме ты видишь ОСТАТОК на момент ИЗМЕНЕНИЯ номенклатуры!!!

Добавлено через 14 минут
лезешь в свойства динамического списка таблицы - указываешь что это произвольный запрос
левым соединением дописываешь регистр остатков на дату
выбираешь остаток из регистра в выбранные поля, перетаскиваешь его в таблицу на форму
в процедуре при создании на сервере заполняешь параметры динамического списка

ВСЕ! Колонка с динамическим остатком готова!
0
09.01.2015, 03:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2015, 03:12

Запрос к остаткам регистра накопления
Функция ПолучитьДаныеПоСырью(ТекДокумент, МассивСырья) Запрос = Новый Запрос; Запрос.Текст =...

Список из регистра накопления в тч документа
Здравствуйте. Стоит следующая задача. При создании документа о реализации товара/материала (либо...

Последнее значение ресурса регистра накопления
Здравствуйте. в собственной конфигурации есть документ &quot;Ежедневный отчет&quot;, который создает движение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru