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

Печатная форма

Автор cannabis_86, 29 мар 2011, 11:32

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

cannabis_86

Здравствуйте! 1с 8.2 Бух 2.0.
Попросили в бухгалтерской справке добавить поле итог по сумме всех операций. Создал внешнюю печатную форму, взял макет из документа ОперацияБух.
Имеется несколько проблем:
1.) Чтобы отражать операции в документе я делаю запрос к виртуальной таблице регистра бухгалтерии:
|ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.НомерСтроки,
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.ПодразделениеДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1,
| ХозрасчетныйДвиженияССубконто.КоличествоДт,
| ХозрасчетныйДвиженияССубконто.ВалютаДт,
| ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаДт,
| ХозрасчетныйДвиженияССубконто.СчетКт,
| ХозрасчетныйДвиженияССубконто.ПодразделениеКт,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.КоличествоКт,
| ХозрасчетныйДвиженияССубконто.ВалютаКт,
| ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаКт,
| ХозрасчетныйДвиженияССубконто.Сумма,
| ХозрасчетныйДвиженияССубконто.Содержание
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
|ГДЕ
| ХозрасчетныйДвиженияССубконто.Регистратор = &ТекущийДокумент";
Этот запрос выдает правильный результат, но что-то очень долго(секунд 5-6). Для сравнения запрос в стандартной печатной форму Бухгалтерская справка выдает результат через 2-3 секунды на том же документе. Что-то дойти до запроса стандартного я не смог, там сделано через УниверсальныеМеханизмы. Мб я как то неправильно формирую запрос, подскажите. Пытался из документа вытянуть эту инфу, но что-то тоже не получилось.

2.) Моя печ. форма все норм выводит за исключением того, что нету повторяющейся шапки таблицы как сделано в стандартной. Пробовал всякие способы не получается:
ТабДокумент.ПовторятьПриПечатиСтроки = Макет.Область("R8:R10") ;
Что тут не так?
П.С. Сильно не пинайте, в 1с совсем недавно

has

В бух справке вот такой запрос

"ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.НомерСтроки КАК НомерСтроки,
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.ПодразделениеДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1,
| ХозрасчетныйДвиженияССубконто.СубконтоДт2,
| ХозрасчетныйДвиженияССубконто.СубконтоДт3,
| ХозрасчетныйДвиженияССубконто.СчетКт,
| ХозрасчетныйДвиженияССубконто.ПодразделениеКт,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.СубконтоКт2,
| ХозрасчетныйДвиженияССубконто.СубконтоКт3,
| ХозрасчетныйДвиженияССубконто.Организация,
| ХозрасчетныйДвиженияССубконто.ВалютаДт,
| ХозрасчетныйДвиженияССубконто.ВалютаКт,
| ХозрасчетныйДвиженияССубконто.Сумма,
| ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаДт,
| ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаКт,
| ХозрасчетныйДвиженияССубконто.КоличествоДт,
| ХозрасчетныйДвиженияССубконто.КоличествоКт,
| ХозрасчетныйДвиженияССубконто.Содержание
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &Регистратор) КАК ХозрасчетныйДвиженияССубконто
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";



has

ВЫБРАТЬ
   |   ХозрасчетныйДвиженияССубконто.НомерСтроки КАК НомерСтроки,
   |   ХозрасчетныйДвиженияССубконто.СчетДт,
   |   ХозрасчетныйДвиженияССубконто.ПодразделениеДт,
   |   ХозрасчетныйДвиженияССубконто.СубконтоДт1,
   |   ХозрасчетныйДвиженияССубконто.СубконтоДт2,
   |   ХозрасчетныйДвиженияССубконто.СубконтоДт3,
   |   ХозрасчетныйДвиженияССубконто.СчетКт,
   |   ХозрасчетныйДвиженияССубконто.ПодразделениеКт,
   |   ХозрасчетныйДвиженияССубконто.СубконтоКт1,
   |   ХозрасчетныйДвиженияССубконто.СубконтоКт2,
   |   ХозрасчетныйДвиженияССубконто.СубконтоКт3,
   |   ХозрасчетныйДвиженияССубконто.Организация,
   |   ХозрасчетныйДвиженияССубконто.ВалютаДт,
   |   ХозрасчетныйДвиженияССубконто.ВалютаКт,
   |   ХозрасчетныйДвиженияССубконто.Сумма,
   |   ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаДт,
   |   ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаКт,
   |   ХозрасчетныйДвиженияССубконто.КоличествоДт,
   |   ХозрасчетныйДвиженияССубконто.КоличествоКт,
   |   ХозрасчетныйДвиженияССубконто.Содержание
   |ИЗ
   |   РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор = &Регистратор) КАК ХозрасчетныйДвиженияССубконто
   |
   |УПОРЯДОЧИТЬ ПО
   |   НомерСтроки

has

Заголовок в таблице тоже в типовой видно как выводится.

// Проверим, помещается ли строка с подвалом.
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(СтрокаТаблицы);
СтрокаСПодвалом.Добавить(ПодвалТаблицы);
СтрокаСПодвалом.Добавить(ПодвалДокумента);

Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом) Тогда

// Выведем подвал таблицы.
ТабДокумент.Вывести(ПодвалТаблицы);

// Выведем разрыв страницы.
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();

// Выведем заголовок таблицы.
ТабДокумент.Вывести(ЗаголовокТаблицы);

КонецЕсли;

ТабДокумент.Вывести(СтрокаТаблицы);

has

// Проверим, помещается ли строка с подвалом.
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(СтрокаТаблицы);
СтрокаСПодвалом.Добавить(ПодвалТаблицы);
СтрокаСПодвалом.Добавить(ПодвалДокумента);

Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом) Тогда
   
   // Выведем подвал таблицы.
   ТабДокумент.Вывести(ПодвалТаблицы);
      
   // Выведем разрыв страницы.
   ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
   // Выведем заголовок таблицы.
   ТабДокумент.Вывести(ЗаголовокТаблицы);
         
КонецЕсли;
      
ТабДокумент.Вывести(СтрокаТаблицы);

has

В модуле документа Операция процедуру ПечатьБухгалтерскойСправки() смотрите.

Теги:

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

Рейтинг@Mail.ru

Поиск