Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
19 Июль 2025, 03:43:02
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Страниц  :   Вниз
  Печать  
Автор Тема: Re: 1С: Программирование печатных таблиц (отчетов)  (Прочитано 1552 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Shulkin
Молодой Гродненец
*

Репутация: +1/-1
Offline Offline

Сообщений: 40


Я люблю Гродненский форум!

Просмотр профиля Email
« Ответ #0 : 28 Август 2008, 11:27:11 »

Функция 99999(Таблица,H1,H2) Экспорт
      Перем R1,C1,R2,C2;
      ТаблицаБуфер=СоздатьОбъект("Таблица");                          
      ТаблицаБуфер.ПараметрыСтраницы(2,,,5,5,20,5,0,0,,1,);
      // перебор ячеек исходной таблицы
      Для R1=1 По Таблица.ВысотаТаблицы() Цикл
            Для C1=1 По Таблица.ШиринаТаблицы() Цикл  
                  
                  Если(R1<=H2)Тогда
                        // объединение областей
                        Если(ПустаяСтрока(Таблица.Область(R1,C1).Текст)=0)Тогда
                              Для C2=C1+1 По Таблица.ШиринаТаблицы() Цикл                        
                                    Если(СокрЛП(Таблица.Область(R1,C1).Текст)<>СокрЛП(Таблица.Область(R1,C2).Текст))Тогда
                                          C2=C2-1;
                                          ТаблицаБуфер.Область(R1,C1,R1,C2).Объединить();                      
                                          ТаблицаБуфер.Область(R1,C1,R1,C2).Текст=Таблица.Область(R1,C1).Текст;
                                          C1=C2;
                                          Прервать;
                                    КонецЕсли;
                              КонецЦикла;
                        КонецЕсли;
                        q=Таблица.Область(R1,C1).ГоризонтальноеПоложение();
                // выравнивание по столбцам  
                        Если(q>31)Тогда
                              Для C2=C1+1 По Таблица.ШиринаТаблицы() Цикл                        
                                    Если(ПустаяСтрока(Таблица.Область(R1,C2).Текст)=0)или
                                        (Таблица.Область(R1,C1).ГоризонтальноеПоложение()<>Таблица.Область(R1,C2).ГоризонтальноеПоложение())Тогда
                                          Если     (q=32)Тогда q=5;
                                          ИначеЕсли(q=34)Тогда q=6                                                
                                          ИначеЕсли(q=36)Тогда q=8;
                                          ИначеЕсли(q=38)Тогда q=7;      
                                          КонецЕсли;
                                          C2=C2-1;
                                          ТаблицаБуфер.Область(R1,C1).Текст=Таблица.Область(R1,C1).Текст;
                                          ТаблицаБуфер.Область(R1,C1,R1,C2).ГоризонтальноеПоложение(q);                      
                                          C1=C2;
                                          Прервать;
                                    КонецЕсли;
                              КонецЦикла;
                        КонецЕсли;
                        // чтение рисунков
                        // НепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающий
                        // НепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающий
                        // НепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающий
                        // НепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающий
                        // НепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающий
                        // НепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающийНепонимающий
                        
                        
                        
                  КонецЕсли;                                                                            
            КонецЦикла;
      КонецЦикла;
      ТаблицаБуфер.Показать("Буфер");
      //результат выполнения
      Сообщить("Разбиение выполнено!");      
КонецФункции      
******************************************************




Подробнее: как получить доступ к рисункам в Таблица и их же вставить в ТаблицаБуфер?
« Последнее редактирование: 28 Август 2008, 11:31:46 от Shulkin » Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,078 секунд. Запросов: 20.