Имя: Пароль:
1C
1C 7.7
v7: Печатная форма
,
0 NemeL
 
09.11.11
19:45
Помогите разобраться в чем ошибка?
Процедура Печать1()
   Таб = СоздатьОбъект("Таблица");
   СортироватьСтроки("+Наименование");
   Таб.ИсходнаяТаблица("Печать");
   Таб.ВывестиСекцию("Шапка");
   Если КоличествоСтрок() > 0 Тогда
      ПолучитьСтрокуПоНомеру(1);
      Предыдущий=Наименование;
Иначе
      Сообщить("Документ не заполнен");
      Возврат;
КонецЕсли;
ИтогоКоличество = 0;
ИтогоСуммаОбщая = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
      Если Наименование <> Предыдущий Тогда //сменился товар
           Таб.ВывестиСекцию("Итого");
           Предыдущий = Наименование;
           ИтогоКоличество = 0;
           ИтогоСуммаОбщая = 0;
      КонецЕсли;
      Таб.ВывестиСекцию("Строка");
      ИтогоКоличество = ИтогоКоличество + Количество;
     ИтогоСуммаОбщая = ИтогоСуммаОбщая + СуммаОбщая;
КонецЦикла;
Таб.ВывестиСекцию("Итого");
Таб.Опции(0,0,0,0);
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать Заказ","");
КонецПроцедуры
По идеи при смене товара должна выводитьсять Секция Итого,а она выводиться после каждого наименования
1 Vladimirr
 
09.11.11
19:49
Наименование замени на таб.Наименование
2 Vladimirr
 
09.11.11
19:51
(0) в (1) не правильно. посмотри отладчиком
3 ЧеловекДуши
 
09.11.11
19:57
Вообще то все правильно выводится.
Ты хоть посмотрел, в каком у тебя порядке идут строчки в документе?
4 NemeL
 
09.11.11
20:01
всмысле к каком? они у меня сначало просто в произвольном, а потом я их сортирую, или ты имеешь ввиду номерацию?
5 ЧеловекДуши
 
09.11.11
20:02
(4)Где ты отсортировал?
Сам же пишешь, что итог после каждой ... А каждая и есть разная :)
6 ЧеловекДуши
 
09.11.11
20:03
+(4)Отладчик запусти... и посмотри... все просто...
7 NemeL
 
09.11.11
20:04
как это где?? а это что
СортироватьСтроки("+Наименование");
8 NemeL
 
09.11.11
20:05
(7)+ отладчик не выдает никакой ошибки
9 NemeL
 
09.11.11
20:05
+ (7) отладчик не выдает никакой ошибки
10 Mikeware
 
09.11.11
20:07
(9) Отладчик не может увидеть ошибку в ДНК...
11 NemeL
 
09.11.11
20:57
(6) Запустил отладчик, смотрю по шаговое выполнение, выводить все как написанов коде, тоесть строку и итог сразу же, но в чем проблема понять не могу
12 Ёпрст
 
09.11.11
21:00
(11) наименования поди ВСЕ разные ??
13 NemeL
 
09.11.11
21:02
(11) нет есть и одинаковые
14 Ёпрст
 
09.11.11
21:08
(13) И ?
выводит итог когда ? Праильно, когда наименование сменилось, а у тебя как ??
15 BlackSeaCat
 
09.11.11
21:10
(11) А проблема в том, что не стОит безоглядно полагаться на результат сравнения агрегатных объектов, надежнее сравнивать простые типы: числа, даты или строки. Например:

СокрЛП(Наименование)<>СокрЛП(Предыдущий)
16 NemeL
 
09.11.11
21:10
а у меня всегда выводит, сменилось или нет наименование без разницы выводит один хрен
17 NemeL
 
09.11.11
21:14
(15) Блин спасибо за подсказку, я кстати думал об этом... но не знал что это так важно. Тема закрыта.
18 Cthulhu
 
09.11.11
21:14
(16): Ох, ну ё-ж-маё.
Реквизит таб.части "Наименование" - какого типа?
19 NemeL
 
09.11.11
21:16
(18) Все решилась проблема, но мне интересно при чем тут тип? Тип Справичник.Каталог.
20 BlackSeaCat
 
09.11.11
21:16
(18) А что чаще всего бывает в документах? Спрввочники, ясен пень.
21 Ёпрст
 
09.11.11
21:18
(19)Если у тебя Наименование имеет тип Справочник.Каталог, то бред с СокрЛП() не нужен, если что.

Мот всё же Наименование, это строка ?!
22 NemeL
 
09.11.11
21:22
23 Cthulhu
 
09.11.11
21:22
(19): при том, что разные элементы справочника с одинаковым текстовым представлением (наименованием) - это РАЗНЫЕ значения!
(20): нет, не ясен, дятлушко. ещё числа, строки, даты, перечисления...
("ясен пень" ему, а-хри-неть!)))
24 BlackSeaCat
 
09.11.11
21:23
(19) При чем тип, гришь? А скажи, что даст вот такое условие:

Если Наименование > Предыдущий Тогда //сменился товар

Сработает или нет? "Больше" один элемент справочника, чем другой или как?

На проверку РАВЕНСТВА я бы еще рассчитывал. Эксперимента ради, проверь вот такой код, без "бреда с СокрЛП()":

Если Наименование = Предыдущий Тогда
Иначе //сменился товар
  Таб.ВывестиСекцию("Итого");
.
.
.

(23) Хриней, разрешаю.
25 Cthulhu
 
09.11.11
21:24
(22): с такой темой... у тебя в диалогах (формах) первизиты, наверное, "уезжают" вверх (при каждом сохранении по чуть-чуть)?.. гггг.
26 Ёпрст
 
09.11.11
21:31
(22) И ???
Ответ в (23) п.1
27 NemeL
 
09.11.11
21:48
(26) И??? Если человек не верит словам, я ему наглядно показал какой тип стоит, а ответ в (15)!!!
28 Ёпрст
 
09.11.11
22:07
(27) дурила ты.
У тебя в табличной части РАЗНЫЕ элементы справочника с ОДИНАКОВЫМ наименованием.