Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/202: Рейтинг темы: голосов - 202, средняя оценка - 4.90
mumbyr23
1

Вывод на печать таблицы значений "в горизонтальном виде"

06.12.2010, 13:50. Показов 38000. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго дня!

1С 7.7 Конфигурация собственная.

Просьба помочь разобраться в следующем:
В документе, задавая в каждой строке реквизиты определяем периоды выполнения тех или иных работ, в разрезе 30-минутных отрезков.




Сформированная таблица значений получается примерно такая



Использованный код (на который хватало мозгов) следующий:

Код ( (Unknown Language)):
Процедура Печать()
Таб=СоздатьОбъект("Таблица");
Если Табл1=1 Тогда
Таб.ИсходнаяТаблица("ПутевойЖурнал1");
ИначеЕсли Табл1=0 Тогда
Таб.ИсходнаяТаблица("ПутевойЖурнал2");
КонецЕсли;
Таб.ВывестиСекцию("Отчет");
ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Дата");
ТЗ.НоваяКолонка("Час");
ТЗ.НоваяКолонка("Мин");
ТЗ.НоваяКолонка("ВР");
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Начало = (ПриходЧасов*2+ПриходМинут/30);
Для Сч = 0 по ((ОтходДата-ПриходДата)*24+ОтходЧасов-ПриходЧасов+(ОтходМинут-ПриходМинут)/60)*2 Цикл
ТЗ.НоваяСтрока();
ТЗ.Дата = ПриходДата+ЦЕЛ((Сч+Начало)/48);
ТЗ.Час = ЦЕЛ((Сч+Начало)/2-24*ЦЕЛ((Сч+Начало)/48));
ТЗ.Мин = ((Сч+Начало)-2*ЦЕЛ((Сч+Начало)/2))*30;
ТЗ.ВР = ВидРабот;
КонецЦикла;
КонецЦикла;
ТЗ.Свернуть("Дата,ВР,Час,Мин","");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать("ПутевойЖурнал");
КонецПроцедуры
Как сделать чтобы получилось выводить на печать таблицу следующего вида?



Спасибо заранее всем откликнувшимся!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2010, 13:50
Ответы с готовыми решениями:

Вывод таблицы в горизонтальном виде
Необходимо вывести таблицу не в вертикальном, а горизонтальном виде. Таблица представляет собой:...

PrintDbGridEh: есть ли у него свойство вывести на печать сразу в горизонтальном виде лист?
PrintDbGridEh - есть ли у него свойство вывести на печать сразу в горизонтальном виде лист? По...

Вывод двумерного массива на печать в виде таблицы
Доброго времени суток. Подскажите каким образом можно вывести двумерный массив на принтер в виде...

Вывод значений в виде таблицы
Программа такая:Написать программу,которая выводит таблицу значений функции y=-2.4*x^2+5x-3 в...

21
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
06.12.2010, 14:18 2
Обходим таблицу и выводим, используя методы "ВывестиСекцию", "ПрисоединитьСекцию".
Если день пошел новый, то "Вывести...", если другие полчаса, то "Присоединить..."
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
06.12.2010, 14:24 3
делаем цикл, в нем не выводим секции, а присоединяем.
0
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 226
06.12.2010, 14:30 4
Рисуеш секции:
1 - 2 клетки, в первой - "д", во во-второй - "д"\;
2 - 2 клетки, "п", "п";
3 - 2 клетки, "н\д","н\д";
В зависимости от условия присоединяеш нужную секцию.
Делаем переменную для хранения даты, при выборке записываем ее, и проверяем :
сходится, тогда присоединяем секцию(см.выше), в зависимости от условия,
не сходится - новая строка, перезаписываем переменную текущим значением дальше присоединяем строки с каждым шагом сверяя значения переменной и даты
0
mumbyr23
07.12.2010, 08:30 5
Цитата Сообщение от TimeDontWait
Рисуеш секции:
1 - 2 клетки, в первой - "д", во во-второй - "д"\;
2 - 2 клетки, "п", "п";
3 - 2 клетки, "н\д","н\д";
В зависимости от условия присоединяеш нужную секцию.
Делаем переменную для хранения даты, при выборке записываем ее, и проверяем :
сходится, тогда присоединяем секцию(см.выше), в зависимости от условия,
не сходится - новая строка, перезаписываем переменную текущим значением дальше присоединяем строки с каждым шагом сверяя значения переменной и даты
Дак "п", "д", "н/д" и т.д. это ведь элементы справочника...
Как заранее знать какие будут создаваться элементы пользователем?
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 226
07.12.2010, 09:03 6
Цитата Сообщение от number23
Как заранее знать какие будут создаваться элементы пользователем?
Может что-то не понял, но этих элементов то пару, вот и сделай присоединение секций в зависимости от условия, задано "н" - секция такая-то.
Ну тебе же легче понять, я не до конца разобрался что тут и куда
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
07.12.2010, 12:03 7
Можно сделать так :
1. Создать таблицу значений из 63 колонок (1 -дата, остальное - получасовые интервалы на месяц, если я правильно понял).
Например, они называются "Дата, Период1...Период62)
2. обходим табличную часть документа
и в цикле заполняем ТЗ данными :
ТЗ.НоваяСтрока();
ТЗ.Дата =
По времени определяем номер колонки N (Например, 23.00 - 47 колонка, N = 47)
Номер колонки = "Период"+СОКРЛ(Строка(N))
ТЗ.УстановитьЗначение(<Номер строки в документе>,Номер колонки,<Данные>);
Сложность с переходом на новую дату придется решить самостоятельно
Получится обычная прямоугольная таблица, в которой заполнены и пустые клетки.
Далее выводим ее на печать линейно
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
07.12.2010, 14:55 8
Цитата Сообщение от number23
Дак "п", "д", "н/д" и т.д. это ведь элементы справочника...
Как заранее знать какие будут создаваться элементы пользователем?
Т.е. будут другие виды работ.
Тогда заводите в спр-ке реквизит для хранения сокращения, и выводите его в ячейку.

Добавлено:


Цитата Сообщение от vbs
Можно сделать так :
1. Создать таблицу значений из 63 колонок (1 -дата, остальное - получасовые интервалы на месяц, если я правильно понял).
Например, они называются "Дата, Период1...Период62)
2. обходим табличную часть документа
и в цикле заполняем ТЗ данными :
ТЗ.НоваяСтрока();
ТЗ.Дата =
По времени определяем номер колонки N (Например, 23.00 - 47 колонка, N = 47)
Номер колонки = "Период"+СОКРЛ(Строка(N))
ТЗ.УстановитьЗначение(<Номер строки в документе>,Номер колонки,<Данные>);
Сложность с переходом на новую дату придется решить самостоятельно
Получится обычная прямоугольная таблица, в которой заполнены и пустые клетки.
Далее выводим ее на печать линейно
И рисуем таблицу с 63-мя колонками... Не нравится мне такое решение.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
07.12.2010, 21:12 9
Цитата Сообщение от unknown181538
И рисуем таблицу с 63-мя колонками... Не нравится мне такое решение.
А где рисование ?
Внутри формируем цикл и "рисуем"(создаем ТЗ) с помощью метода "УстановитьПараметрыКолонки" - всего-то три строчки.
Зато получим прямоугольную пустографку с отдельными заполненными позициями, при выводе которой на печать
думать вообще не надо
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
07.12.2010, 22:07 10
Цитата Сообщение от vbs
А где рисование ?
Внутри формируем цикл и "рисуем"(создаем ТЗ) с помощью метода "УстановитьПараметрыКолонки" - всего-то три строчки.
Зато получим прямоугольную пустографку с отдельными заполненными позициями, при выводе которой на печать
думать вообще не надо
По поводу ТЗ я так и понял.
А как будет выглядеть таблица печати? Ну та, которая вызывается методом "ИсходнаяТаблица".
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
08.12.2010, 02:41 11
Цитата Сообщение от unknown181538
А как будет выглядеть таблица печати? Ну та, которая вызывается методом "ИсходнаяТаблица".
Заголовок - как хотел автор. Строки - 63 колонки каждой строки ТЗ.
Ну, разумеется, и заголовок, и строки делаются одинаково, типа
Т.ВывестиСекцию("Дата"), а затем в цикле 62 раза (или меньше, по числу дней месяца)
Т.ПрисоединитьСекцию("Данные").
Впрочем, что я грамотному человеку объясняю, скорее, это для задавшего вопрос
Я по такому образцу делаю шахматки, анализ динамики продаж (по горизонтали периоды, по вертикали - товары, к примеру) и прочие прямоугольные шалости.
Проще, мне кажется, при заполнении ТЗ проявить некую гибкость ума, нежели при выводе на печать соображать, вывести или присоединить секцию (или присоединять пустую !)
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
08.12.2010, 03:14 12
А, понял, "переворачивание" просто в другой момент. Против этого ничего не имею


Цитата Сообщение от vbs
Проще, мне кажется, при заполнении ТЗ проявить некую гибкость ума, нежели при выводе на печать соображать, вывести или присоединить секцию (или присоединять пустую !)
Ну, дело вкуса, я бы не стал лишнюю таблицу создавать.

Добавлено: PS.Опять мы не спим глубокой ночью)
Сижу к специалисту по 8.2 готовлюсь (после завтра идти проваливаться)... суровый спец - надо решение знать заранее, и печатать с нехилой скоростью. :ph34r:
0
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
08.12.2010, 09:05 13
Цитата Сообщение от unknown181538
Добавлено: PS.Опять мы не спим глубокой ночью)
Сижу к специалисту по 8.2 готовлюсь (после завтра идти проваливаться)... суровый спец - надо решение знать заранее, и печатать с нехилой скоростью. :ph34r:
Желаю удачи!!!

Сори за
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
08.12.2010, 21:41 14
Цитата Сообщение от unknown181538
Сижу к специалисту по 8.2 готовлюсь (после завтра идти проваливаться)... суровый спец - надо решение знать заранее, и печатать с нехилой скоростью
И чем закончилось ? Переживаю за продвинутого коллегу
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
08.12.2010, 23:14 15
Так же ж "послезавтра", на данный момент, только завтра. Правда, как я его написал раздельно, так это уже не "послезавтра", а "завтра", а точнее то, что после него... и это может все спутать)
По результатом отпишусь
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
09.12.2010, 02:30 16
Цитата Сообщение от unknown181538
Так же ж "послезавтра", на данный момент, только завтра. Правда, как я его написал раздельно, так это уже не "послезавтра", а "завтра",
Ни фига не понял изначально, но каламбуры приветствую по жизни.
Great success to you
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
09.12.2010, 16:07 17
Не вышло)
Запнулся на регистре расчета, который упорно не хотел видеть свою базу. Хотя можно было и пропустить это, т.к. смотрят обычно только код. Еще и с демоническим списком не разобрался.
Впрочем, если бы все получалось, по времени вполне успевал. Так что еще поготовиться, и буду настроен на успех)
Экзамен, пожалуй, самый сложный из всех, которые сдавал. Требует обширных знаний, правда, не нужно знать предметную область. Зато, и самый полезный - много узнал при подготовке, и почти нет задач с непонятными условиями.

;) Где же автор темы со своими ячейками?)
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
09.12.2010, 17:46 18
Я понимаю, что корочка - это солидно, но что она дает в финансовом плане ?
0
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
10.12.2010, 12:02 19
Я его регистрирую на один франч - он мне заплатит)
Плюс - когда работал во франче, получал с корочек неплохие бонусы. Добавляет солидности к резюме.
И в процессе подготовки набираешься некоторых знаний.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
10.12.2010, 20:53 20
Цитата Сообщение от unknown181538
И в процессе подготовки набираешься некоторых знаний.
Вот это кажется наиболее существенным.


Цитата Сообщение от unknown181538
Добавляет солидности к резюме.
Ну, для молодых, видимо важно.
Я-то бросил эту затею с получением сертификата со времен разросшегося потока клиентов - 10-й год уже во фрилансерах,
а заказчику результат нужен, а не наличие корочек. К тому же у нас для получения сертификата нужны были солидные вложения - порядка $1.5-2K,
а деньги всегда жалко на ветер бросать, вот бездипломным и хожу с тех пор


Цитата Сообщение от unknown181538
Я его регистрирую на один франч - он мне заплатит)
А это просто (видимо, по скудоумию) не понял
0
10.12.2010, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2010, 20:53
Помогаю со студенческими работами здесь

Вывод значений функции в виде таблицы
Всем привет, поможете с задачей. Заранее спасибо) Задача: Для каждого x, изменяющегося от a до...

Вывод значений массива в виде таблицы в 5 столбцов
написал программу заполнения динамического массива случайными числами из интервала от -999 до 999...

Вывод значений в виде ровной таблицы. Проблемы с табуляцией
Добрый день всем. Собственно проблема. По заданию, я должен выводить данные в ровной таблице. Вот...

Печать таблицы в книжном виде
Доброго вечера Подскажите пожалуйста, как данную таблицу распечатать в книжном виде ? В Word знаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru