Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 10:14

Заполнение табличного документа

Автор Gregory78, 25 сен 2014, 07:19

0 Пользователей и 1 гость просматривают эту тему.

Gregory78

 Здравствуйте!
Имеется отчет без СКД с макетом - табличным документом и процедурой в модуле формы.
В макете содержится таблица, ячейки которой соответствуют дням месяца.
Вопрос: как сделать, чтобы при обходе результата запроса в каждую ячейку таблицы добавлялось
по несколько символьных отметок (знаков +), соответствующих выходам сотрудника на этот день.
То есть, число выходов за день может варьироваться от одного до четырех.
По логике, это должно работать примерно так (частично опишу словами):

Если День(Выборка.Дата) = 1 Тогда
//Добавить в ячейку 1 символ "+";
КонецЕсли;

-и так на 31 ячейку. Сколько выходов в день, столько плюсиков в каждой ячейке таблицы.
Есть соображения?

TreeDogNight

У вас где-нибудь зафиксировано количество выходов на каждый день?
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.

cska-fanat-kz

1. Запросом получать количество выходом (1-4)
2. В выражении представления вызываем функцию из общего модуля, в которой из числа получаем строку с плюсами
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Gregory78

Цитата: TreeDogNight от 25 сен 2014, 10:23
У вас где-нибудь зафиксировано количество выходов на каждый день?

Само количество не зафиксировано, есть только последовательные записи о дате, проведенном мероприятии, фамилии сотрудника в периодическом регистре сведений, откуда и берутся данные запросом в отчет.
Добавлено: 25 сен 2014, 16:29


Цитата: cska-fanat-kz от 25 сен 2014, 10:23
1. Запросом получать количество выходом (1-4)
2. В выражении представления вызываем функцию из общего модуля, в которой из числа получаем строку с плюсами

Так... В общих чертах идею уловил, но можно объяснить подробнее?

TreeDogNight

Цитата: Gregory78 от 25 сен 2014, 16:11Само количество не зафиксировано, есть только последовательные записи о дате, проведенном мероприятии, фамилии сотрудника в периодическом регистре сведений, откуда и берутся данные запросом в отчет.

1) Вам нужно вычислить количество мероприятий на каждый день.
2) Внутри цикла по дням, добавить цикл по количеству выходов в этот день, и в цикле к переменной типа Строка прибавлять соответствующее количество плюсов. Примерно так:

Для каждого Стр из ТЗДни Цикл
Область = Макет.ПолучитьОбласть("ВашаОбласть");
Выходы = "";
пп = 0;
Пока НЕ пп = Стр.КоличествоВыходов Цикл
Выходы = Выходы + "+";
пп = пп + 1;
КонецЦикла;
Область.Параметры.КолвоВыходов = Выходы;
ТабличныйДокумент.Вывести(Область);
КонецЦикла;
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.

Gregory78

Спасибо, попробую. Как что, отпишусь)
Добавлено: 26 сен 2014, 13:48


Так, количество выходов за день получил, значки "нарисовал". Надо теперь в теле цикла заполнить значком параметр в таблице, и при этом каждый раз попасть в новую ячейку, с цифрой, соответствующей дню месяца (см.вложенный рисунок). Вот с этим пока что не разберусь...

Gregory78

Так... Разобрался, все рисуется там где надо. Спасибо всем, и методу Параметры.Установить() :D

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск