|
Возвратить данные из регистра накопления в табличнцю часть документа | ☑ | ||
---|---|---|---|---|
0
PrimIgor
13.04.13
✎
16:40
|
Помогите начинающему!
Платформа 8,2 Необходимо чтобы в табличную часть документа при выборе поля "наименование" в поле "Остаток" выводился остаток из регистра накопления по конкретному наименованию. Имеется код Функция ОстатокВыпуск(ТекущееНаименование) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВыпускОстаткиИОбороты.Наименование, | ВыпускОстаткиИОбороты.ВыпускКонечныйОстаток |ИЗ | РегистрНакопления.Выпуск.ОстаткиИОбороты КАК ВыпускОстаткиИОбороты"; Запрос.УстановитьПараметр("Наименование",ТекущееНаименование); ЗначенияРесурсов = Запрос.Выполнить().Выбрать(); Если ЗначенияРесурсов.Следующий()Тогда Возврат ЗначенияРесурсов.ВыпускКонечныйОстаток; Иначе Возврат 0; КонецЕсли; КонецФункции |
|||
1
PrimIgor
13.04.13
✎
16:42
|
программа выдает конечный остаток только по первому записанному наименованию
|
|||
2
shuhard
13.04.13
✎
16:42
|
(0)[ВыпускОстаткиИОбороты.Наименование] очень плохо
[Запрос.УстановитьПараметр("Наименование",ТекущееНаименование);] бессмысленно [ЗначенияРесурсов = Запрос.Выполнить().Выбрать();] есть выгрузить() и у ТЧ есть Загрузить() |
|||
3
unkairosed
13.04.13
✎
16:45
|
(0) Хочешь сказать регистр "Выпуск" не оборотный?
|
|||
4
PrimIgor
13.04.13
✎
16:45
|
Вот в ТЧ что
&НаКлиенте Процедура ПеремещениеНаименованиеПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.Перемещение.ТекущиеДанные; СтрокаТабличнойЧасти.Остаток = ОбщийМодульВыпуск.ОстатокВыпуск(СтрокаТабличнойЧасти.Наименование); КонецПроцедуры |
|||
5
unkairosed
13.04.13
✎
16:49
|
Для начала, "Наименование" имеет ссылочный тип или строковый? На наименование как на строку, мягко говоря, ориентироваться не стоит, это уже сказали в (2).
|
|||
6
PrimIgor
13.04.13
✎
16:50
|
Наименование ссылочный тип
|
|||
7
unkairosed
13.04.13
✎
16:53
|
Во вторых, если нужно получить только остаток, обращайся к виртуальной таблице "Остатки", а не "ОстаткиИОбороты". Далее, параметр ты установил, но в тексте запроса нет фильтра по этому параметру.
|
|||
8
PrimIgor
13.04.13
✎
17:01
|
Напишите примерно как отфильтровать
|
|||
9
shuhard
13.04.13
✎
17:03
|
(8) &
|
|||
10
unkairosed
13.04.13
✎
17:07
|
Текст функции можно представить в виде двух строк:
Остаток = РегистрыНакопления.Выпуск.Остатки(,Новый Структура("Наименование", ТекущееНаименование), "Наименование", "Количество"); Возврат ?(Остаток.Количество(), Остаток[0].Количество, 0); |
|||
11
PrimIgor
13.04.13
✎
17:10
|
Огромное спасибо всем! Я вроде разобрался на данном этапе.
Функция ОстатокВыпуск(ТекущееНаименование) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВыпускОстатки.Наименование, | ВыпускОстатки.ВыпускОстаток |ИЗ | РегистрНакопления.Выпуск.Остатки(, Наименование = &Наименование) КАК ВыпускОстатки"; Запрос.УстановитьПараметр("Наименование",ТекущееНаименование); ЗначенияРесурсов = Запрос.Выполнить().Выбрать(); Если ЗначенияРесурсов.Следующий()Тогда Возврат ЗначенияРесурсов.ВыпускОстаток; Иначе Возврат 0; КонецЕсли; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |