|
возврат параметра в функции | ☑ | ||
---|---|---|---|---|
0
manti
21.03.12
✎
16:52
|
Как правильно вызвать функцию и нужный параметр, содержащийся в ней? Код
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Товар = ДанныеСтроки.Номенклатура; ВЫборка = ПоказатьОстаток(Товар); Остаток = Выборка.КоличествоОстаток;//так ничего не возвращает ОформлениеСтроки.Ячейки.Остаток.УстановитьТекст(Остаток); КонецПроцедуры Функция ПоказатьОстаток(Товар) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновнойОстатки.КоличествоОстаток, | ЕСТЬNULL(СРЕДНЕЕ(ОсновнойОстатки.СуммаОстаток / ОсновнойОстатки.КоличествоОстаток), 0) КАК среднее |ИЗ | РегистрБухгалтерии.Основной.Остатки(, Счет = &Счет, , Субконто1 = &Субконто) КАК ОсновнойОстатки | |СГРУППИРОВАТЬ ПО | ОсновнойОстатки.КоличествоОстаток"; Запрос.УстановитьПараметр("Счет", ПланыСчетов.Основной.Товары); Запрос.УстановитьПараметр("Субконто", Товар); Остатки = Запрос.Выполнить().Выбрать(); //Остатки.Следующий(); Возврат Остатки; //Остатки.КоличествоОстаток КонецФункции //ПоказатьОстаток() |
|||
1
Лефмихалыч
21.03.12
✎
16:53
|
Следующий()
|
|||
2
Kashemir
21.03.12
✎
16:53
|
Пока Остатки.Следующий() Цикл
|
|||
3
Maxus43
21.03.12
✎
16:54
|
Если Остатки.Следующий() Тогда
Возврат Остатки.КоличествоОстаток Иначе Возврат 0; КонецЕсли; |
|||
4
palpetrovich
21.03.12
✎
16:54
|
Остатки = Запрос.Выполнить().Выбрать(); - зачем здесь Выбрать?
|
|||
5
Ненавижу 1С
гуру
21.03.12
✎
16:54
|
потому что нет Выборка.Следующий()
а вообще запрос фееричен |
|||
6
Ненавижу 1С
гуру
21.03.12
✎
16:55
|
интересно ЧТО ЭТО?
|
|||
7
salvator
21.03.12
✎
16:56
|
Остатки без даты? Ммм...
|
|||
8
Grrrr
21.03.12
✎
16:56
|
Зачем вообще функция?
|
|||
9
Kashemir
21.03.12
✎
16:56
|
Прикольная конструкция - удобно рандомные числа генерить :)
СРЕДНЕЕ(ОсновнойОстатки.СуммаОстаток / ОсновнойОстатки.КоличествоОстаток), 0) |
|||
10
Ненавижу 1С
гуру
21.03.12
✎
16:56
|
(7) биздатые остатки
|
|||
11
Ненавижу 1С
гуру
21.03.12
✎
16:57
|
(9) в данном случае особо не нагенеришь
|
|||
12
Maxus43
21.03.12
✎
16:57
|
(7) норм, текущие остатки) точней на 3000-какойто год, непомню тончо)
|
|||
13
Kashemir
21.03.12
✎
16:57
|
(11) Да я шучу. Смысл в том что смысла в этой конструкции зеро.
|
|||
14
manti
21.03.12
✎
17:17
|
(13)
впринцыпе да но почему то при том что прописна функция ЕСТЬNULL - все равно ругается на деление на 0. Код ЕСТЬNULL(СРЕДНЕЕ(ЕСТЬNULL(ОсновнойОстатки.СуммаОстаток, 1) / ЕСТЬNULL(ОсновнойОстатки.КоличествоОстаток, 1)), 1) КАК среднее почему он так ругается? |
|||
15
Ненавижу 1С
гуру
21.03.12
✎
17:18
|
(14) потому что
1. от 0 это не панацея 2. NULL там вообще кстати невозможен |
|||
16
Maxus43
21.03.12
✎
17:18
|
(14) ЕСТЬNULL это не Есть Ноль)
|
|||
17
Maxus43
21.03.12
✎
17:20
|
Выбор Когда НЕ ОсновнойОстатки.КоличествоОстаток = 0 ТОгда
ОсновнойОстатки.СуммаОстаток / ОсновнойОстатки.КоличествоОстаток Иначе ОсновнойОстатки.СуммаОстаток Конец |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |