Вход | Регистрация
    1  2  3  4  5  6  7  8  9  10  11   
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Добавил пару методов в FormEx

Ø [длинная ветка, 07.04.21 - 15:34]
v7: Добавил пару методов в FormEx
Я
   АЛьФ
 
18.11.20 - 12:10
Понадобилось тут для работы добавить пару методов.

КопироватьОбластьТаблицы(<ТаблицаИсточник>,<СтрокаНачальная>,<КолонкаНачальная>,<СтрокаКонечная>,<КолонкаКонечная>,<ТаблицаПриемник>,<СтрокаНачальнаяПриемника>,<КолонкаНачальнаяПриемника>)
Назначение:
Метод для копирования области ячеек из одной таблицы в другую. Копируемые ячейки заменяют содержимое ячеек в таблице-приемнике.
Параметры:
ТаблицаИсточник - объект Таблица, из которого надо скопировать ячейки;
СтркаНачальная,КолонкаНачальная,СтрокаКонечная,КолонкаКонечная - координаты, задающие копируемую область ячеек;
ТаблицаПриемник - объект Таблица, в который надо скопировать ячейки;
СтрокаНачальнаяПриемника,КолонкаНачальнаяПриемника - координаты начальной ячейки области, куда надо поместить копируемые ячейки.

ОткрытьДвиженияОбъекта(<Документ>)
Назначение:
Открывает стандартное окно движений документа по регистрам. Аналогично действию ''Движения документа'' в контекстном меню журнала документов.
Параметры:
<Документ> - документ, движения которого надо показать.

Если кому интересно, сборку 2.0.5.152 качать, как обычно на formex.dorex.pro
   Arbuz
 
701 - 17.02.21 - 15:49
(698) Предлагаю просто закомментить все упоминания в коде, перестанет корректно ресайзится, но на прочий функционал не должно повлиять.
   mishaPH
 
Модератор
702 - 17.02.21 - 15:57
(700) (701) я скачал из 1с++ базу с классами и там есть Общие.Форма.Привязка.ert
но как его один привязать ктек конфе
   Volodja
 
703 - 17.02.21 - 16:01
(702) создай файл в каталоге ИБ  defcls.prm 
и там что-то подобное:
класс Общие.Форма.Привязка = Классы\Форма\Привязки\Общие.Форма.Привязка1.ert : РасширениеФормы
{}
класс Общие.Форма.Привязка2=Классы\Форма\Привязки\Общие.Форма.Привязка2.ert : РасширениеФормы
{
    void Привязка(Строка ИДЭлемента, Строка ТипВ="", Строка ИДЭлементаВ="", Строка ТипГ="", Строка ИДЭлементаГ="");
    void УстановитьФорму(РасширяемаяФорма);
    void ПриИзмененииРазмераОкна(ТипСобытия, ШиринаФормы, ВысотаФормы);
    void ПослеОткрытия();
    void Сбросить();
    void Выровнять(ИДЭлемента, Граница, ИДЭлементаЦель, ГраницаЦель, Отступ);
    void Привязать();
};
   Salimbek
 
704 - 17.02.21 - 16:03
(703) На сколько я помню, достаточно только этого:
класс Общие.Форма.Привязка = Классы\Форма\Привязки\Общие.Форма.Привязка1.ert : РасширениеФормы
{}

Остальное - хорошо бы прописывать, но и без него работало
   Volodja
 
705 - 17.02.21 - 16:04
(702) скорее всего так:
класс Общие.Форма.Привязка = Классы\Форма\Привязки\Общие.Форма.Привязка.ert : РасширениеФормы
{}
   Volodja
 
706 - 17.02.21 - 16:05
(704) У меня оказывается два разных класса стоит
   Ёпрст
 
707 - 17.02.21 - 16:09
(700) ПривязкА и ПривязкИ - это 2 разных класса
   Volodja
 
708 - 17.02.21 - 16:12
(707) "Привязка" используется в отчете, который Ёпрст выложил
   Arbuz
 
709 - 17.02.21 - 16:14
(702) вот один только класс привязкА https://yadi.sk/d/KYVg_8kXycnn3Q
   Ёпрст
 
