|
Рисунок на таб доке и веб клиент | ☑ | ||
---|---|---|---|---|
0
Paradox
11.03.13
✎
10:32
|
Привет всем, если кто сталкивался с данной пролемой, посоветуйте как решить, пожалуйста.
Программно рисую на таб.доке линиями фигуру, сохраняю данный таб.док в реквизит с типом Хранилище. (Это все справочник) Далее запросом выбираю данные из этого справочника и вывожу в новый таб.док данные из хранилища. получается нечто похоженее на галерею чертижей. Вывожу так: получаю в запросе реквизит с типом "хранилище значений", программно создаю область и вывожу в эту область полученный таб док из хранилища. Все это разумеется в цикле по записям справочника. Получаем галерею чертежей. Но при выводе рисунок то не отображается, то сильно смещается вправо, вообще не понятно почему так. В тонком клиенте все работает отлично а в веб клиенте - вот такая беда. Заранее благодарю. |
|||
1
Paradox
11.03.13
✎
10:33
|
Рисунок рисую путем добавления линий на таб.док
|
|||
2
Paradox
11.03.13
✎
11:02
|
ап
|
|||
3
sikuda
11.03.13
✎
11:18
|
Приведи пример кода твоей идеи. Я тоже мучаюсь с графиками, но с другой стороны... http://sikuda.ru/?p=18
|
|||
4
Paradox
11.03.13
✎
11:41
|
&НаСервере
Процедура ВыполнитьЗаполнениеГалереиСервер() Макет = Обработки.осиВыборНоменклатуры.ПолучитьМакет("Макет"); Чертеж = Макет.получитьОбласть("Чертеж"); Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | осиЧертежи.Ссылка, | осиЧертежи.Чертеж, | 1 КАК Порядок, | NULL КАК ДатаСозданияЧертежа |ИЗ | Справочник.осиЧертежи КАК осиЧертежи |ГДЕ | НЕ осиЧертежи.ПометкаУдаления | И осиЧертежи.Клиент = &Клиент | И осиЧертежи.ВидИзделия = &ВидИзделия | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | осиЧертежи.Ссылка, | осиЧертежи.Чертеж, | 0, | осиЧертежи.ДатаСозданияЧертежа |ИЗ | Справочник.осиЧертежи КАК осиЧертежи |ГДЕ | НЕ осиЧертежи.ПометкаУдаления | И осиЧертежи.Клиент = &ПустойКлиент | И осиЧертежи.ВидИзделия = &ВидИзделия | |УПОРЯДОЧИТЬ ПО | Порядок, | ДатаСозданияЧертежа"; Запрос.УстановитьПараметр("ВидИзделия", Объект.Изделие); Запрос.УстановитьПараметр("ПустойКлиент", Справочники.осиКлиенты.ПустаяСсылка()); Запрос.УстановитьПараметр("Клиент", Объект.Клиент); Выборка = Запрос.Выполнить().Выбрать(); Галерея.Очистить(); Галерея.ТолькоПросмотр = Истина; Пока Выборка.Следующий() Цикл ТабДок = Выборка.Чертеж.Получить(); Если 1=0 Тогда ТабДок = Новый ТабличныйДокумент; КонецЕсли; Область = ТабДок.Область("R1C1:R6C3"); Область.Заполнение=ТипЗаполненияОбластиТабличногоДокумента.Параметр; Область.Расшифровка = Выборка.Ссылка; Область.Текст = Выборка.Ссылка.Наименование; Область.Объединить(); ОбластьМакета=ТабДок.ПолучитьОбласть("R1C1:R6C3"); Галерея.Вывести(ОбластьМакета); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) ВыполнитьЗаполнениеГалереиСервер(); ВыполнитьПервоначальноеЗаполнениеСервер(); КонецПроцедуры |
|||
5
Paradox
11.03.13
✎
11:42
|
в тонком - все норма работает, а в веб - косит рисунки вправо
|
|||
6
Paradox
11.03.13
✎
11:43
|
Это код по формированию галереи чертежей в элемент формы Галерея.
Чертеж - реквизит справочника с типом ХранилищеЗначений |
|||
7
Paradox
11.03.13
✎
11:45
|
Рисунок делаю программно, на форме справочника
|
|||
8
Paradox
11.03.13
✎
11:45
|
&НаКлиенте
Процедура ВыполнитьПостроениеГеометрииКлиент() Масштаб = 5; ОчиститьЧертеж(); темпЛево = 5; темпВерх = 5; текУгол = ?(Объект.ПоЧасовойСтрелке, -Объект.НачальныйУгол, Объект.НачальныйУгол); Для каждого Стр Из Объект.ПараметрыИзделия Цикл Линия = Просмотр.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Прямая); Линия.Лево = темпЛево; Линия.Верх = темпВерх; УголВРадианах = ИзГрадусовВРадианы(текУгол); Линия.Ширина = Стр.Длина * cos(УголВРадианах)/Масштаб; Линия.Высота = -Стр.Длина * sin(УголВРадианах)/Масштаб; темпВерх = Линия.Верх + Линия.Высота; темпЛево = Линия.Лево + Линия.Ширина; текУгол = текУгол + ?(Стр.ПоЧасовойСтрелке, -Стр.Угол, Стр.Угол); //Надпись = Чертеж.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Текст); //Надпись.Текст = ""+Стр.Длина; //Надпись.Лево = темпЛево/2; //Надпись.Верх = темпВерх-5; //Надпись.ГраницаСверху = Ложь; //Надпись.ГраницаСлева = Ложь; //Надпись.ГраницаСнизу = Ложь; //Надпись.ГраницаСправа = Ложь; //Надпись.Ширина = 10; //Надпись.Высота = 3; КонецЦикла; КонецПроцедуры |
|||
9
Paradox
11.03.13
✎
11:46
|
&НаКлиенте
Функция ИзГрадусовВРадианы(УголВГрадусах) УголВРадианах = 3.14 /180 * УголВГрадусах; Возврат УголВРадианах; КонецФункции |
|||
10
sikuda
11.03.13
✎
12:31
|
По табличному документу что там происходи не скажу. Посмотри в разный браузерах. Может есть какая специфика...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |