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

16.04.11

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.
 

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

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

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

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

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

КонецЦикла;

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


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

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

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

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

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


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

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

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


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

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

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

КонецЦикла;

счетчик=0;

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

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

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

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

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

КонецЦикла;

КонецЦикла;

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

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

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

КонецЦикла;

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

КонецЦикла;

счетчик=0;

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

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

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

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

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

КонецЦикла;

КонецЦикла;

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

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

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

КонецЦикла;

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

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




 
 

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

См. также

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

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

30.10.2025    5479    Abysswalker    11    

47

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

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

14.05.2025    10109    DeerCven    15    

64

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

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

21.05.2024    61399    dimanich70    86    

176

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

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

1 стартмани

18.03.2024    8426    7    John_d    13    

59

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

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

12.02.2024    77179    atdonya    31    

74

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

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

30.11.2023    10642    ke.92@mail.ru    18    

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

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

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