Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
19 Апрель 2024, 12:07:44
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

1С: Программирование печатных таблиц (отчетов)

Страниц  :   Вниз
  Печать  
Автор Тема: 1С: Программирование печатных таблиц (отчетов)  (Прочитано 1474 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Shulkin
Молодой Гродненец
*

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

Сообщений: 40


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

Просмотр профиля Email
« : 27 Август 2008, 15:08:17 »

Существует одна уже сформированная таблица, состоящая из ТЕКСТА и РИСУНКОВ. Главная задача - перекинуть данные из одной таблицы в другую. Перекинуть из сформированной таблицы в другую таблицу ТЕКСТ - просто.
Как перекинуть рисунки во вторую таблицу, при чем позиции рисунков на таблицах должны быть одинаковыми?
Подскажите, пожалуйста!?
Записан
pRn
Почетный гродненец
*****

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

Пол: Мужской
Сообщений: 1421


Неуёмной энергии человек...

Просмотр профиля
« Ответ #1 : 27 Август 2008, 21:30:50 »

подробнее  напиши что надо - а то что то не понятно, код выыложи
Записан

Обеспечьте капиталу 10% прибыли, и капитал согласен на всякое применение, при 20% он становится оживленным, при 50% положительно готов сломать себе голову, при 100% он попирает все человеческие законы, при 300% нет такого преступления, на которое он не рискнул бы пойти
Shulkin
Молодой Гродненец
*

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

Сообщений: 40


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

Просмотр профиля Email
« Ответ #2 : 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 » Записан
Shulkin
Молодой Гродненец
*

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

Сообщений: 40


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

Просмотр профиля Email
« Ответ #3 : 01 Сентябрь 2008, 12:05:16 »

Есть предположения, что ето можно осуществить при помощи OLE-программирования. Но и тут проблемка - не могу найти примера обработки отчетов 1С при помощи OLE.
Может кто подскажет?
Записан
alest
Настоящий гродненец
****

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

Пол: Мужской
Сообщений: 391


Просмотр профиля
« Ответ #4 : 04 Декабрь 2008, 14:55:27 »

А зачем это нужно? Ctrl-S не поможет?
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

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

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

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

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