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