Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / v8.1 регистры остатков / 5 сообщений из 5, страница 1 из 1
26.01.2010, 21:59
    #36432432
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8.1 регистры остатков
Не пинайте сильно, изучаю эту платформу, первые шаги.
Есть регистр накопления ОстаткиТМЦ(изм: номенклатура, склад; рес: количество)
приходная и расходные накладные заполняют этот регистр.
теперь в расходной накладной хочу сделать контроль наличия остатка. как мне из регистра ОстаткиТМЦ получить количество выбраного товара на определенную дату, по выбраному складу?

пытаюсь делать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
	
        СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные;
        Остатки = РегистрыНакопления.ОстаткиНоменклатуры;
	Фильтр = Новый Структура;
	Фильтр.Вставить("Номенклатура",СтрокаТЧ.Номенклатура);
	Фильтр.Вставить("Склад", ЭлементыФормы.Склад.Значение);
	ТабОстатков = Остатки.Остатки(ЭлементыФормы.Дата,Фильтр,
               "Номенклатура,Склад", "Количество");
	р=ТабОстатков.Получить( 0 ).Получить( 0 );
получаю ошибку "...Несоответствие типов (параметр номер ""1"")

Что я не так делаю? подскажите
с ув. наутилус
...
Рейтинг: 0 / 0
27.01.2010, 08:23
    #36432694
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8.1 регистры остатков
Код: plaintext
ЭлементыФормы.Дата.значение
может быть так? я не силен, но Вы вроде как элемент формы пхаете как дату?
а вообще все просто . надо лишь посттавит красную точечку и начать отладку
...
Рейтинг: 0 / 0
27.01.2010, 10:29
    #36432918
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8.1 регистры остатков
у элеменеты формы привязаны к реквизитам. У реквизитов есть свои имена

вероятно Фильтр.Вставить("Склад", Склад);

И Остатки.Остатки(ЭлементыФормы.Дата, будет выглядеть иначе
...
Рейтинг: 0 / 0
27.01.2010, 15:46
    #36434005
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8.1 регистры остатков
пока что сделал так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
	//узнаем кол-во
	Остатки = РегистрыНакопления.ОстаткиНоменклатуры;
	Фильтр = Новый Структура;
	Фильтр.Вставить("Номенклатура",СтрокаТЧ.Номенклатура);
	Фильтр.Вставить("Склад", ЭлементыФормы.Склад.Значение);
	ТабОстатков = Остатки.Остатки(ЭлементыФормы.Дата.Значение,Фильтр,
               "Номенклатура,Склад", "Количество");
	Если ТабОстатков.Количество()> 0  Тогда
		ОстКол=ТабОстатков.Получить( 0 ).Получить( 2 );
	Иначе
		ОстКол= 0 ;
	КонецЕсли;
Люди советую переделать через запрос. попробую.
...
Рейтинг: 0 / 0
02.02.2010, 10:36
    #36443776
Шурыгин Иван Сергеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8.1 регистры остатков
наутилус,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	ТекстЗапроса = "ВЫБРАТЬ
	               |	РеализованныеТоварыКомитентовОстатки.Организация,
	               |	РеализованныеТоварыКомитентовОстатки.Контрагент,
	               |	РеализованныеТоварыКомитентовОстатки.ДоговорКонтрагента,
	               |	РеализованныеТоварыКомитентовОстатки.Номенклатура,
	               |	РеализованныеТоварыКомитентовОстатки.КоличествоОстаток,
	               |	РеализованныеТоварыКомитентовОстатки.ВыручкаОстаток,
	               |	РеализованныеТоварыКомитентовОстатки.СуммаПоступленияОстаток
	               |ИЗ
	               |	РегистрНакопления.РеализованныеТоварыКомитентов.Остатки(&Дата, ) КАК РеализованныеТоварыКомитентовОстатки
	               |ГДЕ
	               |	РеализованныеТоварыКомитентовОстатки.Контрагент = &Контрагент
	               |	И РеализованныеТоварыКомитентовОстатки.Номенклатура = &Номенклатура"
	Запрос = Новый Запрос;
	Запрос.Текст = ТекстЗапроса;
	Запрос.УстановитьПараметр("Дата",Дата);
	Запрос.УстановитьПараметр("Контрагент",Контрагент);
	Запрос.УстановитьПараметр("Номенлатура",Номенлатура);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Если Выборка.Следующий() Тогда
		Результат = Выборка.Результат;
	КонецЕсли;
вот примерно текст просто запроса по остаткам! единственно вам нужно указать свой регистр! ну и вместо параметра контрагент указать параметр склад (к сожалению под рукой не было рабочей УТ) далее вместо
Код: plaintext
Если Выборка.Следующий() Тогда 
можно использовать конструкцию
Код: plaintext
1.
2.
3.
4.
Пока Выборка.Следуюший Цикл 
...
...

КонецЦикла;
Первая конструкция позволит получить первую строчку выборки!
вторая конструкция последовательно переберет все строчки выборки!

также начните пользоваться:
а) конструктором запроса
б) консолью запросов

упростит жизнь
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / v8.1 регистры остатков / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]