Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Предприятие 7.7]

Как доработать DOCPRINT.ERT

maxxxl-ms
читатель
офлайн
Дата регистрации: 20.07.2012
Сообщений: 1
Пост №1
 
28.09.2012 13:39

"Здравствуйте необходимо доработать DOCPRINT.ERT, чтобы во всех сформированных отчётах выводились итоги с сложением сумм из одного столбца, киньте идею, код сформировать:<br><pre>Процедура СформироватьИтоги()<br> Перем Час,Минута,Сек,СтрПредставление;<br> Перем СтрУсловие,СтрРасшифровка;<br> ДокМД = Метаданные.Документ(ФормДокумент.ТекущаяСтрока());<br> Если (ФормДатаНач>ФормДатаКон)И(ФормДатаКон<>Дата(0)) Тогда<br>       Предупреждение("Внимание!Дата начала выбора превышает дату конца.Запрос не выполнен!");<br>       Возврат;<br> КонецЕсли;<br> ДатаКон=ФормДатаКон;<br> Если РежТА=1 Тогда<br>       Попытка<br>            ДатаКон=Строка(ПолучитьДатуТА())+" "+ПолучитьВремяТА(Час,Минута,Сек);<br>       Исключение<br>            ДатаКон=Строка(РабочаяДата());<br>       КонецПопытки;<br> КонецЕсли;<br> ТекстЗапроса = ПостроитьЗапрос("Итоги");<br> Запрос = СоздатьОбъект("Запрос");<br> Попытка<br>       Запрос.выполнить(ТекстЗапроса);<br> Исключение<br>       Предупреждение(ОписаниеОшибки());<br>       Возврат;<br> КонецПопытки;<br> гТаб = СоздатьОбъект("Таблица");<br> гТаб.ИсходнаяТаблица("Итоги");<br> гСекцияСтрРеквизит = гТаб.ПолучитьСекцию("Строка|Реквизит");<br> гСекцияФункции=гТаб.ПолучитьСекцию("Строка|Функция");<br><br> гТаб.Опции(0,0,гТаб.ВысотаТаблицы(),0);<br> // Нарисуем шапку...<br> ПечатьУсловия(СтрУсловие,СтрРасшифровка);<br> гТаб.ВывестиСекцию("Заголовок");<br> гТаб.ВывестиСекцию("Шапка|гНачало");<br><br> СекцШапкаРекв = гТаб.ПолучитьСекцию("Шапка|Реквизит");<br> Если ФлОднаКолГруппы=0 Тогда<br>       //колонки группировок<br>       Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл<br>            ФормГруппы.ПолучитьЗначение(Инд,СтрПредставление);<br>            СекцШапкаРекв.Реквизит.Текст = СтрПредставление;<br>            гТаб.ПрисоединитьСекцию(СекцШапкаРекв);<br>       КонецЦикла;<br> Иначе<br>       //одна колонка группировки<br>       СтрКолГруппы="""";<br>       Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл<br>            ФормГруппы.ПолучитьЗначение(Инд,СтрПредставление);<br>            Если Инд<ФормГруппы.РазмерСписка() Тогда<br>             СтрКолГруппы = СтрКолГруппы+СтрПредставление+"/ ";<br>            Иначе<br>             СтрКолГруппы = СтрКолГруппы+СтрПредставление;<br>            КонецЕсли;<br>       КонецЦикла;<br>       Если ФормГруппы.РазмерСписка()>0 Тогда<br>            СекцШапкаРекв.Реквизит.Текст = СтрКолГруппы;<br>            СекцШапкаРекв.Реквизит.Расшифровка(СтрКолГруппы);<br>            гТаб.ПрисоединитьСекцию(СекцШапкаРекв);<br>       КонецЕсли;<br> КонецЕсли;<br> Если ФормГруппы.РазмерСписка()=0 Тогда<br>       СекцШапкаРекв.Реквизит.Текст = """";<br>       гТаб.ПрисоединитьСекцию(СекцШапкаРекв);<br> КонецЕсли;<br><br> Таб = гТаб.ПолучитьСекцию("Шапка|Функция");<br><br> Если (ФлОднаКолГруппы=0)ИЛИ(ФормГруппы.РазмерСписка()=0) Тогда<br>       КолГрупп=ФормГруппы.РазмерСписка();<br> Иначе<br>       КолГрупп=1;<br> КонецЕсли;<br> НачЗначение = 1 + КолГрупп;<br> Если ФормГруппы.РазмерСписка()=0 Тогда<br>       НачЗначение=НачЗначение+1;<br> КонецЕсли;<br><br> ВидФунк=ФормВидыФункций.ПолучитьЗначение(ФормВидыФункций.ТекущаяСтрока());<br> Для Инд = 1 По ФормФункции.РазмерСписка() Цикл<br>       ФормФункции.ПолучитьЗначение(Инд,СтрПредставление);<br>       Таб.Функ.Текст = СтрПредставление;<br>       гТаб.ПрисоединитьСекцию(Таб);<br> КонецЦикла;<br> КолОбл=ФормФункции.РазмерСписка() + НачЗначение;<br> Если КолОбл>=НачЗначение+1 тогда<br>       Обл = гТаб.Область(4,НачЗначение+1, 4, КолОбл );<br>       Обл.Объединить();<br>       Обл.РамкаСлева(3);<br>       Обл.РамкаСправа(3);<br>       Обл.РамкаСнизу(3);<br>       Обл.Текст=ВидФунк;<br> КонецЕсли;<br><br> //печать данных<br> гУровеньРекурсии=0;<br> гКоличествоСтрок=0;<br> ОбработкаРезультатов(гТаб,Запрос);<br> Запрос.вНачалоВыборки();<br> ВывестиРеквизиты(гТаб,Запрос);<br> ВывестиФункции(гТаб,Запрос);<br><br> //форматирование<br> // Установим ширину...<br> Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл<br>       Ширина = гДлина.Получить(ФормГруппы.ПолучитьЗначение(Инд));<br>       Если ПустоеЗначение(Ширина) = 1 Тогда<br>            Ширина = 16;<br>       КонецЕсли;<br>       Если ФлОднаКолГруппы=0 Тогда<br>            гТаб.Область(,Инд+1,, Инд+1).ШиринаСтолбца(Ширина);<br>       ИначеЕсли гТаб.Область(,2,, 2).ШиринаСтолбца()<Ширина*8 Тогда<br>            гТаб.Область(,2,, 2).ШиринаСтолбца(Ширина);<br>       КонецЕсли;<br> КонецЦикла;<br><br> Для Инд = 1 По ФормФункции.РазмерСписка() Цикл<br>       Ширина = гДлина.Получить(ФормФункции.ПолучитьЗначение(Инд));<br>       Если ПустоеЗначение(Ширина) = 1 Тогда<br>            Ширина = 16;<br>       КонецЕсли;<br>       Если Ширина<СтрДлина(ФормФункции.ПолучитьЗначение(Инд)) Тогда<br>             Ширина=СтрДлина(ФормФункции.ПолучитьЗначение(Инд))+1;<br>       КонецЕсли;<br>       гТаб.Область(, Инд + НачЗначение,, Инд + НачЗначение).ШиринаСтолбца(Ширина);<br> КонецЦикла;<br> гТаб.Область(4,2,гТаб.ВысотаТаблицы(), НачЗначение+ФормФункции.РазмерСписка()).РамкаОбвести(4,4,4,4);<br> гТаб.Область(5,2,гТаб.ВысотаТаблицы(), НачЗначение+ФормФункции.РазмерСписка()).ВертикальноеПоложение(2);<br> гТаб.Опции(0,0,5,0);<br> гТаб.ТолькоПросмотр(1);<br> гТаб.Показать("Документ " + ДокМД.Представление());<br>КонецПроцедуры </pre>"

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20952
Пост №2
 
28.09.2012 13:42

А зачем получение ТА и выполнение запроса включать в транзакцию? Это чтобы у всех еще больше тормозило?

Рисовод
читатель
офлайн
Дата регистрации: 26.12.2007
Сообщений: 25775
Пост №3
 
28.09.2012 13:45

а там закладка "итоги" есть! Это не то?

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №4
 
28.09.2012 16:50

А где в коде транзакция?

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20952
Пост №5
 
28.09.2012 17:02

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=579665<br&gt; <br>Посмотри что пишет Павел Чистов.

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация