|
v7: Не сравниваются строки |
☑ |
0
NemeL
05.10.11
✎
11:18
|
Добрый день.Помогите разобраться в чем проблема, нуть вот в чем если наименование одинавокое то вывод СекцииСтрока, если наименование сменилось то вывод секцииСтрока_1
[CODE]
[/CODE]
|
|
1
Ёпрст
гуру
05.10.11
✎
11:19
|
(0) СокрЛП()
|
|
2
NemeL
05.10.11
✎
11:21
|
[CODE]
Процедура Печать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,0,0);
ВыбратьСтроки();
П1=Строка(П1);
П2=Строка(п2);
Пока ПолучитьСтроку() = 1 Цикл
Если П1<>П2 Тогда
Таб.ВывестиСекцию("Строка_1");
Иначе
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать Заказ","");
КонецПроцедуры
[/CODE]
|
|
3
Ёпрст
гуру
05.10.11
✎
11:22
|
//П1=Строка(П1);
//П2=Строка(п2);
П1=СокрЛП(П1);
П2=СокрЛП(п2);
|
|
4
СБ с Одинесии
05.10.11
✎
11:23
|
(2) П1 и П2 кто в цикл кроме тебя вставит?
|
|
5
Ёпрст
гуру
05.10.11
✎
11:23
|
+3 Если П1 и П2 объекты агрегатных типов, то просто:
//П1=Строка(П1);
//П2=Строка(п2);
Пока ПолучитьСтроку() = 1 Цикл
Если П1<>П2 Тогда
|
|
6
Vladal
05.10.11
✎
11:24
|
Измени определение строк на такое:
П1 = СокрЛП(П1);
П2 = СокрЛП(П2);
А потом их сравнивай.
Хотя некузяво - может, П1 у тебя справочник или другой тип, а его приводишь к строке.
Лучше в условии приводи к строке:
Если СокрЛП(П1)<>СокрЛП(П2) Тогда
|
|
7
Vladal
05.10.11
✎
11:24
|
(5) Упс. Опередил, коллега )))
|
|
8
Vladal
05.10.11
✎
11:30
|
(0) в (4) верно подмечено - если у тебя для каждой строки надо сравнение делать, то чтение значений П1 и П2 делай в цикле. Иначе у тебя будет одна и та же секция, которая вхолостую будет вычисляться в каждой итерации. Это некошерно.
|
|
9
NemeL
05.10.11
✎
12:54
|
Спасибо все получилось. А как сделать чтоб запоминалось строка До и сравнивалась со следующей?
|
|
10
Ёпрст
гуру
05.10.11
✎
13:22
|
(9)запоминать значение в переменной вестимо.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший