|
Как найти минимум | ☑ | ||
---|---|---|---|---|
0
TRABANT
09.10.11
✎
16:19
|
Здрасти подскажие пожалуйста алгоритм как выводить минимальное значение табличной части документа
|
|||
1
asady
09.10.11
✎
16:19
|
Запросом получить и вывести
|
|||
2
TRABANT
09.10.11
✎
16:20
|
А можете простейший приер привести? Я пытался через цикл реализовать
|
|||
3
asady
09.10.11
✎
16:23
|
ВЫБРАТЬ МИНИМУМ(Док.Количество) ИЗ Документ.ТвойДок.Товары КАК Док
ГДЕ Док.Ссылка=&СсылкаНаТвойДок |
|||
4
asady
09.10.11
✎
16:23
|
(2) пример (3) работает если док записан.
|
|||
5
TRABANT
09.10.11
✎
16:27
|
Проверил в констукторе запросов вроде работает
ВЫБРАТЬ МИНИМУМ(Документ1ТабличнаяЧасть1.Число) КАК Число ИЗ Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1 |
|||
6
Нуф-Нуф
09.10.11
✎
16:27
|
(4) та ну?
|
|||
7
zak555
09.10.11
✎
16:28
|
(5) документ один в БД ?
|
|||
8
TRABANT
09.10.11
✎
16:29
|
Да,для тестов создал сижу тестирую
|
|||
9
TRABANT
09.10.11
✎
17:13
|
Можно глупый вапрос? как мне теперь вывести полученные в запросе данные? Через отладчик он находит мин значение..Но в сообщение ничего не видет:(
Процедура ТабличнаяЧасть1ЧислоПриИзменении(Элемент) Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ |МИНИМУМ(Документ1ТабличнаяЧасть1.Число) КАК Число |ИЗ |Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1"; Результат = Запрос.Выполнить(); ЭлементыФормы.Ммм.Значение = "мин значение:"+результат; сообщить ("-"+Результат); КонецПроцедуры |
|||
11
PR
09.10.11
✎
17:14
|
(9) Тебе не кажется, что стоит прочитать документацию? Так, для начала :))
|
|||
12
TRABANT
09.10.11
✎
17:19
|
Да кажется вот и читаю..:) заодно тут вапросы задаю,может кто чего подскажет толкового.
|
|||
13
TRABANT
09.10.11
✎
17:29
|
разобрался
Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ |МИНИМУМ(Документ1ТабличнаяЧасть1.Число) КАК Число |ИЗ |Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1"; Выборка = Запрос.Выполнить().Выбрать(); Выборка.следующий(); Сообщить ("мин" + Выборка.число); |
|||
14
Doomer
09.10.11
✎
17:47
|
И кто говорил что программисту 1С не нужны алгоритмы сортировки и поиска?
|
|||
15
ILM
гуру
09.10.11
✎
18:08
|
(13)
(7) Намекает, что нужно вам ещё отбор по документу добавить в запрос Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ |МИНИМУМ(Документ1ТабличнаяЧасть1.Число) КАК Число |ИЗ |Документ.Документ1.ТабличнаяЧасть1 КАК Документ1ТабличнаяЧасть1 |ГДЕ | Документ1ТабличнаяЧасть1 = &СсылкаДокумента"; Запрос.Установитьпараметр("СсылкаДокумента", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Выборка.следующий(); Сообщить ("мин" + Выборка.число); |
|||
16
ILM
гуру
09.10.11
✎
18:09
|
##| Документ1ТабличнаяЧасть1.Ссылка
|
|||
17
Grusswelle
09.10.11
✎
18:10
|
мдя
|
|||
18
TRABANT
09.10.11
✎
18:11
|
спасибо за советы
|
|||
19
AlStorm
09.10.11
✎
18:17
|
Интересно, тупо перебором по табличной части будет медленнее, чем в запросе?
Если процедура в форме этого документа запускается, то сомневаюсь... |
|||
20
TRABANT
09.10.11
✎
18:22
|
так же испытал таки образом:
Функция ПолучитьМинимальноеЗначение() Минзначение = ТабличнаяЧасть1[0].Число; //МинЗначение = Товары[0].Количество; Для каждого СтрокаТЧ из ТабличнаяЧасть1 Цикл //Для каждого СтрокаТЧ Из Товары Цикл МинЗначение = ?(МинЗначение < СтрокаТЧ.число, МинЗначение, СтрокаТЧ.число); //МинЗначение = ?(МинЗначение < СтрокаТЧ.Количество, МинЗначение, СтрокаТЧ.Количество); КонецЦикла; Возврат МинЗначение; КонецФункции Процедура Кнопка1Нажатие(Элемент) МинЗначение = ПолучитьМинимальноеЗначение(); ЭлементыФормы.ТекстовоеПоле.Значение = "Минимальное количество в табличной части = " + МинЗначение ; КонецПроцедуры |
|||
21
Alexandr Puzakov
09.10.11
✎
19:03
|
А нЕ запросом пользоваться уже не модно?
|
|||
22
Aleksey
09.10.11
✎
19:11
|
(21) Сейчас тебя объяснят, что настоящий 1С-ник использует только ПРЯМОЙ запрос, все остальные вообще не программисты, которые используют запрос на языке 1С
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |