|
v7: Не работает условие в печатной форме 1с | ☑ | ||
---|---|---|---|---|
0
max805
31.01.13
✎
02:46
|
Есть внешняя печатная форма к документу. В документе есть 3 колонки (заказ, факт, разница(разница считается по разнице между колонками факт и заказ)) в печатной форме делаю условие что если в колонке разница 0 (во всех позициях) то в печатной форме пишеться "отклонений нету" если есть отклонения (в любой строке больше или меньше нуля тогда в печатной форме пишетсья есть отклонения.
вот код Если Док.Разница="" Тогда Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; Но условие не срабатывает. то есть даже если есть отклоенения он пишет отклонений нету где ошибка скажите плиз |
|||
1
max805
31.01.13
✎
02:47
|
Если Док.Разница=0 Тогда
Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; в таком случае всегда пишет есть отклонения даже тогда когда их нету |
|||
2
Попытка1С
31.01.13
✎
02:53
|
Мало кода.
|
|||
3
max805
31.01.13
✎
02:55
|
Всмысле? условие что если в колонки 0 тогда выполняеться условие в случае если больше или меньше нуля выполняеться другое условие..что еще нужно?
|
|||
4
Попытка1С
31.01.13
✎
02:57
|
(3) Посмотрел твои темы, больше ничего не нужно ты прав.
|
|||
5
max805
31.01.13
✎
03:01
|
если помочь не можешь ну или не хочешь то зачем воздух то сотрясать?
|
|||
6
max805
31.01.13
✎
03:01
|
как будто ты 1с с пеленок знал
|
|||
7
sanja26
31.01.13
✎
03:03
|
(0) ты с какой дерёвни? нету..
|
|||
8
max805
31.01.13
✎
03:04
|
"у" случаяно написал..опечатка
|
|||
9
Balabass
31.01.13
✎
03:05
|
а если не писать условие - то что в печатную форму попадает?
|
|||
10
sanja26
31.01.13
✎
03:06
|
я думаю ключевое слово "колонка"
|
|||
11
Попытка1С
31.01.13
✎
03:06
|
(5) что тебе не понятно (2)?
Или у тебя весь код внешней печатной формы приведен в (0)? Что выдает сообщить(""+док.разница); |
|||
12
Попытка1С
31.01.13
✎
03:08
|
И где код перебора строк если эти реквизиты в тч
|
|||
13
max805
31.01.13
✎
03:10
|
он даже по 1 строке не срабатывает..а тут перебор строк не нужен
|
|||
14
Попытка1С
31.01.13
✎
03:13
|
(13) ну да и выбратьстроки тоже не надо делать, ага..
|
|||
15
max805
31.01.13
✎
03:14
|
пишет ошибку на ВыбратьСтроки()
переменная не оперделена |
|||
16
Попытка1С
31.01.13
✎
03:16
|
(15) писец, док.выбратьстроки()
|
|||
17
max805
31.01.13
✎
03:19
|
Док.ВыбратьСтроки()
Если Док.Разница=0 Тогда Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; результат тот же |
|||
18
max805
31.01.13
✎
03:20
|
пишет есть отклонения хотя отклонений нету ..колонка Разница пустая
|
|||
19
Web00001
31.01.13
✎
03:20
|
>>как будто ты 1с с пеленок знал
>>Стаж: 3 г. 6 мес. Вопросы начали возникать года три назад, за это время должны были дойти такие очевидные вещи, что строки надо перебирать вне зависимости от их количества. |
|||
20
Попытка1С
31.01.13
✎
03:21
|
Строчку получить не нужно по твоему? Есть метод специальный
|
|||
21
max805
31.01.13
✎
03:22
|
Попытка1С всмысле полчуить строку? Выбратьстроку() это не перебор строк?
|
|||
22
Web00001
31.01.13
✎
03:23
|
(21)Это открытие выборки,
сам перебор выполняется методом из (20) |
|||
23
Попытка1С
31.01.13
✎
03:24
|
(21) у тебя сп украли? Метод выбратьстроки открывает выборку, а выборку нужно обойти, ну или спозиционировать на первой строке хотя бы, через получитстрокупономеру
|
|||
24
max805
31.01.13
✎
03:28
|
Web00001
Док.ВыбратьСтроки() Пока Док.ПолучитьСтроку=1 Цикл ...... ..... КонецЦикла? Верноя я понимаю? |
|||
25
Попытка1С
модератор
31.01.13
✎
03:29
|
(24) скобки забыл
|
|||
26
max805
31.01.13
✎
03:30
|
Где скобки?
|
|||
27
Web00001
31.01.13
✎
03:31
|
Док.ПолучитьСтроку()
|
|||
28
Попытка1С
31.01.13
✎
03:32
|
Еще два тупых вопроса и пойдешь в бан читать СП, договорились?
|
|||
29
Web00001
31.01.13
✎
03:32
|
все остальное вроде норм, дальше если не будет получаться отладчик решит твою проблему.
|
|||
30
max805
31.01.13
✎
03:34
|
сделал...он вообще отказываеться выодить какой либо текст в печ форму при любых условиях (ошибки в в конфиге не в базе не выдал)
|
|||
31
Попытка1С
31.01.13
✎
03:35
|
(30) код сестра!
|
|||
32
max805
31.01.13
✎
03:39
|
//секция заголовок
Док.ВыбратьСтроки() Пока Док.Выбратьстроки()=1 Цикл Если Док.Разница=0 Тогда Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; УонецЦикла; |
|||
33
max805
31.01.13
✎
03:39
|
Док.ВыбратьСтроки()
Пока Док.Выбратьстроки()=1 Цикл Если Док.Разница="" Тогда Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; УонецЦикла; |
|||
34
max805
31.01.13
✎
03:39
|
второй правильный
|
|||
35
max805
31.01.13
✎
03:40
|
//секция заголовок
Док.ВыбратьСтроки() Пока Док.Выбратьстроки()=1 Цикл Если Док.Разница="" Тогда Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; КонецЦикла; Сори за орфографию |
|||
36
jyupiter
31.01.13
✎
03:41
|
Док.ВыбратьСтроки()
Пока Док.ПолучитьСтроку()=1 Цикл Если Док.Разница="" Тогда Отклонение="Отклонений нету"; Иначе Отклонение="Есть отклоенение"; КонецЕсли; КонецЦикла; |
|||
37
jyupiter
31.01.13
✎
03:41
|
Пока Док.ПолучитьСтроку()=1 Цикл
|
|||
38
max805
31.01.13
✎
03:42
|
jyupiter так и написано ..я не копирую с конфигуратора (нет возможности) вручную пишу
|
|||
39
jyupiter
31.01.13
✎
03:42
|
Тогда попробуй так
Если Док.Разница=0 Тогда |
|||
40
Попытка1С
31.01.13
✎
03:43
|
У тебя остался последний шанс.
|
|||
41
Попытка1С
31.01.13
✎
03:43
|
Ну сделай сообщить (отклонение)
|
|||
42
max805
31.01.13
✎
03:44
|
||||
43
max805
31.01.13
✎
03:45
|
Попытка1С
всмысле сделать сообщить? |
|||
44
Попытка1С
31.01.13
✎
03:47
|
(43) я не могу быть увереным что ты там выводишь и как, пожтому воткни сообщить(отклонение) в цикл после присвоения
|
|||
45
jyupiter
31.01.13
✎
03:48
|
у тебя сообщение об отклонениях выводится в итоговой строке или в каждой строчке?
|
|||
46
max805
31.01.13
✎
03:49
|
Попытка1С
давай я тебе дам доступ по тимвиверу..посмотри плиз |
|||
47
jyupiter
31.01.13
✎
03:50
|
Из (0) вроде бы в итоговой
Тогда должно сработать вот такое Отклонение="Отклонений нету"; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл Если Док.Разница <> 0 Тогда Отклонение="Есть отклонение"; КонецЕсли; КонецЦикла; |
|||
48
Попытка1С
31.01.13
✎
03:50
|
(46) я с айпада да и както нечего уже показывать, все разжовано.
|
|||
49
max805
31.01.13
✎
03:55
|
jyupiter
появляеться слово отклонений нету" даже в случае когда они есть |
|||
50
jyupiter
31.01.13
✎
03:56
|
реквизит Док.Разница какого типа?
|
|||
51
max805
31.01.13
✎
03:59
|
Чило
|
|||
52
max805
31.01.13
✎
04:14
|
up
|
|||
53
Злопчинский
31.01.13
✎
04:15
|
давай уже кидай н [email protected] bl ипароль к тиму, посмотрим что там
|
|||
54
jyupiter
31.01.13
✎
04:15
|
ну да, тупик
пока нет уверенности, какой именно текст у тебя в конфигураторе (раз у тебя нет возможности оттуда копировать), сложно сказать, где ошибка Разница - это реквизит документа, заданный в конфигураторе или колонка в табличной части на форме документа? |
|||
55
Злопчинский
31.01.13
✎
04:16
|
"отклонений нету"
. - я сижу на берегУ, не могу поднять ногУ, - не ногУ, а нОгу! - всё равно не мОгу! |
|||
56
max805
31.01.13
✎
04:17
|
jyupiter
это колонка в таб части |
|||
57
Злопчинский
31.01.13
✎
04:17
|
(52) долго ид и пароль ждать? а то спать пойду? там дел-то на 5-7 минут с пояснениями...
|
|||
58
Злопчинский
31.01.13
✎
04:18
|
(54) в личке поправь: "программист из низинки" ;-)
|
|||
59
Злопчинский
31.01.13
✎
04:19
|
max805 - будем сопли жевать или проблему решать?
|
|||
60
max805
31.01.13
✎
04:19
|
Злопчинский
выслал пароль |
|||
61
jyupiter
31.01.13
✎
04:25
|
(56) тогда бессмысленно обращаться к ней как к реквизиту.
Поставь в условие вместо Док.Разница формулу для расчёта этой разницы, в которой будут фигурировать только настоящие реквизиты документа. |
|||
62
Злопчинский
31.01.13
✎
04:32
|
(61) тут тебе наговорили хрени явсякой.
все свелось к Отклонение = ?(Докум.Итог("Разница")=0,"Отклонений НЕТ","Отклонения ЕСТЬ"); . вопрос закрыт. |
|||
63
jyupiter
31.01.13
✎
04:46
|
А если разница в одной строке равна 5, а в другой минус 5, а в остальных по нулям?
|
|||
64
Злопчинский
31.01.13
✎
04:55
|
(63) это ты молодец! уел старикана! ;-)
тады топикстартер пусть перебирает строки до получения первой разницы, отличной от нуля... . Отклонение = "Отклонений НЕТ"; Докум.ВыбратьСтроки(); Пока Докум.ПолучитьСтроку()=1 Цикл Если Докум.Разница = 0 Тогда Продолжить; КонецЕсли; Отклонение = "Отклонения ЕСТЬ"; Прервать; КонецЦикла; . это если тупо. потому что ниже, после вывода шапки идет перебор строк еще раз... |
|||
65
jyupiter
31.01.13
✎
05:11
|
я писал в (47) примерно то же самое
только надо строчку добавить для экономии времени Отклонение="Отклонений нету"; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл Если Док.Разница <> 0 Тогда Отклонение="Есть отклонение"; Прервать; КонецЕсли; КонецЦикла; но ТС сказал, что так отклонения не фиксируются |
|||
66
Злопчинский
31.01.13
✎
06:18
|
(65) Док и Докум
|
|||
67
jyupiter
31.01.13
✎
08:07
|
(66) Ясно.
Догадаться до этого по текстам ТС было невозможно, ящетаю) |
|||
68
Попытка1С
31.01.13
✎
08:35
|
Писец
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |