|   |   | 
| 
 | Как найти минимум | ☑ | ||
|---|---|---|---|---|
| 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С     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |