| 
    
        
     
     | 
    
  | 
v7: Поиск документа по реквизиту 1с 7.7, запросом | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Adecvator    
     13.03.17 
            ✎
    10:23 
 | 
         
        |НомерДоговора    = Документ.Договор.НомерДоговора;
 
        |ТекущийДокумент= Документ.Договор.ТекущийДокумент; |Группировка ТекущийДокумент; |Условие(СокрЛП(НомерДоговора) = _НомерДоговора); Пока Запрос.Группировка(1) = 1 Цикл Возврат Запрос.ЗначениеУпорядочивания(1); КонецЦикла; _НомерДоговора = "1.4", договор с таким номером есть, но не находит (  | 
|||
| 
    1
    
        Adecvator    
     13.03.17 
            ✎
    10:24 
 | 
         
        передаю _НомерДоговора = "1.4"     
         | 
|||
| 
    2
    
        Волшебник    
     модератор 
    13.03.17 
            ✎
    10:24 
 | 
         
        У вас цикл не крутится     
         | 
|||
| 
    3
    
        Adecvator    
     13.03.17 
            ✎
    10:27 
 | 
         
        (2) а зачем крутить мне по первому въождению     
         | 
|||
| 
    4
    
        Chameleon1980    
     13.03.17 
            ✎
    10:38 
 | 
         
        может дело в длине номера не?     
         | 
|||
| 
    5
    
        Adecvator    
     13.03.17 
            ✎
    10:41 
 | 
         
        (4) ну я типа обрезаю СокрЛП(). Запрос по справочнику:
 
        "//{{ЗАПРОС(ПоискКонтрагентаПоИНН) |ТекущийЭлемент = Справочник.Контрагенты.ТекущийЭлемент; |ИНН = Справочник.Контрагенты.ИНН; |Группировка ТекущийЭлемент; |Условие(СокрЛП(ИНН) = _ИНН); Пока Запрос.Группировка(1) = 1 Цикл Возврат Запрос.ЗначениеУпорядочивания(1); КонецЦикла Отрабатывает на ура, а вот по документу не пойму.....  | 
|||
| 
    6
    
        Волшебник    
     модератор 
    13.03.17 
            ✎
    10:41 
 | 
         
        (3) Если крутить не надо, то зачем цикл?     
         | 
|||
| 
    7
    
        Adecvator    
     13.03.17 
            ✎
    10:45 
 | 
         
        (6) Да не знаю как по другому )     
         | 
|||
| 
    8
    
        Chameleon1980    
     13.03.17 
            ✎
    10:46 
 | 
         
        если Запрос.Группировка(1) = 1 тогда     
         | 
|||
| 
    9
    
        Масянька    
     13.03.17 
            ✎
    10:48 
 | 
         
        (5) Контрагенты - самостоятельный справочник. А Договоры/Договора - подчинен Контрагентам.     
         | 
|||
| 
    10
    
        Chameleon1980    
     13.03.17 
            ✎
    10:50 
 | 
         
        (9) а тут пофиг на это похоже     
         | 
|||
| 
    11
    
        Chameleon1980    
     13.03.17 
            ✎
    10:51 
 | 
         
        вот бы на полный текст запроса посмотреть, а то я смотрю текдокумент это реквизит договора еще какого-то документа, оказывается.     
         | 
|||
| 
    12
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    10:53 
 | 
         
        (0), (5). Запрос.Выполнить() то хоть есть в коде ?     
         | 
|||
| 
    13
    
        Adecvator    
     13.03.17 
            ✎
    10:54 
 | 
         
        Запрос = СоздатьОбъект("Запрос");
 
        ТекстЗапроса = "//{{ЗАПРОС(ПоискДоговорПоНомеру) |НомерДоговора = Документ.Договор.НомерДоговора; |ТекущийДокумент= Документ.Договор.ТекущийДокумент; |Группировка ТекущийДокумент; |Условие(СокрЛП(НомерДоговора) в _НомерДоговора); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат ""; КонецЕсли; Пока Запрос.Группировка(1) = 1 Цикл Возврат Запрос.ЗначениеУпорядочивания(1); КонецЦикла;  | 
|||
| 
    14
    
        Zmich    
     13.03.17 
            ✎
    10:56 
 | 
         
        (13). Документ Договор проводится? Если нет, в тексте запроса должна быть строчка |ОбрабатыватьДокументы Все;     
         | 
|||
| 
    15
    
        Adecvator    
     13.03.17 
            ✎
    11:00 
 | 
         
        //{{ЗАПРОС(ПоискДоговорПоНомеру)
 
        |НомерДоговора = Документ.Договор.НомерДоговора; |ТекущийДокумент= Документ.Договор.ТекущийДокумент; |Группировка ТекущийДокумент; |Условие(СокрЛП(НомерДоговора) в _НомерДоговора); |ОбрабатыватьДокументы Все; не помогут, документ проводится.  | 
|||
| 
    16
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    11:01 
 | 
         
        (13) зачем "в"  в условии ?
 
        Зачем ЗначениеУпорядочивания ? Возврат Запрос.ТекущийДокумент хотя бы  | 
|||
| 
    17
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    11:02 
 | 
         
        и это, без твоего условия хоть что-то возвращает ?     
         | 
|||
| 
    18
    
        Adecvator    
     13.03.17 
            ✎
    11:13 
 | 
         
        Запрос = СоздатьОбъект("Запрос");
 
        ТекстЗапроса = "//{{ЗАПРОС(ПоискДоговорПоНомеру) |НомерДоговора = Документ.Договор.НомерДоговора; |ТекущийДокумент= Документ.Договор.ТекущийДокумент; |Группировка ТекущийДокумент; |Условие(СокрЛП(НомерДоговора) = _НомерДоговора); |ОбрабатыватьДокументы Все; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат ""; КонецЕсли; Если Запрос.Группировка(1) = 1 Тогда Возврат Запрос.ЗначениеУпорядочивания(1); КонецЦикла;  | 
|||
| 
    19
    
        Adecvator    
     13.03.17 
            ✎
    11:14 
 | 
         
        результат тот же (     
         | 
|||
| 
    20
    
        welwel    
     13.03.17 
            ✎
    11:22 
 | 
         
        как вариант: условие из запроса перенести из запроса внутрь цикла "Пока Запрос.Группировка(1) = ..."
 
        и там уже посмотреть значения отладчиком  | 
|||
| 
    21
    
        azernot    
     13.03.17 
            ✎
    11:22 
 | 
         
        _НомерДоговора - это случайно не реквизит формы?
 
        Проверь, что у тебя там Сообщить("'"+_НомерДоговора+"'");  | 
|||
| 
    22
    
        Chameleon1980    
     13.03.17 
            ✎
    11:29 
 | 
         
        (21) думается, запрос бы и не начал работать.     
         | 
|||
| 
    23
    
        Adecvator    
     13.03.17 
            ✎
    11:29 
 | 
         
        (20) Спасибо, это конечно не правильно, но выход )     
         | 
|||
| 
    24
    
        Chameleon1980    
     13.03.17 
            ✎
    11:29 
 | 
         
        вопрос в том - заполнено ли в реквизите значение
 
        правильно предлагают - в цикле посмотреть что там возращается  | 
|||
| 
    25
    
        Chameleon1980    
     13.03.17 
            ✎
    11:30 
 | 
         
        (23) посмотреть, хотя-бы     
         | 
|||
| 
    26
    
        welwel    
     13.03.17 
            ✎
    11:32 
 | 
         
        либо еще так проверить:
 
        _НомерДоговора_ = СокрЛП(_НомерДоговора); ... |Условие(СокрЛП(НомерДоговора) = _НомерДоговора_);  | 
|||
| 
    27
    
        azernot    
     13.03.17 
            ✎
    11:32 
 | 
         
        (22) Почему?
 
        Если _НомерДоговора - это реквизит формы типа Строка 10, То конструкция языка _НомерДоговора = "1.4"; приведёт к тому, что в реквизите _НомерДоговора будет значение "1.4 ", что не соответствует условиям  | 
|||
| 
    28
    
        Chameleon1980    
     13.03.17 
            ✎
    11:45 
 | 
         
        (27) я  про то, что из запроса то не обратишься к реквизиту формы.
 
        и да, из (0) _НомерДоговора = "1.4", договор с таким номером есть, но не находит ( проще все-же посмотреть ТСу результат перебора и озвучить причину  | 
|||
| 
    29
    
        Chameleon1980    
     13.03.17 
            ✎
    11:46 
 | 
         
        автор, что там дают переменные запроса в цикле?     
         | 
|||
| 
    30
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    11:49 
 | 
         
        (27) так и есть     
         | 
|||
| 
    31
    
        Adecvator    
     13.03.17 
            ✎
    12:06 
 | 
         
        (29) сам запрос глючит, не выводит не фига     
         | 
|||
| 
    32
    
        Builder    
     13.03.17 
            ✎
    12:13 
 | 
         
        (31) Попробуй период в запросе задать что ли....     
         | 
|||
| 
    33
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    12:24 
 | 
         
        (31) без условия запрос что-то возвращает ?     
         | 
|||
| 
    34
    
        Adecvator    
     13.03.17 
            ✎
    12:26 
 | 
         
        (33) нет (     
         | 
|||
| 
    35
    
        1dvd    
     13.03.17 
            ✎
    12:31 
 | 
         
        (34) ещё раз спрашиваем. Документы проведены?     
         | 
|||
| 
    36
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    12:34 
 | 
         
        (34) Круто, че.
 
        Добавь тогда хотя бы период в текст запроса, для начала. И выкини Запрос.ЗначениеУпорядочивания(1) из кода.  | 
|||
| 
    37
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    12:34 
 | 
         
        Ну и, запрос, по-умолчанию, только проведенные документы выгребает.     
         | 
|||
| 
    38
    
        Масянька    
     13.03.17 
            ✎
    12:38 
 | 
         
        Извините, что я вмешиваюсь в беседу профессионалов, но - зачем огород?     
         | 
|||
| 
    39
    
        1dvd    
     13.03.17 
            ✎
    12:38 
 | 
         
        (38) ы?     
         | 
|||
| 
    40
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    12:41 
 | 
         
        (38) картошка, помидорки, огурчики, укропчик...     
         | 
|||
| 
    41
    
        Масянька    
     13.03.17 
            ✎
    12:42 
 | 
         
        (40) Солить или есть?     
         | 
|||
| 
    42
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    12:43 
 | 
         
        (41) Ты спрашиваешь, или интересуешься ?     
         | 
|||
| 
    43
    
        Масянька    
     13.03.17 
            ✎
    12:44 
 | 
         
        (42) Интересуюсь... Может рецепты (проверенные) нужны?     
         | 
|||
| 
    44
    
        azernot    
     13.03.17 
            ✎
    12:50 
 | 
         
        Мы можем ещё неделю переписываться в таком же стиле.
 
        Автор, выполни код написанный ниже, и выложи результат исполнения из окна сообщений. Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(ПоискДоговорПоНомеру) |Период с '01.01.1980' по '13.03.2017'; |Обрабатывать НеПомеченныеНаУдаление; |НомерДоговора = Документ.Договор.НомерДоговора; |ТекущийДокумент= Документ.Договор.ТекущийДокумент; |Группировка ТекущийДокумент; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат ""; КонецЕсли; Сообщить("_НомерДоговора = '"+_НомерДоговора+"'"); Пока Запрос.Группировка() = 1 Цикл Сообщить("Номер договора в документе "+Запрос.ТекущийДокумент +" = '"+Запрос.НомерДоговора+"'"); КонецЦикла;  | 
|||
| 
    45
    
        Adecvator    
     13.03.17 
            ✎
    12:51 
 | 
         
        с периодом собака работает )     
         | 
|||
| 
    46
    
        Adecvator    
     13.03.17 
            ✎
    12:56 
 | 
         
        Блин, все из-за периода......     
         | 
|||
| 
    47
    
        Builder    
     13.03.17 
            ✎
    13:11 
 | 
         
        (46) Ну а как он тебе документы отберет без периода?     
         | 
|||
| 
    48
    
        Ёпрст    
     гуру 
    13.03.17 
            ✎
    13:21 
 | 
         
        (47)если документ был бы не проводным, то выбирались бы все документы без периода, а так, только на ТА/рабочую дату     
         | 
|||
| 
    49
    
        trad    
     13.03.17 
            ✎
    13:31 
 | 
         
        (48) беспроводной документ - надо запомнить     
         | 
|||
| 
    50
    
        Builder    
     13.03.17 
            ✎
    13:35 
 | 
         
        (48) Эт понятно, у ТС проведенные же.     
         | 
|||
| 
    51
    
        Волшебник    
     модератор 
    13.03.17 
            ✎
    13:39 
 | 
         
        (0) Семёрка ещё сыровата...     
         | 
|||
| 
    52
    
        Злопчинский    
     13.03.17 
            ✎
    15:43 
 | 
         
        (51) вы просто не умеете ее готовить - это ж экологически чистый продукт! привыкли какие-то полуфабрикаты жарить из восьмерки...
 
        ;-)  | 
|||
| 
    53
    
        Adecvator    
     13.03.17 
            ✎
    16:07 
 | 
         
        Забыл, СПАСИБО )     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |