◄ 1 2 3 4 5 6 7 ► |
1С:Предприятие
:: 1С:Предприятие 7.7 и ранее
|
|
| ||
АЛьФ 18.11.20 - 12:10 | Понадобилось тут для работы добавить пару методов.
КопироватьОбластьТаблицы(<ТаблицаИсточник>,<СтрокаНачальная>,<КолонкаНачальная>,<СтрокаКонечная>,<КолонкаКонечная>,<ТаблицаПриемник>,<СтрокаНачальнаяПриемника>,<КолонкаНачальнаяПриемника>) Назначение: Метод для копирования области ячеек из одной таблицы в другую. Копируемые ячейки заменяют содержимое ячеек в таблице-приемнике. Параметры: ТаблицаИсточник - объект Таблица, из которого надо скопировать ячейки; СтркаНачальная,КолонкаНачальная,СтрокаКонечная,КолонкаКонечная - координаты, задающие копируемую область ячеек; ТаблицаПриемник - объект Таблица, в который надо скопировать ячейки; СтрокаНачальнаяПриемника,КолонкаНачальнаяПриемника - координаты начальной ячейки области, куда надо поместить копируемые ячейки. ОткрытьДвиженияОбъекта(<Документ>) Назначение: Открывает стандартное окно движений документа по регистрам. Аналогично действию ''Движения документа'' в контекстном меню журнала документов. Параметры: <Документ> - документ, движения которого надо показать. Если кому интересно, сборку 2.0.5.152 качать, как обычно на formex.dorex.pro | ||
mishaPH Модератор 501 - 21.12.20 - 13:13 | |||
Злопчинский 502 - 21.12.20 - 13:23 | (501) Правильно писать "уклейка" | ||
АЛьФ 503 - 21.12.20 - 13:25 | 2(500) В таких ситуациях лучше табличное поле использовать. Слишком уж глубоко залезать (на первый взгляд) придется. | ||
АЛьФ 504 - 21.12.20 - 13:26 | 2(501) Это я понял. Не встречал в коде 1С возможности менять положение заголовка. | ||
Djelf 505 - 21.12.20 - 13:40 | (504) Вроде есть возможность, вот тут https://gyazo.com/d15dee01f151ff96e4ed9c6e74f9ab97
5й параметр tagLVCOLUMNA, а у него есть LVCF_FMT, а у LVCF_FMT есть LVCFMT_CENTER https://docs.microsoft.com/en-us/windows/win32/api/commctrl/ns-commctrl-lvcolumna Только зачем, если есть ТабличноеПоле со значительно большими возможностями? | ||
АЛьФ 506 - 21.12.20 - 13:44 | 2(505) Таблицы в 1С не на основе CListCtrlEx сделаны. Там полностью свой класс от CWnd. | ||
Djelf 507 - 21.12.20 - 13:48 | Могу и ошибаться, так глубоко не копал, а где тогда CListCtrlEx используется?
Какой там класс у таблиц в 1С? | ||
АЛьФ 508 - 21.12.20 - 13:52 | 2(507) Видать в каких-то списках. Понятия не имею где именно. Таблицы 1С - это CBrowse. | ||
Djelf 509 - 21.12.20 - 14:17 | (508) А... в br32 оно сидит... Вроде и там можно как-то воткнуться, но придется видимо изрядно патчить память.
В void __thiscall CBrowse::OnPaint(CBrowse *this) https://gyazo.com/368b75bd4921852c4b8b17fb6424c234 Наверное не стоит ;) | ||
trad 510 - 21.12.20 - 14:24 | (509)
на всякий случай + 0x2c это вот это m_Flag1 //<-CColumn(64/32)<-CCmdTarget(32/28)<-CObject(4/4) class IMPORT_1C CColumn:public CCmdTarget//CObject {DECLARE_DYNAMIC(CColumn) public: CBrowse* m_pBrowse; // 20h UINT m_ID;  // 24h CString m_Caption; // 28h DWORD m_Flag1; // 2Ch DWORD m_Flag2; // 30h DWORD m_Width; // 34h DWORD m_Width2;  // 38h DWORD m_ColPositionFlag;// 3Ch  //size 40h | ||
trad 511 - 21.12.20 - 14:25 | CColumn& CBrowse::GetColumn(unsigned int); | ||
trad 512 - 21.12.20 - 14:27 | но судя по (509) возможно только left и right | ||
АЛьФ 513 - 21.12.20 - 14:31 | 2(509) Мне кажется, что это положение текста в ячейке таблицы, а не в заголовке колонки. | ||
trad 514 - 21.12.20 - 14:32 | (513) да, скорее всего ты прав | ||
trad 515 - 21.12.20 - 14:35 | |||
АЛьФ 516 - 21.12.20 - 14:53 | Вроде нашел где заголовок таблицы выводится: в br32 по адресу 1F20543B. | ||
АЛьФ 517 - 21.12.20 - 14:55 | +(516) Если это действительно так, то там стиль рисования передается константой 0х8800. Не поменять, если не перехватывать всю отрисовку. | ||
Злопчинский 518 - 21.12.20 - 15:47 | на сайте пока 166 лежит, косячная в части "нарушение прав доступа".
у меня в продакшене с пятницы 168 работает, нареканий пока нет. Ходатайствую не упустить исправления по 168 релизу, когда будет выкладываться обновленный релиз | ||
АЛьФ 519 - 21.12.20 - 16:08 | 2(518) Не переживай. Просто тест переедет с ЯД на сайт в релиз. | ||
victuan1 520 - 22.12.20 - 04:31 | А вот кто сможет поправить глюк когда постепенно ползут реквизиты контролов на формах диалогах если сохранять диалоги в разных стилях оформления рабочего стола Виндовс?
Я так понял, что это древний глюк платформы 1С 7.7 из-за того что она запоминает координаты контролов на диалоге не от нижней границы строки заголовка форма, а от верхней. Из-за того, что у меня на работе - ВинХР, а дома - Виндовс7, в которых я не смог настроить одинаковую высоту строки заголовка окон, у меня при смешанной разработке контролы на редактируемых формах постепенно ползут вверх. | ||
Злопчинский 521 - 22.12.20 - 05:26 | я тупо делаю изначально первые по вертикали реквизиты пониже, рассчитывая что заголовок окна будет широкий. и вроде норм. | ||
mishaPH Модератор 522 - 22.12.20 - 10:52 | 2.0.5.131 https://yadi.sk/i/cUG4ZKI1sJvTxA
2.0.5.166 https://yadi.sk/i/VGbbjGI4c4nbXw вот как так? одна форма 2.0.5.166 уже не могу поставить в системы т.к. под 131 все написано Процедура ПриОткрытии() Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"FormEx.dll") = 1 Тогда Сервис = СоздатьОбъект("Сервис"); Сервис.ВключитьРаскраскуТаблиц(); Сервис.ПоказыватьИндикаторКлавиатуры(1); Сервис.ПерехватМыши(0); Сервис.ПерехватКлавиатуры(1); Иначе Предупреждение("не загружена компонента FormEx.dll"); КонецЕсли; ТЗЗаданий.НоваяКолонка("Товар","Справочник.Номенклатура",,,,18); ТЗЗаданий.НоваяКолонка("Количество","Число",5,,,5); АтрФормы = СоздатьОбъект("АтрибутФормы"); шрифт18 = Сервис.СоздатьШрифт("глШрифт18",18,7); шрифт25 = Сервис.СоздатьШрифт("глШрифт25",25,7); шрифт20 = Сервис.СоздатьШрифт("глШрифт20",20,7); шрифт30 = Сервис.СоздатьШрифт("глШрифт30",30,7); шрифт35 = Сервис.СоздатьШрифт("глШрифт35",35,7); шрифт40 = Сервис.СоздатьШрифт("глШрифт40",40,7); шрифт50 = Сервис.СоздатьШрифт("глШрифт50",50,7); КонецПроцедуры// ПриОткрытии Процедура ПослеСозданияФормы() ФормаРасш = СоздатьОбъект("РасширениеФормы"); // ФормаРасш.ВысотаЗаголовкаТаблицы("ТЗЗаданий",2); ФормаРасш.УстановитьАвтоширинуВТаблице("ТЗЗаданий",1); ФормаРасш.верх = 0; ФормаРасш.Лево = 0; // ФормаРасш.Максимизирована = 1; АтрФормы.УстановитьАтрибут(Форма,"ТЗЗаданий"); АтрФормы.Шрифт = шрифт20; АтрФормы.УстановитьАтрибут(Форма,"кн_ОтправитьЗадание"); АтрФормы.Шрифт = шрифт25; КонецПроцедуры// ПослеСозданияФормы | ||
АЛьФ 523 - 22.12.20 - 11:37 | 2(522) А что это за странные названия шрифтов? Они действительно есть в системе? | ||
Djelf 524 - 22.12.20 - 11:42 | Обсуждали уже вот тут: https://www.1cpp.ru/forum/YaBB.pl?num=1556121691/9 | ||
АЛьФ 525 - 22.12.20 - 11:49 | 2(524) И ведь совсем недавно было. А не помню уже ни черта. Только когда читать начал вспомнил. | ||
mishaPH Модератор 526 - 22.12.20 - 11:54 | (523) ну так это чуть ли из 0 причера код со шрифтами | ||
mishaPH Модератор 527 - 22.12.20 - 11:55 | у меня это в одной системе сборки товара используется активно теперь туда новую компоненту не поставлю расп..сит шрифты се.
да и в чек в магазине | ||
АЛьФ 528 - 22.12.20 - 12:10 | 2(527) Предложения? | ||
mishaPH Модератор 529 - 22.12.20 - 12:33 | да я пока старую оставлю. | ||
Злопчинский 530 - 22.12.20 - 13:41 | (525) и НЕ НАДО НИЧЕГО МЕНЯТ С РАЗМЕРАМИ ШРИФТОВ. это по моим тестам сделано было в районе. раньше давно например шрифт Ариал на форме в виде надписи и шрифт Ариал в ТЗ и в полях ввода для одних и тех же заданных размеров - физически отличались. После поправок Альфом шрифт текствой надписи с размером например 10 равен размеру шрифта с размером 10 в ТЗ. и все норм. Сорлнце всходит? всходит! ну и не трогйте! Рекламное место пустует | ||
Злопчинский 531 - 22.12.20 - 13:43 | (528) условно: я гружу компоненту из каталога базы. туда для клнкретного решения можно подсунуть конкретный версию формекса. а если в каталоге базы нет - грузится "общая" компонента из БИН. с учетом каталоговПользователя можно хоть для каждого пользователя 1С свою компоненту грузить. | ||
АЛьФ 532 - 22.12.20 - 14:08 | А такой вот внезапный вопрос. Может кто в курсе как получить идентификатор колонки многострочной части формы? Имеется ввиду в компоненте, исходя из имеющегося объекта CBrowse. | ||
mishaPH Модератор 533 - 22.12.20 - 14:32 | (530) подстроить под новую все и не парится более? | ||
Djelf 534 - 22.12.20 - 14:33 | (532) Поставь уже Гидру! ;)
CColumn * __thiscall CBrowse::GetColumnN(CBrowse *this,int param_1) https://gyazo.com/86866166c8b20e7e5dc7d27977308402 | ||
АЛьФ 535 - 22.12.20 - 14:36 | 2(534) И где тут идентификатор колонки? Не ИД команды, не заголовок, а именно идентификатор. | ||
Djelf 536 - 22.12.20 - 14:38 | (535) Должно быть в CColumn->m_ID, ИМХО. | ||
Djelf 537 - 22.12.20 - 14:40 | (536) А, ТекстовойИдентификатор? Поищу... | ||
АЛьФ 538 - 22.12.20 - 14:44 | 2(537) Именно текстовый. В ТЗ понятно как, а вот с многострочной частью засада. Похоже, надо брать CGetDoc7 формы и оттуда тянуть. Вообще непонятно откуда брать идентификаторы, не привязанных к реквизитам колонок. | ||
Djelf 539 - 22.12.20 - 14:45 | Предполагаю что в массиве колонок текстовой Ид сидит https://gyazo.com/e544986abd601aeda4ae3e2ccd74bd60 | ||
АЛьФ 540 - 22.12.20 - 14:51 | 2(539) Там массив из тех же CColumn. | ||
Злопчинский 541 - 22.12.20 - 14:52 | (533) угу | ||
Djelf 542 - 22.12.20 - 14:55 | Хм, да. Текстовых идентификаторов что-то не видать в этих структурах. Где то уровнем выше видимо они сидят.
Где то в контексте формы видимо. 1С же не дает создать реквизит с тем же ТекстовымИД на форме. Из числового ИД в Форме Текстовой ИД разве нельзя получить? | ||
Злопчинский 543 - 22.12.20 - 14:55 | @Альф, а вот еще такая фича:
Tсли в ТЗ на форме штатно сделать видимой служебную колонку "НомерСтроки" (бывает иногда такая потребность), то ширина этой колонки овербольшая и никакими манипуляциями не удается сделать ее уже, что неудобно адски. Можно ли это как-то "подкрутить"..? | ||
АЛьФ 544 - 22.12.20 - 15:03 | |||
Djelf 545 - 22.12.20 - 15:15 | (544) А у тебя же уже есть метод!
РасширениеФормы=СоздатьОбъект("РасширениеФормы"); РасширениеФормы.methColArray(); | ||
Djelf 546 - 22.12.20 - 15:21 | А, чорд, он тоже не ИД, а заголовки выводит... | ||
АЛьФ 547 - 22.12.20 - 15:21 | 2(545) Это Артур делал. И там искомого тоже нет. Там просто колонки перебираются и выводятся атрибуты CColumn.
Пока сделал в лоб: CView * pView = (CView*)pBrowse->GetParent(); if(pView) { CGetDoc7* pGetDoc7 = (CGetDoc7*)pView->GetDocument(); if(pGetDoc7) { int count = pBrowse->GetColumnNum(); CString csBuf = ""; for(int col = 0; col < count; col++) { CColumn &Column = pBrowse->GetColumnN(col); CGetField* pGetField = pGetDoc7->GetField(Column.m_ID); if(pGetField && pGetField->m_Set) { if(csParamColName.CompareNoCase(pGetField->m_Set->m_CodeName) == 0) { csBase = pGetField->m_strCtrlTitle; col = count; }} } } } Может потом чего более достойное придумается. | ||
АЛьФ 548 - 22.12.20 - 15:25 | +(547) Это поиск колонки с заданным идентификатором. Мысль в том, чтобы у таблицы была колонка с идентификатором "FormEx_ПараметрыТаблицы" и там через точку с запятой были перечислены некие дополнительные параметры, меняющие поведение этой таблицы. Пока там обрабатывается только параметр ЦентрироватьТекущуюСтроку. Это чтобы нормализировать новый функционал при установке текущей строки в таблице. Метод ЦентрироватьТаблицуДляТекущейСтроки() действует сразу на все таблицы, что не есть хорошо. Новый подход позволит для каждой таблицы задать свое поведение. | ||
Djelf 549 - 22.12.20 - 15:36 | Подзабыл уже где было. В тзКонтролов=РасширениеФормы.methCtrlInfo(); все что на формен находится есть. | ||
Злопчинский 550 - 22.12.20 - 16:24 | (544) "УстановитьШиринуКолонки() " - хм.. сейчас проверим... | ||
Злопчинский 551 - 22.12.20 - 16:26 | (548) "и там через точку с запятой были перечислены некие дополнительные параметры, меняющие поведение этой таблицы."
чтобы туда можно расширенные параметры подсовывать, например, чтобы скроллы вертикаль/горизонталь показывать/не показывать, шрифт на всю таблицу целиком итд (а не отдельным значением через расширение формы) | ||
Злопчинский 552 - 22.12.20 - 16:29 | А как все-таки сделать чтобы ОбработкаВнешнегоСобытия для дочерней мод.формы ловилась (при открытии нескольких мод.форм друг за другом вызовами), а не проваливалась в самую первую родительскую мод.форму? | ||
Злопчинский 553 - 22.12.20 - 16:37 | (544) "УстановитьШиринуКолонки()" - получилось, спсб! | ||
АЛьФ 554 - 22.12.20 - 17:02 | 2(552) Насколько я понимаю, никак. Надо другой механизм придумывать. | ||
Злопчинский 555 - 22.12.20 - 17:31 | (554) можно конечно делать на немодальных формах, и при закрытии дочерней активизировать родительскую или при повторнымоткрытием родительскую с передачей параметров. была еще штука (@Ёпрст вроде показывал - эмуляция модальности немодальной формой -может завалялась у кого). а то при работе с модальными формами приходится обработкой-диспетчером запускать только очередную модальную форму единственную с передачей кучи параметров для понимания контекста куда надо "попасть" родительской форме при закрытии дочерней или делать приходится много форм при сложных алгоритмах где вместо одного сканирвоания объекта надобится сканирвоание кучи других объектов связанных". Пихать это всё в одну форму на разные слои можно, но это мне сильно не нравится, потому как переносимость такого решения низкая, а так каждая форма за свой атомарный шаг отвечтает - главное на вход подать нужные параметры...
. может у кого какие соображения/практика подобного было/есть? | ||
АЛьФ 556 - 22.12.20 - 17:37 | Сделал колонку для параметров таблицы.
Как это работает. Добавляем в таблицу (как в таблицу значений, так и в любую многострочную часть на форме) колонку с идентификатором "FormEx_ПараметрыТаблицы", в заголовке этой колонки пишем "ЦентрироватьТекущуюСтроку:0". Пример кода: тз.НоваяКолонка("Название",,,,"Название заголовка"); тз.НоваяКолонка("FormEx_ПараметрыТаблицы",,,,"ЦентрироватьТекущуюСтроку:0"); тз.ВидимостьКолонки("FormEx_ПараметрыТаблицы", 0); После двоеточия число - это тип центровки, как описано в методе ЦентрироватьТаблицуДляТекущейСтроки (). Реализовано так, чтобы в будущем можно было добавлять какие-то еще параметры для таблиц. Метод ЦентрироватьТаблицуДляТекущейСтроки() теперь надо вызывать только если надо изменить поведения по умолчанию для всех таблиц. Качать для тестирования все там же: https://yadi.sk/d/SaGiKhu0fjokHw | ||
Sserj 557 - 22.12.20 - 18:28 | (555) Можно пробежаться по контекстам открытых из обрабоки, что типа такого:
Перем контекстДочернейФормы; Процедура ТутОткрываетсяФорма() ОткрытьФормуМодельно("...", контекстДочернейФормы); КонецПроцедуры Процедура ОбработкаВнешнегоСобытия(параметрыСобытия) Если ТипЗначения(контекстДочернейФормы) = 100 Тогда  //В дочерней может и не быть обработчика Попытка контекстДочернейФормы.ОбработкаВнешнегоСобытия(параметрыСобытия);  //Вот тут можно даже в параметр что-то вернуть типа ОтключитьСвойОбработчик  //но предположим что свой не нужен и просто выходим. Возврат; Исключение КонецПопытки КонецЕсли;  //Если дочерней нет или в ней нет обработчика продолжаем свою обработку. КонецПроцедуры | ||
Sserj 558 - 22.12.20 - 18:29 | +(557) Ну и аналогично можно в дочерних окнах такое вставить, чтобы вся цепочка проверялась. | ||
Злопчинский 559 - 22.12.20 - 19:39 | (557) ничего не понял. а ак это в родительской форме сработает ОбработкаВнешнегоСобытия если еще дочерняя модальная форма не закрыта? причем в дочерней модальной форме выполняется не одно сканирование с закрытием дочерней модальнйо формы, а в дочерней форме идет поток санирвоаний при этом из дочерней модальнйо формы может вызываться дочернеяя-дочере=няя форма, в которйо также выполняется поток сканирвоаний... | ||
Злопчинский 560 - 25.12.20 - 12:55 | АЛьФ, а можно ли както типа в "один прием" без существенных вычислений (по примеру выше автоподбора шрифта) сделать типа такоЕ:
Форма, на форме надпись. шрифт+высота надписи такие что получается однострочная надпись. текст надписи при открытии формы или действий с формой может меняться динамически. чтобы как-то устанавливать вариант выравнивания по горизонтали... если текст полностью влазит в надпись - выравнивание по центру, если не влазит полностью - выравнивание по левому краю... ? например, на форму выводится наименование товара в виде "артикул наименование". если название длинное то при выравнивании по горизонтали по центру левая правая часть обрезаются и хрен поймешь... ? Рекламное место пустует | ||
Злопчинский 561 - 25.12.20 - 12:56 | .. типа МойТекстовыйРеквизит.Автоформатирование(); | ||
Злопчинский 562 - 25.12.20 - 20:24 | а напомните , формексом можно сделать в строк ТЗ строку с переносом, то есть плавающей высоты? (имхо нет)
типа | артикул | наименование
| 123456 | Тут наименование в несколько строк
| | потому что длинное с переносом | ||
Злопчинский 563 - 25.12.20 - 20:24 | тьфу блин --------------------------------------------------------------| артикул | наименование -------------------------------------------------------------- | 123456 | Тут наименование в несколько строк
| | потому что длинное с переносом
-------------------------------------------------------------- | ||
tgu82 564 - 25.12.20 - 22:41 | (563) Вот название колонок в несколько строк можно. А чтоб значения в несколько строк - что-тоя такое не помню | ||
Злопчинский 565 - 26.12.20 - 03:48 | .. и еще: можно ли как-то штатные поля ввода для строки и числа сделать с выравниваем по центру? | ||
Злопчинский 566 - 26.12.20 - 03:50 | Вот, например, сделать что текстовая надпись с длинным текстом выравненная вертикально по центру будет автопереносится (штатно такой настройки нет) - можно через расширенный стиль, может и в (565) как-то можно? | ||
simply1 567 - 29.12.20 - 19:10 | Так это из-за модальности не срабатывает глСервис.ВнешнееСобытие() и не попадает в ОбработкаВнешнегоСобытия(Источник_,Событие_,Данные_) ??? | ||
Злопчинский 568 - 29.12.20 - 22:04 | (567) ну, ОбработкаВнешнегоСобытия не срабатывает, а вот чем порожадется - это другое, к модальности отношения не имеет имхо | ||
АЛьФ 569 - 30.12.20 - 09:48 | Хозяйке на заметку.
Знаете ли вы, что если со сборкой FormEx больше 164 в каталог базы положить файл wallpaper.bmp, то он будет загружен в качестве обоев главного окна? А еще можно в названии файла указать в скобках положение обоев, как оно описано в методе Сервис::УстановитьОбои(). Например, "wallpaper(6).bmp" - картинка будет растянута на все окно, а "wallpaper(2).bmp" картинка будет отображена в правом верхнем углу. | ||
big 570 - 30.12.20 - 19:38 | (569) Хммм... О каких пасхалках мы ещё не знаем? ;) | ||
Злопчинский 571 - 30.12.20 - 21:05 | |||
АЛьФ 572 - 30.12.20 - 22:13 | |||
MWWRuza 573 - 31.12.20 - 01:18 | |||
Злопчинский 574 - 31.12.20 - 05:47 | Как получить программно описание объекта метаданных (то что в хелпе открывается по вопрс.знаку)..?
вроде где-то видел, что можно достучаться.. но как? | ||
MWWRuza 575 - 31.12.20 - 10:56 | (574) Ээээ....??? А в двух словах, зачем тебе это? | ||
Злопчинский 576 - 31.12.20 - 11:44 | (575) надо!
например туда я могу запихнуть всякую хрень, которую извлекать и выполнять. например чисто условно перечень реквизитов для выгрузки или еще что-то полезное чем можно воспользоваться в программном коде. даже тупо нажать на кнопку на форме и получить текстовое описание хелпа | ||
MWWRuza 577 - 01.01.21 - 02:06 | (576) даже тупо нажать на кнопку на форме и получить текстовое описание хелпа
Кгм... Для кого? Для юзеров -? А нах??? В конфигураторе, ты и так получишь, все, что тебе надо... Мне это напомнило первое знакомство с 1С:Розницей, еще 1.0... Там надо было "ручками" прописывать формулы для расчета цены... Обычные пользователи "вешались", не понимая, чего от них хочет программа. Потом, вроде это упростили, стало более визуально. Но, аллергия к типовым 8.хх после этого, лично у меня осталась на все время. :-( | ||
Злопчинский 578 - 04.01.21 - 00:10 | (577) шоб було! | ||
Злопчинский 579 - 04.01.21 - 00:11 | и из-за того что заголовок нулевой высоты не учитывается при расчете колва строк, помещающихся на страницу ТЗ - приходится отказываться от ткой полезнйо фичи... потому что некрасиво выглядит неиспользованная строчка внизу списка ТЗ при этом что список в ТЗ еще не закончился... | ||
АЛьФ 580 - 04.01.21 - 09:09 | |||
Злопчинский 581 - 04.01.21 - 12:38 | |||
Злопчинский 582 - 04.01.21 - 12:39 | (580) а можно еще как-то сделать так, чтобы разлиновка ТЗ отсутствовала или задавать цвет, которым будет рисоваться разлиновка ТЗ? | ||
Злопчинский 583 - 04.01.21 - 12:43 | (580) если это привязано к форме - то это скорее всего описание реквизита, лежащего на форме? а я имею в виду описание объекта метаданных, которое, по идее м.б. доступно и без наличия формы? | ||
АЛьФ 584 - 04.01.21 - 15:39 | 2(582) Нет. Тогда уж проще взять ТабличноеПоле из 1С++. | ||
АЛьФ 585 - 04.01.21 - 15:42 | 2(583) Это описание формы, которое на третьей закладки при редактировании формы в конфигураторе. Описания именно объекта метаданных нету. Это логичней было бы в 1С++ добавить, но там развитие похоже совсем остановилось. | ||
Djelf 586 - 04.01.21 - 16:48 | 2(584) Присоединяюсь к ответу: ТабличноеПоле и забудьте про ТЗ на форме! ТЗ на форме это отвратительно ;)
Хакнуть то все можно, тут нужно GetSysColor в CBrowse::OnPaint потыкать, цвет рамок ячеек зашит тут: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Control Panel\Colors] "WindowFrame"="100 100 100" | ||
Злопчинский 587 - 04.01.21 - 16:57 | |||
Djelf 588 - 04.01.21 - 17:06 | 2(587) Как то был даже не разговор, а пара сообщений, про дамп параметров ТЗ или МСЧ в формат для создания ТП на их основе.
АЛьФ что то слопал, долго лет спал, и это не Виагра! Хочу такое же!!! | ||
Злопчинский 589 - 06.01.21 - 01:06 | не получается порешать такую задачку:
Форма списка справочника, например единицы измерения для номенклатуры. хочу какую-то строку списка (в данном случае для основной единицы) вывести жирным шрифтом. отрисовываю с помощью невидимой колонки с выражением "FONTSET["+КодШрифт+"]"; КодШрифт определяю ПослеОткрытия() Настройки = СоздатьОбъект("НастройкиПользователя"); ШрифтФорм = СтрПолучитьСтроку(СтрЗаменить(Настройки.ШрифтФорм, ",", РазделительСтрок), 1); КодШрифт = глСервис.СоздатьШрифт(ШрифтФорм,,7);// жирныйШрифтФорм: MS Sans Serif,-11,0,400,0,0,0,0,0,204,1,2,1,34 (в настройках шрифта форм указан MS Sans Serif (Кириллический),8) получается явная лабуда, размер шрифта явно не соответствует нужному, явно больше: https://www.screencast.com/t/I8yG7SL4oi2Q Если в создании шрифта явным образом указать размер шрифта КодШрифт = глСервис.СоздатьШрифт(ШрифтФорм,8,7); - получается правильный ожидаемый эффект https://www.screencast.com/t/b7kmL7Y3dB3m - но это же некузяво, откуда я знаю размер шрифта? как его получить? из НастроекПользователя - в возвращаемой строке размером шрифта как-то непохоже... Вторым значением в Настройки.ШрифтФорм возвращается похоже размер шрифта, но какbv-то левым значением (или я тупой/не знаю), беглый исследования показали, что после имени шрифта отрицательные значения соответствуют такими размерам (менял настройки в 1С и смотрел что возвращается) размер шрифта (отрицательный из НастройкиПользователя.ШрифтФормы / реальный размер шрфита) -11 /8 -12 /9 -13 /10 -15 /11 -16 /12 -19 /14Вопрос. как из отрицательных значений получить "правильный" размер шрифта? или как-то решить задачу сабжа - выделит в списке строку шрифтом таким же как у формы, но жирным? | ||
Злопчинский 590 - 06.01.21 - 01:21 | Пока извернулся так. вроде норм, но это как-то через гланды ФормаРасш = СоздатьОбъект("РасширениеФормы"); ШрифтФормы = ФормаРасш.кнЗакрыть.Шрифт; КодШрифт = глСервис.СоздатьШрифтНаОсновании(ШрифтФормы,,,7);// жирный .Шрифт формы не получить не обращаясь к атрибуту.. почему можно получить заголовок, стиль, координаты формы, а ihabn - нельзя..? типа ФормаРасш.Шрифт ? | ||
Злопчинский 591 - 06.01.21 - 01:39 | Попутно что нашелпочему то в описании реквизита на форме (всплывает при наведении мышки которое) если содержится знак минус - это приводит к тому что после минуса выводится пару слов и остальное обрезается например олфыраолыврп ывапукпуп gerg ergerger drgergerg askfjhsdjk sdkhs k - полы рыол цулдоалд ertger//вот здесь обрезается после "рыол" укждол ergerf;kler;lk укаукапук ergerg ferrtf олдод6786786786 млтльт78678687 m,nm89897897 89789789 8978 9789 789 признак проверки/валидности единицы измерения пустое значение (0, красный) - единица не проверялась,//обрезается после "красный) - " заполненное значение (1, зеленый) параметры выверены, изменять параметры не рекомендуется | ||
Злопчинский 592 - 06.01.21 - 01:41 | Клюшки так же неисчерпаем, как и атом... | ||
Злопчинский 593 - 06.01.21 - 01:42 | или я может чего ступил, тады ой | ||
Злопчинский 594 - 06.01.21 - 01:59 | не, елки-палки, это не связано с симолом минус.. обрезает как-то произволдьно в зависимости от хз чего, какой-то набор символов.. может это зависит от масштабироания шрифтов, которые установлены в настройках ОС... | ||
Злопчинский 595 - 06.01.21 - 02:01 | не, проверил.. от масштабирования не зависит. | ||
victuan1 596 - 06.01.21 - 07:39 | |||
АЛьФ 597 - 06.01.21 - 09:38 | 2(596) В системе не назначено приложение по умолчанию для гиперссылок? | ||
victuan1 598 - 06.01.21 - 10:01 | (597) Как так? Из других приложений гиперссылки открываются. | ||
АЛьФ 599 - 06.01.21 - 10:15 | 2(589) Сделал, чтобы сначала метод СоздатьШрифт пытался загрузить из первого параметра свойства шрифта из строки типа возвращаемой объектом НастройкиПользователя, а при неудачи устанавливала бы переданную строку в качестве имени шрифта. Качать для проверки тут: https://yadi.sk/d/SaGiKhu0fjokHw
2(598) Ну, у меня там код элементарный. Просто вызывается системная функция ShellExecute(NULL, _T("open"), url, NULL,NULL, showcmd); А дальше уже все от системы зависит. | ||
Злопчинский 600 - 06.01.21 - 14:23 | (599) при случае поправить опечатку в описании СоздатьШрифт
"Назначение: Создает шриВт по указанным параметрам." |
◄ 1 2 3 4 5 6 7 ► |
Список тем форума
|