710 - 17.02.21 - 16:15
(695) на вот, распакуй в каталог с ИБ
https://cloud.mail.ru/public/KFL5/apkLYVZtU
   Ёпрст
 
711 - 17.02.21 - 16:16
Просто в том, что Алексей Диркс писал, есть еще сплиттеры.
Но, можно и вк от trad использовать - тоже удобно
   Arbuz
 
712 - 17.02.21 - 16:18
(709) (710) Во! У тебя версия 2.0, а у меня 1.7.
   mishaPH
 
Модератор
713 - 17.02.21 - 16:19
(710) офигеть. работает. Большое спасибо
   Arbuz
 
714 - 17.02.21 - 16:23
(711) Скажи, будь добр, что за вк от trad, не вспомню.
   Volodja
 
715 - 17.02.21 - 16:27
(714) наверное это:

//Класс Общие.Форма.Привязка2

//Автор: Дмитрий Ощепков (DmitrO)
//Доработано: Дмитрий Трапезников (trad)

//Версия: 2.0 (trad mod)

//класс Общие.Форма.Привязка2=Classes\Общие.Форма.Привязка2.ert : РасширениеФормы

//{
//    void Привязка(Строка ИДЭлемента, Строка ТипВ="", Строка ИДЭлементаВ="", Строка ТипГ="", Строка ИДЭлементаГ="");

//    void УстановитьФорму(РасширяемаяФорма);
//    void ПриИзмененииРазмераОкна(ТипСобытия, ШиринаФормы, ВысотаФормы);

//    void ПослеОткрытия();
//    void Сбросить();

//    void Выровнять(ИДЭлемента, Граница, ИДЭлементаЦель, ГраницаЦель, Отступ);
//    void Привязать();

//};
   Arbuz
 
716 - 17.02.21 - 16:28
(715) я про вк
   Ёпрст
 
717 - 17.02.21 - 16:31
(714)

эли это, или еще была какая. Не помню. Тов. Дмитрий прийди, про свою вк раскажи! :)
https://www.1cpp.ru/forum/YaBB.pl?num=1216643031/all
   Ёпрст
 
718 - 17.02.21 - 16:39
Не это не то.. тут просто сплиттер, была еще сама вк, где и сами привязки и сплиттер, чтоб формекс не использовать вообще.
   Ёпрст
 
719 - 17.02.21 - 16:44
   Arbuz
 
720 - 17.02.21 - 17:00
(719) Спасибо. Не знал про это.
   Злопчинский
 
721 - 20.02.21 - 16:26
примечание про фичи "ФиксироватьМногострочнуюЧасть"
про МнЧ справочника.
В количество колонок входит системная колонка с пиктограммами,  ФиксироватьМногострочнуюЧасть(1) - визуально ничего не поменяется...

на картинке - исходное, первая колонка - невидимая, подкраска курсора
https://www.screencast.com/t/ykGbcykch8

если сделать ФиксироватьМногострочнуюЧасть(1) - то визуально ничего не меняется
если сделать ФиксироватьМногострочнуюЧасть(2) - то визуально никакой фиксации самих строк не происходит, но вот такой интересный эффект при скроллинге вправо https://www.screencast.com/t/VcCYXtzYJKW
если сделать ФиксироватьМногострочнуюЧасть(3) - то все норм.

В количество колонок следует учитывать и невидимые колонки, если они есть "слева".
   victuan1
 
722 - 02.03.21 - 06:18
Метод ВыводитьПиктограммы(<Колонка>,<Пиктограмма>)
Назначение:
Выводить в элементе диалога типа ''ТаблицаЗначений'' пиктограммы.


А есть метод, который позволяет назначить вывод пиктограмм не для КОЛОНКИ, а для СТРОКИ таблицы значений?
   victuan1
 
723 - 02.03.21 - 07:56
(722) Ну или для произвольной ячейки, как более общий случай.
   Mikeware
 
724 - 02.03.21 - 08:07
(723) это вряд ли.
Только ТабличнымПолем
   victuan1
 
725 - 02.03.21 - 08:25
Мне хотя б для всей строки (не колонки) целиком. Вроде нет у формекс для этого метода.
   victuan1
 
726 - 02.03.21 - 08:26
Или по другому сформулирую - сделать показ флажков (пусто, выкл, вкл) для выбранных строк в ТаблицеЗначений.
   Вафель
 
727 - 02.03.21 - 09:11
(722) так это типовыми средствами можно
   АЛьФ
 
728 - 02.03.21 - 09:44
2(727) Было бы интересно узнать как...
   Злопчинский
 
729 - 02.03.21 - 10:47
(722) на ТЗ назначаешь картинку с пиктограммами.
для строки где не надо выводить пиктограмму в колонке - выводишь пустую пиктограмму (номер пиктограммы 0 или заведомо больше чем пиктограмм в картинке). для строк где надо выводить - выводишь нужную.
   АЛьФ
 
730 - 02.03.21 - 10:58
2(729) Ему ж, наверное, и текст надо выводить в ячейках без пиктограмм.
 
 
   Ёпрст
 
731 - 02.03.21 - 11:19
Разве что 2 колонки + выводить в той же колонке, да и то, положение в ТЗ только формексом, на сколько помню можно в тз
   victuan1
 
732 - 02.03.21 - 11:49
(729) В остальных строках этой же ТЗ мне надо выводить текст, а не пустоту.
   victuan1
 
733 - 02.03.21 - 11:50
(731) Это уж конкретный костыль получается...
   Ёпрст
 
734 - 02.03.21 - 11:51
(733) используй табличное поле
   victuan1
 
735 - 02.03.21 - 11:53
(734) Вэкафобия, будь она неладна ))
Если клиентосы, у которых запрещено использование ВК. Если оставить ТЗ, то хоть текстом выведу в ТЗ галочки.
А если тянуть ТП, то придется делать двойную обвязку кода:
- для ТП (если разрешены ВК)
- для ТЗ (если запрещены).
Гемор еще тот, не хочу по этому пути идти.
   Mikeware
 
736 - 02.03.21 - 11:53
   Mikeware
 
737 - 02.03.21 - 11:54
(735) ну тогда виндингсом выводи - он вроде стандартный шрифт
   victuan1
 
738 - 02.03.21 - 11:56
Пока решил вместо галочек выводить текст "Да" или "Нет".
https://ibb.co/k37Z5qv

Ну могу еще формексом подсветку добавить для пущей вящности (если он разрешен).
   victuan1
 
739 - 02.03.21 - 11:58
(737) И как я его туда выберу штатным способом?
   Ёпрст
 
740 - 02.03.21 - 12:05
(738) вшей обе вк в свою поделку, проверяй в приоткрытии их наличие, если нет, распаковывай и устанавливай..делов то. Никто не заметит, что теперь они у них есть.
   Ёпрст
 
741 - 02.03.21 - 12:06
(737) он вроде кириллицу не содержит..не ? Не помню.
   Ёпрст
 
742 - 02.03.21 - 12:06
на нём раньше галочки в рег.отчетности рисовали, помню.
   victuan1
 
743 - 02.03.21 - 12:59
(742) В табличном документе (моксель) можно штрифт выбрать. А тут таблица значений - не выберешь.
   Mikeware
 
744 - 02.03.21 - 13:15
(743) да, тупанул я что-то...
   Ёпрст
 
745 - 02.03.21 - 13:40
(743) выберешь.. формексом :)
   Mikeware
 
746 - 02.03.21 - 13:51
(745) но не для строки же...
   АЛьФ
 
747 - 02.03.21 - 14:07
2(746) Хоть для ячейки.
   Злопчинский
 
748 - 02.03.21 - 14:08
(730) фу, бяка. пиктограммы - отдельная колонка, текст отдельная колонка.
чем проще/линейнее/однообразнее - тем правильнее. а потом надо распечатать ТЧ такую надо будет и что будет печататьяс вместо пиктограмм?
   victuan1
 
749 - 02.03.21 - 15:34
(748) У меня сейчас так, пиктограммы поколоночно.
Но в итоге не удобное отображение на форме, т.к. колонок дохрена, а строк, наоборот мало.
Поэтому возникла идея транспонировать ТЗ, чтобы вот это:
https://ibb.co/rZ1fJ4t
превратить в это:
https://ibb.co/k37Z5qv
   victuan1
 
750 - 02.03.21 - 15:37
Колонок 26. По первому скрину видно, что они даже все в ширину не вошли. А вот на втором скрине всё компактно поместилось.
   Mikeware
 
751 - 02.03.21 - 15:44
(747) вон оно чо, Петрович!©
каюсь - не знал. Век живи - век учись
   victuan1
 
752 - 02.03.21 - 16:01
(747) Есть пример кода, как шрифт для строки ТЗ выбрать?
   АЛьФ
 
753 - 02.03.21 - 16:11
2(752) Так кода, как такового, и нет. Надо просто маркос плана раскраски прописать. Это для FormEx, если чо.
   АЛьФ
 
754 - 02.03.21 - 16:16
Кстати, чистое теоретически, не так и сложно добавить в раскраску макрос типа IMAGE[i], где i - номер пиктограммы из картинки, установленной в таблице.
Надо ли оно?
   victuan1
 
755 - 02.03.21 - 16:18
(754) Я думаю, что надо.
   Djelf
 
756 - 02.03.21 - 16:22
(754) Хм, я ТЗ уже не использую, почти все на ТП делаю, а в МСЧ может пригодится.
А IMAGE[0], или IMAGE[-1] (не помню с 0 или с 1 нумерация) будет делать отступ, когда картинки нет?
А вот так IMAGE[2,4,8] склеить возможно будет?
Чисто теоретически, конечно ;)
   АЛьФ
 
757 - 02.03.21 - 16:27
2(756) Чисто теоретически. Проще всего добавить работу, аналогично всем остальным макросам. Т.е. IMAGE[5] будет задавать, что начиная с текущей колонки в строке будут выводиться картинки с номером 5 (нумерация с 1). Если указано IMAGE[0], то дальше картинки не добавляются. Склеивать можно было бы, но не очень хочется. Там надо будет тогда не просто индекс картинки хранить, а массив индексов.
И вывод картинки сделать, как картинку для панели строки состояния: если текста нет, то в центре ячейки; если есть текст, то картинка слева от текста.
Как-то так.
   Djelf
 
758 - 02.03.21 - 16:38
2(757) Кстати, насчет Идентификаторов МСЧ. Вот почти готовый эксперимент дампа МСЧ в ТП: https://cloud.mail.ru/public/ydxq/HoDzfHAnQ
Должно находится в модуле документа. Как применить пока не знаю, вроде бы и незачем...
   АЛьФ
 
759 - 02.03.21 - 16:44
2(758) Прикольно.
   aleksdbs
 
760 - 02.03.21 - 19:14
К сожалению http://dorex.pro/?projects&formex&download лег и не поднимается. Есть альтернативная возможность получить FormEx и пример использования?
 
 
   MWWRuza
 
761 - 02.03.21 - 20:47
(760) Поднялся. Проверьте.
   АЛьФ
 
762 - 02.03.21 - 21:11
2(760) Что-то у меня роутер последнее время глючит сильней обычного. В этой ветке есть ссылка на ЯД, где лежит тестовая сборка, можно её скачать. Если очень надо.
   victuan1
 
763 - 03.03.21 - 19:44
(745) Почему-то не работает...
Сервис = СоздатьОбъект("Сервис");
Сервис.ВключитьРаскраскуТаблиц();
КодШрифтаДляБулева = Сервис.СоздатьШрифт("Wingdings");
Таб._ПланРаскраски = "INDENT[2]FONTSET["+КодШрифтаДляБулева+"]";
Таб._1 = Симв(254)+Симв(168);

Вместо чекбоксов выводит буквы: юЁ

Почему так?
   victuan1
 
764 - 03.03.21 - 19:51
Вместо Wingdings можно писать любой несуществующий шрифт, результат будет одинаковый.
   Злопчинский
 
765 - 03.03.21 - 21:03
(763)(764) подтверждаю. Проверил у себя не планом раскраски, а обычной раскраской.
Перем КодШрифт;

//*******************************************

Процедура Сформировать()
    
    ТЗФорма.Очистить();
    ТЗФорма.НоваяКолонка("Подкраска","Строка");
    ТЗФорма.НоваяКолонка("Содержание","Строка");
    ТЗФорма.НоваяСтрока();
    ТЗФорма.Подкраска = "FONTSET["+КодШрифт+"]";
    ТЗФорма.Содержание = "Times";
    
КонецПроцедуры

//*******************************************

Процедура ПослеОткрытия()
    
    КодШрифт = глСервис.СоздатьШрифт("Wingdings",10);
    
КонецПроцедуры

//*******************************************

Процедура ПриЗакрытии()
    
    глСервис.УдалитьШрифт(КодШрифт);

КонецПроцедуры


Если вместо Wingdings написать например "Times New Roman" - то все ок. а вингдингсы выводятс у меня шрифтом без засечек, похоже что тупо не может "найти" такой шрифт
   victuan1
 
766 - 03.03.21 - 22:04
(765) У меня это тоже обычная раскраска, а не ПланРаскраски, просто колонку так неудачно назвал.
   tgu82
 
767 - 03.03.21 - 23:06
Альф а вы не собираетесь символ рубля (р с черточками вертикальными) как-то впилить в формекс? А то вроде надо для ценников вместо руб или р. но не получается.
   Злопчинский
 
768 - 04.03.21 - 00:06
(767) найди шрифт (только не юникодовый, клюшки ими не работают) со спецсимволами где есть этот знак и юзай
   Злопчинский
 
769 - 04.03.21 - 00:07
Формекс тут вооще не при делах
   victuan1
 
770 - 04.03.21 - 06:34
Так, я хочу раскрасить ячейки в одной строке в разные цвета в разных колонках, не используя метод ИспользоватьПланРаскраски(1), т.е. его использование ломает раскраску в других формах где давно используется старый способ раскраски - и менять это я не буду.

В итоге не получается это сделать. Максимум что добился, это раскраска группы ячеек в строке в один цвет, но следующую группу ячеек в этой же строке в другой цвет не используя ПланРаскраски и не вводя доп. колонок для раскраски, никак не получается.
   victuan1
 
771 - 04.03.21 - 06:41
Вот так хочу https://ibb.co/V2TMZKd
Но не используя ПланРаскраски, и обходясь лишь одной служебной колонкой в ТЗ для задания макросов раскраски.
Это невозможно?
   victuan1
 
772 - 04.03.21 - 06:42
(771) (если что, картинку эту нарисовал в паинте, реально сделать так не смог).
   tgu82
 
773 - 04.03.21 - 08:43
(768_ И что это за шрифт и как его в 1с добавить?
   tgu82
 
774 - 04.03.21 - 08:47
(773)+ https://habr.com/ru/post/48084/ это что надо?
   tgu82
 
775 - 04.03.21 - 09:13
Ну не хочет зараза а в ворде по алт+8 прекрасно работает
   АЛьФ
 
776 - 04.03.21 - 09:17
2(771) Невозможно.
   victuan1
 
777 - 04.03.21 - 10:15
(776) Уже понял. Будем использовать План раскраски.
   victuan1
 
778 - 04.03.21 - 10:25
(776) А что насчет проблемы в (763)?
   АЛьФ
 
779 - 04.03.21 - 11:20
2(778) Пока не смотрел.
   АЛьФ
 
780 - 04.03.21 - 11:26
Так. Теперь по поводу картинки в любой ячейке.
Добавил возможность указания макроса IMAGE[]. Пока работает только для таблицы значений на форме.
Тестовая сборка: https://disk.yandex.ru/d/SaGiKhu0fjokHw
Пример для общего понимания принципа: https://disk.yandex.ru/d/b1kx6w4OTFlywQ
   Злопчинский
 
781 - 04.03.21 - 11:47
(780) Тестовая сборк на каком родителе построена? на 168? ибо 169 - косячный был
   АЛьФ
 
782 - 04.03.21 - 11:53
2(781) У меня все идет последовательно. Если были косяки, то они либо исправлены, либо остались и тут.
   Злопчинский
 
783 - 04.03.21 - 11:54
Тестовая сборка из (780) - косячная.
Ломает шрифты. Пример: https://www.screencast.com/t/yDNsoRdz
вместо кракозябр - д.б. нормальные русские буквы.
проблему описывал выше в этой ветке
.
код установки шрифта на ТЗ
//************************************************************************************************************

//
Процедура УстановитьАтрибутыФормы()

    КодШрифт0 = глСервис.СоздатьШрифт("Arial",20);// ТЗ

    КодШрифт1 = глСервис.СоздатьШрифт("Arial",30);// поле ввода

    
    РФорма = СоздатьОбъект("РасширениеФормы");
    
    АтрибутФормы = РФорма.ПолучитьАтрибут("ТЗФорма"); 
        АтрибутФормы.Шрифт = КодШрифт0;     
        АтрибутФормы.ИзменитьСтиль(2097152);//без вертикального скроллбара

        АтрибутФормы.ИзменитьСтиль(8388608);//без двойной рамки

    
    АтрибутФормы = РФорма.ПолучитьАтрибут("ВыбШК"); 
        АтрибутФормы.Шрифт = КодШрифт1;     
    
    РФорма = ""; АтрибутФормы = "";
    
КонецПроцедуры    // УстановитьАтрибутыФормы()
   Злопчинский
 
784 - 04.03.21 - 11:57
По факту - в продакшен ставить нельзя. У меня, например. назанчение шрифта нв ТЗ - одна из основных интерфейсных возможнойтей формекса, на этом построены куча экранных форм и несколько армов для десктопов.
   АЛьФ
 
785 - 04.03.21 - 12:01
2(783) Вот какой же ты все-таки...
   АЛьФ
 
786 - 04.03.21 - 12:02
2(783) Обработку можешь сделать мне тестовую?
   Злопчинский
 
787 - 04.03.21 - 12:05
(785) я. что, зря Злопчинский?!
описывал со шрифтами в (616).
и еще хочется уточнения в формексе по (606)
.
тестовую обработку - сделаю сейчас
   АЛьФ
 
788 - 04.03.21 - 12:10
2(787) Скорее всего, это все взаимосвязанные проблемы. Нужна тестовая обработка.
   Злопчинский
 
789 - 04.03.21 - 12:18
Тестовая обработка https://wdfiles.ru/7b88c8
   Злопчинский
 
790 - 04.03.21 - 12:19
если че - я на вин10., но по (616) я вроде и на Server2003 проверял, тоже ломается.
   АЛьФ
 
791 - 04.03.21 - 12:37
2(790) Пересобрал тестовую, выложена там же: https://disk.yandex.ru/d/SaGiKhu0fjokHw
Проверь так же глюк из (606). Если остался, то делай тестовую обработку.
   Злопчинский
 
792 - 04.03.21 - 13:02
(791) (606) буду проверять позже намного, после марта. сейчас занят сильно, а там надо аккуратно.
текущую тестовую - сейчас проверю
   Злопчинский
 
793 - 04.03.21 - 13:10
(791) - проверил, кракозябы ушли. вроде норм
   Злопчинский
 
794 - 04.03.21 - 13:10
Спсб! я там обещался вспосоществовать малостьб. вот реально не помню отправил или нет. потом позже посмотрю - если что - исправлюсь.
   АЛьФ
 
795 - 04.03.21 - 13:13
2(794) Отправил, не переживай.
   Злопчинский
 
796 - 04.03.21 - 13:43
(791) сборка 173 кривоватая.
проявляются незапланированное поведение в ТЗ, связанное видимо с внедрением IMAGE
   Злопчинский
 
797 - 04.03.21 - 13:43
выложу видео
   Злопчинский
 
798 - 04.03.21 - 13:52
демо-видео кривизны https://www.screencast.com/t/KSsF7YkHfox
Итого - на данный момент стабильный релиз = 168.
Обратить внимание на "несанкционирвонное" промаргивание всей формы при листании ТЗ на форме
   Злопчинский
 
799 - 04.03.21 - 13:54
вообще картинки и тест в однйо колонке - извращение страшное. тем более что victuan запилил уже то что ему надо и без этой фичи.
предлагаю убрать новую-фичу имаджа ;-) и выпустить стабильный релиз с испавлением кракозяб нерусских, а имадж уже пилить если надо/охота после стабильного релиза 168 с добавками 169 релиза (что там было не помню) с исправлением нерусских кракозяб
   АЛьФ
 
800 - 04.03.21 - 14:33
2(798) Эффект прикольный, но никак мне его не повторить. :(
Предполагаю, что проблема с инициализацией структуры, но не отловить с ходу.
  1  2  3  4  5  6  7  8  9  10  11   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.