|
v7: Печатная форма v7.7 | ☑ | ||
---|---|---|---|---|
0
Dark_Warrior
07.03.13
✎
11:17
|
Всем доброго дня. Сложилась такая ситуация - 1с7.7 "Торговля + Склад", в которой я на базе печатной формы документа реализации сварганил новую печатную форму, которая показывает адреса элементов на складе (реквизит элемента номенклатуры). Элементы берутся построчно из документа реализации. Подскажите пожалуйста, как отсортировать их в получившейся таблице по алфавиту (по этому самому адресу на складе)?
|
|||
1
VladZ
07.03.13
✎
11:20
|
Данные - в Таблицу значений. Потом МояТаблица.Сортировать(<НужнаяКолонка>).
|
|||
2
Dark_Warrior
07.03.13
✎
11:21
|
(1) А как передать данные в ЦЗ? Сейчас строки ТЧ формируются так:
НомСтроки = 0; Докум.ВыбратьСтроки(); Пока Докум.ПолучитьСтроку() = 1 Цикл НомСтроки = НомСтроки + 1; ИсхТабл.ВывестиСекцию("Строка"); КонецЦикла; |
|||
3
SerF_2011
07.03.13
✎
11:21
|
(0) 1.Выгрузить ТЧ документа во временную таблицу значений
2. Добавить колонку адрес. Обойти ТЗ, заполнить эту колонку. 3. Вывести в печатную форму из ТЗ. |
|||
4
SerF_2011
07.03.13
✎
11:22
|
(3) 2.5 Отсортировать по адресу. Забыл.
|
|||
5
Dark_Warrior
07.03.13
✎
11:28
|
(4) А можно немного подробнее? Принцип понятен, но я с языком пока довольно слабо знаком.
|
|||
6
VladZ
07.03.13
✎
11:29
|
МояТЗ = СоздатьОБъект("ТаблицаЗначений");
Докум.ВыгрузитьТабличнуюЧасть(МояТЗ); |
|||
7
Cthulhu
07.03.13
✎
11:31
|
малой кровью, добавлением одного блока переб собственно кодом печати:
1) ВыгрузитьТабличнуюЧасть(ПечДокТЗ) 2) ПечДокТЗ.НоваяКолонка("Адрес") 3) заполнить ПечДокТЗ.Адрес 4) отсортировать ПечДокТЗ по "+Адрес" 5) ЗагрузитьТабличнуюЧасть(ПечДокТЗ) >>> дальше - все как было. прим.: чтобы не корячить таб.часть - можно добавить в указанный блок сохранение таб.части перед изменением её (перед п.5)) в, например, БылоДокТЗ, а после печати - добавить (каюсь, отдельно от блока) один оператор ЗагрузитьТабличнуюЧасть(БылоДокТЗ). и не придется перековыривать код вывода таб.части в код вывода ТЗ с сопутствующим ковырянием в шаблоне печати. А ещё лучше - заюзать внешнюю печатную форму. |
|||
8
VladZ
07.03.13
✎
11:31
|
Упражнение для развития навыков работы с языком программирования: открываешь модуль любого отчета (можно глобальник) и составляешь алгоритм работы.
|
|||
9
Cthulhu
07.03.13
✎
11:33
|
(8): херня это а не упражнение. посыл нулевой.
лучшее и самое действенное упражнение - это создавать что-то что нужно, или что-то уже действующее поменять как нужно. |
|||
10
Dark_Warrior
07.03.13
✎
11:34
|
(6) Хм.. в получившей табличной части нет колонки "Адрес на складе", по которой и нужно сортировать. Значит нужно ее добавить, заполнить, и по ней выполнить сортировку, я правильно понимаю?
|
|||
11
SerF_2011
07.03.13
✎
11:38
|
(10)
ТЗ = СоздатьОбъект("ТаблицаЗначений"); Докум.ВыгрузитьТабличнуюЧасть(ТЗ); ТЗ.НоваяКолонка("Адрес"); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() = 1 Цикл ТЗ.Адрес = ТЗ.Товар.Адрес; КонецЦикла; ТЗ.Сортировать("Адрес"); //далее ваш текст, но данные берем из ТЗ НомСтроки = 0; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() = 1 Цикл НомСтроки = НомСтроки + 1; ИсхТабл.ВывестиСекцию("Строка"); КонецЦикла; |
|||
12
1Сергей
07.03.13
✎
11:38
|
(10) Да. А теперь открой тайну - Что такое ЦЗ?
|
|||
13
VladZ
07.03.13
✎
11:39
|
(9) Чтобы что-то создать - нужно иметь хоть какие-то знания. Можно, конечно, бросить человека в море и сказать: "Плыви!" А можно для начала показать пример как плавать, а потом уже бросать в море...
|
|||
14
Cthulhu
07.03.13
✎
11:49
|
(13): чтобы иметь какие-то знания - надо что-то пытаться узнать. что-то пытаться узнать - нужно для чего-то. узнать для того, чтобы сделать что-то нужное - гораздо действеннее чем узнать что-то ради того, чтобы узнать.
|
|||
15
Dark_Warrior
07.03.13
✎
12:13
|
(11) Хм..ТЗ заполняется норм, а вот с выводом в ИсхТабл косяк какой-то...
|
|||
16
SerF_2011
07.03.13
✎
12:17
|
(15) У вас видимо в макете прописаны переменные, например, Докум.Товар, Докум.Количество. Нужно везде Докум исправить на ТЗ.
|
|||
17
Pro-tone
07.03.13
✎
12:33
|
Можно "докум" подменить ТЗ, чтобы не править макет(таблицу)
|
|||
18
SerF_2011
07.03.13
✎
12:50
|
(17) кстати, +
|
|||
19
Dark_Warrior
07.03.13
✎
13:26
|
(16) точно. все вроде норм работает, всем огромное спасибо за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |