Пара полезных процедур для расшифровок.

16.04.11

Разработка - Универсальные функции

Процедуры выводят отчет по заданной ТЗ или по Запросу. Может, сэкономит время. ;-)

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Простой макет
.zip 0,59Kb
80 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой
 

//Процедура формирует и выводит отчет по подоваемому запросу 
// Параметры : 
// ПараметрыОтчета - структура 
// Пример параметров: 
//* ПараметрыОтчета = Новый Структура; 
//* ПараметрыОтчета .Вставить("Запрос",текст); 
//* ПараметрыЗапроса=Новый Структура; 
//* ПараметрыЗапроса.Вставить("Номенклатура",ТоварИзАртикула.Ссылка); 
//* ПараметрыЗапроса.Вставить("НачалоМесяца",НачалоМесяца(ДатаВедомости)); 
//* ПараметрыЗапроса.Вставить("КонецМесяца",КонецМесяца(ДатаВедомости)); 
//* ПараметрыОтчета .Вставить("ПараметрыЗапроса",ПараметрыЗапроса); 
 

Процедура УниверсальныйОтчетПоЗапросу(ПараметрыОтчета)

Запрос=новый Запрос;

Запрос.Текст=ПараметрыОтчета.Запрос;

Для каждого ПАРАМЕТР из ПараметрыОтчета.ПараметрыЗапроса Цикл 
Запрос.УстановитьПараметр(ПАРАМЕТР.Ключ,ПАРАМЕТР.Значение);

КонецЦикла;

Тз=Запрос.Выполнить().Выгрузить();


Табл=Новый ТабличныйДокумент;

Макет = ЭтотОбъект.ПолучитьМакет("Макет");

ОбластьШапкаОсновной=Макет.ПолучитьОбласть("Шапка|Основной");

ОбластьСтрокаОсновной=Макет.ПолучитьОбласть("Строка|Основной");

ОбластьИтогОсновной=Макет.ПолучитьОбласть("Итог|Основной");


ОбластьШапкаДОП=Макет.ПолучитьОбласть("Шапка|Показатели");

ОбластьСтрокаДОП=Макет.ПолучитьОбласть("Строка|Показатели");

ОбластьИтогДОП=Макет.ПолучитьОбласть("Итог|Показатели");


Табл.Вывести(ОбластьШапкаОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьШапкаДОП.Параметры.ИмяПоказателя=Колонка.Имя;

Табл.Присоединить(ОбластьШапкаДОП);

КонецЦикла;

счетчик=0;

Для каждого стр из Тз Цикл 
счетчик=счетчик+1;

ОбластьСтрокаОсновной.Параметры.счетчик=счетчик; 

Табл.Вывести(ОбластьСтрокаОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьСтрокаДОП.Параметры.ЗначениеКолонки=стр[Колонка.Имя];

Табл.Присоединить(ОбластьСтрокаДОП);

КонецЦикла;

КонецЦикла;

Табл.Вывести(ОбластьИтогОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьИтогДОП.Параметры.Итог=Тз.Итог(Колонка.Имя);

Табл.Присоединить(ОбластьИтогДОП);

КонецЦикла;

Табл.ТолькоПросмотр=истина;

Табл.Показать();

КонецПроцедуры 

//Процедура формирует и выводит отчет таблице значений 
// Параметры : 
// ТЗ - ТаблицаЗначений 
Процедура УниверсальныйОтчетПоТЗ(ТЗ)

Табл=Новый ТабличныйДокумент;

Макет = ЭтотОбъект.ПолучитьМакет("Макет");

ОбластьШапкаОсновной=Макет.ПолучитьОбласть("Шапка|Основной");

ОбластьСтрокаОсновной=Макет.ПолучитьОбласть("Строка|Основной");

ОбластьИтогОсновной=Макет.ПолучитьОбласть("Итог|Основной");


ОбластьШапкаДОП=Макет.ПолучитьОбласть("Шапка|Показатели");

ОбластьСтрокаДОП=Макет.ПолучитьОбласть("Строка|Показатели");

ОбластьИтогДОП=Макет.ПолучитьОбласть("Итог|Показатели");


Табл.Вывести(ОбластьШапкаОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьШапкаДОП.Параметры.ИмяПоказателя=Колонка.Имя;

Табл.Присоединить(ОбластьШапкаДОП);

КонецЦикла;

счетчик=0;

Для каждого стр из Тз Цикл 
счетчик=счетчик+1;

ОбластьСтрокаОсновной.Параметры.счетчик=счетчик; 

Табл.Вывести(ОбластьСтрокаОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьСтрокаДОП.Параметры.ЗначениеКолонки=стр[Колонка.Имя];

Табл.Присоединить(ОбластьСтрокаДОП);

КонецЦикла;

КонецЦикла;

Табл.Вывести(ОбластьИтогОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьИтогДОП.Параметры.Итог=Тз.Итог(Колонка.Имя);

Табл.Присоединить(ОбластьИтогДОП);

КонецЦикла;

Табл.Показать();

КонецПроцедуры 




 
 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    4603    Abysswalker    11    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    8550    DeerCven    15    

62

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    56340    dimanich70    85    

174

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7939    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    70782    atdonya    31    

72

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9941    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. OldthiefXXX 155 19.04.11 13:04 Сейчас в теме
Действительно сократило время! ;-)
2. Рамзес 30 21.04.11 08:44 Сейчас в теме
Пригодилось, спасибо.
3. i132 130 22.02.12 13:20 Сейчас в теме
по моему таблицу значений удобнее выводить в экранную форму - можно отсортировать по произвольной колонке,
если выводить на печать то большая функциональность при выводе с помощью СКД: http://infostart.ru/public/116645/

За запрос "-": не учтен вариант, когда в запросе есть итоги - удобнее выгружать в дерево -отображать группировку итогов. код читать было бы легче если после выгрузки запроса в ТЗ вы бы вызвали процедуру печати ТЗ.
"-" за то тчо не печатаете параметры запроса.

хорошо бы выводить в заголовке что выводится в полученную таблицу.
4. ManyakRus 492 04.07.12 11:26 Сейчас в теме
Спасибо, всё сразу заработало :)
(Доделал себе чтоб выводил в свою же таблицу а не на новую страницу)
Для отправки сообщения требуется регистрация/авторизация