| 
    
        
     
     | 
    
    
  | 
проверка результата запроса на пустую ячейку | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        SerGo-116    
     12.08.15 
            ✎
    18:38 
 | 
         
        Добрый вечер!
 
        Обхожу в цикле результат запроса, и необходимо проверить одну ячейку результата запроса на пустоту, пробовал уже все что знал и Пустая() и Null и "" ничего не получается. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СчетОтПоставщикаТовары.Наименование, | СчетОтПоставщикаТовары.Номенклатура, | СчетОтПоставщикаТовары.Количество, | СчетОтПоставщикаТовары.ПрайсоваяЦенаБезНДС, | СчетОтПоставщикаТовары.ЗакупочнаяЦенаБезНДС, | СчетОтПоставщикаТовары.СрокПоставки, | СчетОтПоставщикаТовары.Вес, | СчетОтПоставщикаТовары.Объем, | СчетОтПоставщикаТовары.Аналог, | СчетОтПоставщикаТовары.СтоимостьТранспортировкиЗаЕд, | СчетОтПоставщикаТовары.Ссылка.Поставщик, | СчетОтПоставщикаТовары.Ссылка.НомерСчетаОтПоставщика, | СчетОтПоставщикаТовары.Ссылка.ДатаСчетаОтПоставщика, | СчетОтПоставщикаТовары.Ссылка.СрокАктуальностиСчета, | СчетОтПоставщикаТовары.Примечание |ИЗ | Документ.СчетОтПоставщика.Товары КАК СчетОтПоставщикаТовары |ГДЕ | СчетОтПоставщикаТовары.Ссылка.Проведен | И СчетОтПоставщикаТовары.Ссылка.Валюта = &Валюта | И СчетОтПоставщикаТовары.Ссылка.Основание.Основание.Основание.Основание = &Заявка"; Запрос.УстановитьПараметр("Валюта", Валюта); Запрос.УстановитьПараметр("Заявка", Заявка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); НовДок = Документы.КоммерческоеПредложение.СоздатьДокумент(); НовДок.Дата = ТекущаяДата(); НовДок.Валюта = Валюта; НовДок.Клиент = Заявка.Клиент; НовДок.КонтактноеЛицоКлиента = Заявка.КонтактноеЛицоКлиента; НовДок.Организация = Заявка.Организация; НовДок.Основание = Заявка; НовДок.Ответственный = ПараметрыСеанса.ТекущийПользователь; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НовСтр = НовДок.Товары.Добавить(); НовСтр.Наименование = ВыборкаДетальныеЗаписи.Наименование; НовСтр.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НовСтр.Количество = ВыборкаДетальныеЗаписи.Количество; НовСтр.ПрайсоваяЦенаБезНДС = ВыборкаДетальныеЗаписи.ПрайсоваяЦенаБезНДС; НовСтр.ЗакупочнаяЦенаБезНДС = ВыборкаДетальныеЗаписи.ЗакупочнаяЦенаБезНДС; НовСтр.СрокПоставки = ВыборкаДетальныеЗаписи.СрокПоставки; НовСтр.Вес = ВыборкаДетальныеЗаписи.Вес; НовСтр.Объем = ВыборкаДетальныеЗаписи.Объем; НовСтр.ДоставкаРасходы = ВыборкаДетальныеЗаписи.СтоимостьТранспортировкиЗаЕд; НовСтр.Аналог = ВыборкаДетальныеЗаписи.Аналог; НовСтр.Поставщик = ВыборкаДетальныеЗаписи.Поставщик; НовСтр.Основание = ВыборкаДетальныеЗаписи.НомерСчетаОтПоставщика + " от " + Формат(ВыборкаДетальныеЗаписи.ДатаСчетаОтПоставщика,"ДФ=dd.MM.yyyy"); Если Не ВыборкаДетальныеЗаписи.Примечание = """" Тогда Если Не ЗначениеЗаполнено(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; ИначеЕсли ЗначениеЗаполнено(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = НовДок.ПримечаниеКТовару + Символы.ПС + ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; КонецЕсли; КонецЕсли; Если Не ЗначениеЗаполнено(НовДок.РекомендуемыйСрокАктуальности) Тогда НовДок.РекомендуемыйСрокАктуальности = ВыборкаДетальныеЗаписи.СрокАктуальностиСчета; КонецЕсли; Если НовДок.РекомендуемыйСрокАктуальности > ВыборкаДетальныеЗаписи.СрокАктуальностиСчета Тогда НовДок.РекомендуемыйСрокАктуальности = ВыборкаДетальныеЗаписи.СрокАктуальностиСчета; КонецЕсли; КонецЦикла;  | 
|||
| 
    1
    
        SerGo-116    
     12.08.15 
            ✎
    18:39 
 | 
         
        вот именно тот отрезок кода
 
        Если Не ВыборкаДетальныеЗаписи.Примечание = """" Тогда Если Не ЗначениеЗаполнено(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; ИначеЕсли ЗначениеЗаполнено(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = НовДок.ПримечаниеКТовару + Символы.ПС + ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; КонецЕсли; КонецЕсли;  | 
|||
| 
    2
    
        Defender aka LINN    
     12.08.15 
            ✎
    18:49 
 | 
         
        Процедур, которые проверяют заполненность аргумента в СП значится ровно две - для строк и для всего остального.     
         | 
|||
| 
    3
    
        SerGo-116    
     12.08.15 
            ✎
    18:53 
 | 
         
        (2) Что нужно использовать в данном случае. Уже пробовал Неопределенно и ПустаяСтрока()     
         | 
|||
| 
    4
    
        Pavlov_vu    
     12.08.15 
            ✎
    18:57 
 | 
         
        (1) совсем не бережешь кавычки :)     
         | 
|||
| 
    5
    
        SerGo-116    
     12.08.15 
            ✎
    18:59 
 | 
         
        (4) Есть такое :), но проблема не в них...     
         | 
|||
| 
    6
    
        Рэйв    
     12.08.15 
            ✎
    19:02 
 | 
         
        >> СчетОтПоставщикаТовары.Ссылка.Основание.Основание.Основание.Основание ....
 
        (0)Ты слишком рано на мисту пришел. Подучиться надо еще...  | 
|||
| 
    7
    
        SerGo-116    
     12.08.15 
            ✎
    19:08 
 | 
         
        (6) Мы мои труды оцениваем, или все такое что-то путное скажите касаемо проблемы с которой столкнулся...
 
        По-поводу Основание... - базу пишу для себя в кратчайший срок поэтому и пишу простым способ а не по учебнику. С тем, что учиться надо абсолютно согласен, учиться надо всегда...  | 
|||
| 
    8
    
        Михаил Козлов    
     12.08.15 
            ✎
    19:28 
 | 
         
        (7) В отладчике не пробовали посмотреть что в выборке?     
         | 
|||
| 
    9
    
        SerGo-116    
     12.08.15 
            ✎
    19:31 
 | 
         
        (8) В выборке ничего просто пусто...
 
        А можно ли в цикле анализировать выборку на Истину/Ложь Булево? Вот пример кода, никогда с этим не сталкивался Если ВыборкаДетальныеЗаписи.ЕстьПримечание = Истина Тогда Если Не ПустаяСтрока(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; ИначеЕсли ПустаяСтрока(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = НовДок.ПримечаниеКТовару + Символы.ПС + ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; КонецЕсли; КонецЕсли;  | 
|||
| 
    10
    
        Михаил Козлов    
     12.08.15 
            ✎
    19:38 
 | 
         
        (9) Если выборка пустая, значит нет нужных документов:
 
        ГДЕ СчетОтПоставщикаТовары.Ссылка.Проведен И СчетОтПоставщикаТовары.Ссылка.Валюта = &Валюта И СчетОтПоставщикаТовары.Ссылка.Основание.Основание.Основание.Основание = &Заявка Не понял, что понимается под проверкой выборки на истину/ложь? В выборке значения полей, которые Вы указали в запросе.  | 
|||
| 
    11
    
        Defender aka LINN    
     12.08.15 
            ✎
    19:42 
 | 
         
        (3) Неопределено, как нам символизирует наличие отсутствия скобок - не совсем процедура. Я бы даже сказал - вообще не процедура.     
         | 
|||
| 
    12
    
        Рэйв    
     12.08.15 
            ✎
    19:45 
 | 
         
        (11)Вот ты на 100 как минимум постов себе сделал задел:-)     
         | 
|||
| 
    13
    
        Рэйв    
     12.08.15 
            ✎
    19:46 
 | 
         
        (11)>>вообще не процедура.
 
        Ржунемогу:-)  | 
|||
| 
    14
    
        Рэйв    
     12.08.15 
            ✎
    19:47 
 | 
         
        Молодец:-)     
         | 
|||
| 
    15
    
        Рэйв    
     12.08.15 
            ✎
    19:49 
 | 
         
        :-)))     
         | 
|||
| 
    16
    
        SerGo-116    
     12.08.15 
            ✎
    19:51 
 | 
         
        (10) Имеется ввиду 
 
        Если ВыборкаДетальныеЗаписи.ЕстьПримечание = Истина Тогда ЕстьПримечание - реквизит табличной части документа (Булево), могу ли я его цикле проанализировать на Истину/Ложь  | 
|||
| 
    17
    
        Рэйв    
     12.08.15 
            ✎
    19:53 
 | 
         
        Вобщем извините:-) Дефендеру +100 к карме:-)
 
        Я ушел и не мешаю  | 
|||
| 
    18
    
        SerGo-116    
     12.08.15 
            ✎
    19:57 
 | 
         
        (11) Наличие/отсутствие скобок никак не символизирует.
 
        Если Вы про эти скобки - ПустаяСтрока(), то имеется ввиду Если Не ПустаяСтрока(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; ИначеЕсли ПустаяСтрока(НовДок.ПримечаниеКТовару) Тогда НовДок.ПримечаниеКТовару = НовДок.ПримечаниеКТовару + Символы.ПС + ВыборкаДетальныеЗаписи.Номенклатура + " - " + ВыборкаДетальныеЗаписи.Примечание; КонецЕсли;  | 
|||
| 
    19
    
        Sanek_GAL    
     12.08.15 
            ✎
    22:55 
 | 
         
        (16) если в "ВыборкаДетальныеЗаписи.ЕстьПримечание" булево - то можно:
 
        Если ВыборкаДетальныеЗаписи.ЕстьПримечание Тогда ... КонецЕсли сравнение с истина или ложь в условии ставить не надо - для ЛОЖЬ ставь отрицание НЕ в условии и все  | 
|||
| 
    20
    
        MSOliver    
     12.08.15 
            ✎
    23:07 
 | 
         
        (0) ЗначениеЗаполнено(<Значение>)
 
        Параметры: <Значение> (обязательный) Тип: Произвольный. Значение для проверки. Возвращаемое значение: Тип: Булево. Для значений типа Булево всегда возвращается Истина. Для значений типа Строка возвращается Истина, если в строке есть непробельные символы. Для массивов и коллекций возвращается Истина, если в них есть хотя бы 1 элемент. Для Неопределено и Null всегда возвращается Ложь. Описание: Функция проверяет, отличается ли переданное значение от значения по умолчанию того же типа. Не работает с мутабельными значениями. При передаче мутабельного значения функция вызывает исключение.  | 
|||
| 
    21
    
        MSOliver    
     12.08.15 
            ✎
    23:15 
 | 
         
        (2) да как бы больше...
 
        ЭтоАдресВременногоХранилища(<Адрес>) Параметры: <Адрес> (обязательный) Тип: Строка. Адрес файла во временном хранилище, который необходимо проверить. Возвращаемое значение: Тип: Булево. Описание: Проверяет, является ли переданный адрес адресом файла во временном хранилище.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |