Переключение на Главную Страницу Страницы: 1 ... 33 34 [35] 36  ОтправитьПечать
Очень популярная тема (более 25 ответов) TableDoc (число прочтений - 257355 )
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #510 - 07. Июня 2018 :: 12:40
Печать  
мдя, неприятный баг  Печаль
но, увы, вряд ли смогу починить
могу исходниками поделится если интересно
  

1&&2&&3
Наверх
 
IP записан
 
MadDAD
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #511 - 07. Июня 2018 :: 13:35
Печать  
trad писал(а) 07. Июня 2018 :: 12:40:
мдя, неприятный баг  Печаль
но, увы, вряд ли смогу починить
могу исходниками поделится если интересно


Очень интересно! Я бы с радостью поковырял.

И, пользуясь случаем, - спасибо огромное за компоненту!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #512 - 07. Июня 2018 :: 13:54
Печать  
  

1&&2&&3
Наверх
 
IP записан
 
MadDAD
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #513 - 07. Июня 2018 :: 14:14
Печать  
Спасибо! О результатах отпишусь.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #514 - 07. Июня 2018 :: 17:11
Печать  
Ух ты... Спасибо!
Рассекречивание /*секретных*/ разработок для клюшек, это замечательно!
  
Наверх
www  
IP записан
 
MadDAD
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: TableDoc
Ответ #515 - 25. Июня 2018 :: 14:33
Печать  
trad писал(а) 07. Июня 2018 :: 13:54:


Нашел корень зла. Печалька была в CV7TableDocManager::GetAreaExt()

Код (C++)
Выбрать все
		if(CV7TableDocManager::m_nMethArea == -2)
			m_nMethArea = pCont->FindMethod("Area");
 



m_nMethArea  - один раз перетиралась на 0, и проверка на -2 больше не срабатывала. Для всех видов секций вызывалась "Область" макета. Для обычной секции соответственно контекст не возвращался.

Убрал вообще m_nMethArea из класса, вызываю pCont->FindMethod("Area") при каждом вызове метода.

Вот новая версия - https://cloud.mail.ru/public/2mzW/cuTbLt98N
  
Наверх
 
IP записан
 
Volodja
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 19. Июля 2019
Re: TableDoc
Ответ #516 - 19. Июля 2019 :: 04:21
Печать  
Почему при перерисовке табличного документа индексы элементов рисования меняются (увеличиваются)? можно как-то  обнулить этот счетчик?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #517 - 19. Июля 2019 :: 07:58
Печать  
Могу только предложить вам воспользоваться исходниками выше, или скооперироваться, например, с MadDAD.
Думаю, найти этот счетчик внутрях семерки вполне реально.
  

1&&2&&3
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #518 - 25. Июля 2019 :: 09:49
Печать  
Параметр RepeatRowFrom почему-то выдает значение на 1 меньше, чем установлено.

Код
Выбрать все
Функция ПараметрыТаблицы(Таб)
	Перем МенеджерТабл,ПарСтр;
//	Если ЗарегистрироватьКомпоненту("TableDoc","МенеджерТабличногоДокумента")=1 Тогда
		МенеджерТабл = СоздатьОбъект("МенеджерТабличногоДокумента");
		МенеджерТабл.УстановитьТаблицу(Таб,);
		ПарСтр=МенеджерТабл.ПараметрыСтраницы;
		Возврат ПарСтр;
	//КонецЕсли;
	//Возврат "";
КонецФункции

Функция ПовторитьСтрокиТаблицы(Таб,От,До)
	Перем Ориентация,ПарамТаб;
	ПарамТаб=ПараметрыТаблицы(Таб);
	Если ПарамТаб="" Тогда Возврат 0;КонецЕсли;
	спПарам = СоздатьОбъект("СписокЗначений");
	От=ПарамТаб.RepeatRowFrom;
	До=ПарамТаб.RepeatRowTo;
	Сообщить("ПовторитьСтрокиТаблицы() От="+От+" До="+До);
	Возврат 1;
КонецФункции

	Таб=СоздатьОбъект("Таблица");
	Таб.ПовторятьПриПечатиСтроки(2,3);
	От=0;До=0;
	ПовторитьСтрокиТаблицы(Таб,От,До);
 

  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #519 - 25. Июля 2019 :: 10:10
Печать  
Кстати, если поставить Таб.ПовторятьПриПечатиСтроки(0,0), то RepeatRowFrom выдаст -1!
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #520 - 25. Июля 2019 :: 15:19
Печать  
Вопрос не по адресу Улыбка
Это то что выдает сама 1С, а не TableDoc.
В TableDoc только проброс этих параметров на чтение/запись без какой то обработки.
  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #521 - 28. Ноября 2019 :: 12:22
Печать  
Что-то не нашел способа - как определить, что ячейки объединены?

Нужно для решения задачи суммирования выделенных ячеек.
Области получаю через ПолучитьВыделенные().
Но, если среди выделенных были объединенные, то при переборе значения ячеек дублируются.
Пока я выкрутился так:

Код
Выбрать все
Для СчСтрок = ТзВыделенных.Верх По ТзВыделенных.Низ Цикл
	Для СчСтолбцов = ТзВыделенных.Лево По ТзВыделенных.Лево Цикл //Право //+Al 2019-11-27 13:57:50 Убрал Право, чтобы не суммировал по объединенным ячейкам 



Там, где выделено - было Право.

Если выделить один столбец, то всё красиво, но если начать выделять в одной строке, то тут - схема ломается.
Поэтому пока предложил сотрудникам выделять по одной ячейке в строке. Тогда работает.

Вот если бы был способ определить, является ячейка объединенной - то вопрос можно было бы решить.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #522 - 29. Ноября 2019 :: 12:09
Печать  
//*******************************************
Функция ЭтоПерваяЯчейкаОбъединения(Менеджер, Стр, Кол)
     
     Обл = Менеджер.Область(Стр, Кол); //область автоматом расширяется до всего объединения
     Если (Обл.Верх = Стр) И (Обл.Лево = Кол) Тогда
           Возврат 1;
     Иначе
           Возврат 0;
     КонецЕсли;

КонецФункции
  

1&&2&&3
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: TableDoc
Ответ #523 - 02. Декабря 2019 :: 09:44
Печать  
О! Супер! Получилось! Спасибо огромное!
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
feofania
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 22. Января 2020
Re: TableDoc
Ответ #524 - 22. Января 2020 :: 12:47
Печать  
Подскажите, есть такая проблема.
Есть объект типа "Таблица". В него подгружается уже готовая таблица из файла. В первой строке таблицы находится элемент "Рамка с текстом". Необходимо его удалить и закрыть таблицу без показа. Можно ли это следать как-нибудь посредством TableDoc?
Не нашла другого способа удалить элемент рисования, кроме как используя Excel. Но хотелось бы обойтись без него.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 33 34 [35] 36 
ОтправитьПечать