|   |   | 
| 
 | Условия если | ☑ | ||
|---|---|---|---|---|
| 0
    
        Татьяна211287 04.06.12✎ 07:34 | 
        Не работает конструкция - первые 2 условия выводятся без ошибок, а вот если СуммаАванса - не заполнена, то выводится пустая строка
  Пока Выборка.Следующий()Цикл Если ЗначениеЗаполнено (Выборка.СуммаАванса) И Выборка.СуммаАванса = СсылкаНаОбъект.СуммаДокумента ТОГДА СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты всю сумму, обозначенную в п. 3.1. Договора в день его подписания. Оплата производится путём внесения денежных средств представителю Исполнителя."; Иначе СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты сумму (аванс) в размере" + " " + Выборка.СуммаАванса + "руб. в день подписания настоящего Договора. Оставшаяся часть денежных средств за оказание услуг, выполнение работ оплачивается Заказчиком в течение 30 дней с момента подписания настоящего Договора. Оплата производится путём внесения денежных средств представителю Исполнителя."; Если НЕ ЗначениеЗаполнено (Выборка.СуммаАванса) ТОГДА СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты сумму (аванс) в размере_______руб. в день подписания настоящего Договора. Оставшаяся часть денежных средств за оказание услуг, выполнение работ оплачивается Заказчиком в течение 30 дней с момента подписания настоящего Договора. Оплата производится путём внесения денежных средств представителю Исполнителя."; КонецЕсли; КонецЕсли; КонецЦикла; | |||
| 1
    
        ДенисЧ 04.06.12✎ 07:45 | 
        СтрокаСуммаАванса = "        3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты сумму (аванс) в размере" + " " + ?(ЗначениеЗаполнено(Выборка.СуммаАванса),Выборка.СуммаАванса, "???") + "руб. в день подписания настоящего Договора. Оставшаяся часть денежных средств за оказание услуг, выполнение работ оплачивается Заказчиком в течение 30 дней с момента подписания настоящего Договора. Оплата производится путём внесения денежных средств представителю Исполнителя.";     | |||
| 2
    
        Живой Ископаемый 04.06.12✎ 07:57 | 
        как узнаешь что сумма аванса не заполнена?     | |||
| 3
    
        Татьяна211287 04.06.12✎ 08:00 | 
        Есть запрос по выборке суммы аванса, вот как раз и не знаю как записать условие, что если сумма аванса пустая, то...     | |||
| 4
    
        dva1c 04.06.12✎ 08:03 | 
        (3) Что хотелось бы выводить?     | |||
| 5
    
        Живой Ископаемый 04.06.12✎ 08:06 | 
        2(3) сделай как в (1)
  или б) поменяй условия местами, сначала проверяй на незаполненность, и только потом на заполненность И равенство. в) открой для себя условие с... вариантами более 2-х типа: Если Вариант1 Тогда {копрокод1} ИначеЕсли Вариант2 Тогда {копрокод2} Иначе {копрокод3, который выполнится если первый два условия не сработают} КонецЕсли; | |||
| 6
    
        dva1c 04.06.12✎ 08:07 | 
        (5)+100 )     | |||
| 7
    
        Татьяна211287 04.06.12✎ 08:25 | 
        НЕ РАБОТАЕТ, может как то по другому проверять незаполненность суммы аванса
  Пока Выборка.Следующий()Цикл Если НЕ ЗначениеЗаполнено (Выборка.СуммаАванса) ТОГДА СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты сумму (аванс) в размере_______руб. в день подписания настоящего Договора. Оставшаяся часть денежных средств за оказание услуг, выполнение работ оплачивается Заказчиком в течение 30 дней с момента подписания настоящего Договора. Оплата производится путём внесения денежных средств представителю Исполнителя."; Иначе если Выборка.СуммаАванса = СсылкаНаОбъект.СуммаДокумента ТОГДА СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты всю сумму, обозначенную в п. 3.1. Договора в день его подписания. Оплата производится путём внесения денежных средств представителю Исполнителя."; Иначе СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты сумму (аванс) в размере" + " " + Выборка.СуммаАванса + "руб. в день подписания настоящего Договора. Оставшаяся часть денежных средств за оказание услуг, выполнение работ оплачивается Заказчиком в течение 30 дней с момента подписания настоящего Договора. Оплата производится путём внесения денежных средств представителю Исполнителя."; //СтрокаСуммаАванса = " 3.2. «Заказчик» обязуется оплатить Исполнителю в порядке предварительной оплаты сумму (аванс) в размере" + " " + ?(ЗначениеЗаполнено(Выборка.СуммаАванса),Выборка.СуммаАванса, "???") + "руб. в день подписания настоящего Договора. Оставшаяся часть денежных средств за оказание услуг, выполнение работ оплачивается Заказчиком в течение 30 дней с момента подписания настоящего Договора. Оплата производится путём внесения денежных средств представителю Исполнителя."; //КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; | |||
| 8
    
        Zmich 04.06.12✎ 08:30 | 
        Если Выборка.СуммаАванса = 0  Тогда
  //.... Числовой реквизит не может быть "не заполненным" | |||
| 9
    
        Фокусник 04.06.12✎ 08:31 | 
        ИначеЕсли а не Иначе если     | |||
| 10
    
        Живой Ископаемый 04.06.12✎ 08:39 | 
        2(7) не работает, потому что не последовала рекомендациям     | |||
| 11
    
        unregistered 04.06.12✎ 08:40 | 
        (8) >> Числовой реквизит не может быть "не заполненным"
  Не проснулся еще? Почитай СП. | |||
| 12
    
        Фокусник 04.06.12✎ 08:41 | 
        (8) >Числовой реквизит не может быть "не заполненным"
  Это ложное утверждение: http://s019.radikal.ru/i608/1206/80/bd14e3594d6f.jpg | |||
| 13
    
        unregistered 04.06.12✎ 08:44 | 
        Автор, а отладчик что говорит по поводу проверяемых значений и условий?     | |||
| 14
    
        Татьяна211287 04.06.12✎ 09:10 | 
        ошибок не выдает, пишет переменная не определена когда СуммаАванса отсутствует     | |||
| 15
    
        фросия 04.06.12✎ 09:14 | 
        (14) еще раз проверьте код. а лучше- отладчиком посмотреть     | |||
| 16
    
        unregistered 04.06.12✎ 09:24 | 
        (14) >> пишет переменная не определена
  Что за бред?... Чт означит "переменная не определена"? Какая именно переменная? | |||
| 17
    
        Татьяна211287 04.06.12✎ 09:30 | 
        я пытаюсь в табло отследить значение суммы аванса     | |||
| 18
    
        ХочуСказать 04.06.12✎ 09:31 | 
        (14) потому что этого поля нет в запрое     | |||
| 19
    
        unregistered 04.06.12✎ 09:33 | 
        (17) Выборка.СуммаАванса - "переменная не определена" или "Неопределено"
  Если "переменная не определена", то смотри (18). | |||
| 20
    
        Татьяна211287 04.06.12✎ 09:43 | 
        сама знаю что бред, как вот его только решить     | |||
| 21
    
        unregistered 04.06.12✎ 09:44 | 
        (20) Написать запрос так, чтобы в нем было поле "СуммаАванса"     | |||
| 22
    
        Фокусник 04.06.12✎ 09:46 | 
        (20) Выборка.СуммаАванса всегда "переменная не определена"?
  Быть может в другом реквизите находится эта сумма? | |||
| 23
    
        Татьяна211287 04.06.12✎ 09:51 | 
        нет, именно в этом, запрос работает верно, т.к если сумма ПКо = Сумме заказа или меньше ее, то выволится все верно, не работает только условие, когда ПКО отсутствует, т.е.СуммаАванса = 0     | |||
| 24
    
        unregistered 04.06.12✎ 09:58 | 
        (23) Что ты тут нам по мозгам ездишь, если отладчик тебе русским языком пишет "переменная не определена".
  Для совсем деревянных поясняю: "переменная не определена" означает, что её вообще не существует. А ты нам тут паришь что она = 0. Может у тебя там грамматическая ошибка. Например, обозвала в запросе поле "СуммаАв" а в тексте кода спрашиваешь поле "СуммаАванса". | |||
| 25
    
        Татьяна211287 04.06.12✎ 10:04 | 
        Когда проверяю отладчиком СуммаАванса - значение пустое, а тип пишет неопределено     | |||
| 26
    
        dva1c 04.06.12✎ 10:34 | 
        (25) Определи СуммаАванса. СуммаАванса = ""     | |||
| 27
    
        Zmich 04.06.12✎ 10:37 | 
        Текст запроса выложи уже, у тебя там косяки, видать.     | |||
| 28
    
        unregistered 04.06.12✎ 10:43 | 
        (25) >> СуммаАванса - значение пустое, а тип пишет неопределено
  Я тебя об этом в (19) спрашивал. Тебе помощь вообще нужна? (27) +1 нужен текст запроса. А что отладчик пишет по поводу ЗначениеЗаполнено(Выборка.СуммаАванса) ? | |||
| 29
    
        Татьяна211287 04.06.12✎ 10:56 | 
        нужна конечно помощь!
  вот мой запрос //ЗАПОПРОС СУММА АВАНАС ПКО Запрос = Новый Запрос; Запрос.УстановитьПараметр("СсылкаНаЗаказ",ССылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход) КАК СуммаАванса, ВзаиморасчетыСКонтрагентамиОбороты.Сделка КАК Сделка ПОМЕСТИТЬ ВТ_Аванс |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, , регистратор, Сделка = &СсылкаНаЗаказ) КАК ВзаиморасчетыСКонтрагентамиОбороты | ГДЕ | ВзаиморасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер | СГРУППИРОВАТЬ ПО | ВзаиморасчетыСКонтрагентамиОбороты.Сделка; |ВЫБРАТЬ | ЗаказПокупателя.Ответственный КАК ДоверенноеЛицо, | ЗаказПокупателя.СуммаДокумента, | ЗаказПокупателя.Ответственный.Наименование, | ВТ_Аванс.СуммаАванса КАК СуммаАванса |ИЗ | ВТ_Аванс КАК ВТ_Аванс | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя ПО ЗаказПокупателя.Ссылка = ВТ_Аванс.Сделка"; Результат = Запрос.Выполнить(); Выборка = Запрос.Выполнить().Выбрать(); | |||
| 30
    
        Zmich 04.06.12✎ 11:20 | 
        |    ВТ_Аванс.СуммаАванса КАК СуммаАванса
  заменить на | ЕСТЬNULL(ВТ_Аванс.СуммаАванса, 0) КАК СуммаАванса ? | |||
| 31
    
        Татьяна211287 05.06.12✎ 11:14 | 
        можно как то записать условие для Выборка.СуммаАванса не ровна 0?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |