Внешняя компонента FormEx

1. Goruch 19 28.01.08 14:33 Сейчас в теме
Возможно - ли использование компоменты FormEx в общем журнале документов (интересует конкретно заливка нужными цветами, но возможны и другие варианты)? Если да, то если не трудно скиньте ссылку на статью/тему об этом.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ineoosaki 28.01.08 15:38 Сейчас в теме
Есть конфа на 7.7 для Узбекистана, вроде от Nuron. Там реализован функционал раскраски общего журнала с помощью 1С++. Сделано все довольно добротно. Можно в режиме пользователя задавать выборочно раскрас для отдельных документов (фон или текст), отключать раскрас по необходимости.
Переписать под FormEx будет не тяжело.
Главное найди демку этой конфы в нете. Защищена она только паролем на конфигуратор.
3. Abadonna 3971 28.01.08 15:44 Сейчас в теме
Какую еще надо статью, если в als_е все написано:
FONT[<?>] BRUSH[<?>] FONT_S[<?>] BRUSH_S[<?>] COUNT[<?>] INDENT[<?>] FONTSET[<?>] FONTSET_S[<?>]
Включение раскраски осуществляется методом ВключитьРаскраскуТаблиц() объекта Сервис или
установкой соответствующего флага в свойствах компоненты.
Описание:
Компонента позволяет устанавливать произвольную раскраску в таблицах
1С (многострочные части документов, формы списков, таблицы значений на форме и т.д.).
Для включения раскраски в таблицу необходимо добавить колонку, формула в которой должна
содержать служебную строку. В общем случае колонка должна располагаться левее колонок,
которые предполагается раскрасить.
Служебная строка может быть как напрямую прописана в формуле колонки (или формироваться
функцией, вызываемой из формулы), так и быть содержимым реквизита. Для таблиц значений
строка раскраски устанавливается в качестве значения ячейки таблицы. Служебная строка состоит
из макрокоманд, которые формируют стиль строки. Макрокоманды регистронезависимы и могут
располагаться в любой последовательности. Ни одна из макрокоманд не является обязательной,
т.е. любая из них может быть опущена при формировании служебной строки.
Макрокоманды:
FONT[<Цвет>] - задает цвет шрифта строки;
BRUSH[<Цвет>] - задает цвет фона строки;
FONT_S[<Цвет>] - задает цвет шрифта строки, если она является текущей (не влияет на текущую ячейку);
BRUSH_S[<Цвет>] - задает цвет фона строки, если она является текущей (не влияет на текущую ячейку);
COUNT[<КоличествоКолонок>] - задает количество колонок, на которые распространяется раскраска;
INDENT[<Отступ>] - задает количество колонок, которое необходимо пропустить перед началом раскраски;
FONTSET[<КодШрифта>] - задает шрифт строки;
FONTSET_S[<КодШрифта>] - задает шрифт строки, если она является текущей;
Параметры макрокоманд:
<Цвет> - представление необходимого цвета в формате RGB в виде положительного числа.
Может быть как десятеричным, так шеснадцатиричным (в этом случае необходимо добавить "0x"
перед числом).
<КоличествоКолонок> - положительное число.
<Отступ> - положительное или отрицательное число.
<КодШрифта> - код пользовательского шрифта, возвращенный методом "CreateFont(...)/СоздатьШрифт(...)".

Вместо любого из параметров можно написать строку "NONE", тогда соответствующая макрокоманда
применит текущую системную настройку.
Если Отступ задан отрицательным числом, то КоличествоКолонок считает только видимые колонки до
текущей колонки со служебной строкой. После текущей строки (или если Отступ >=0) КоличествоКолонок
считает как видимые, так и невидимые колонки.

Служебная строка с макрокомандами действует только в пределах одной строки.
Макрокоманды FONT, FONT_S, BRUSH, BRUSH_S и FONTSET сбрасывают значения макрокоманд COUNT и
INDENT, заданные предыдущей служебной строкой, к нулевому состоянию.
Макрокоманда COUNT сбрасывает значение макрокоманды INDENT, заданное предыдущей служебной строкой,
к нулевому состоянию.

Замечание:
Флаг "Отрицательное красным" игнорируется в раскрашиваемых колонках.

И примерчик есть
Код
Функция ПроверитьОстаток()
   Если ПустоеЗначение(ТекущийЭлемент()) = 0 Тогда
      Если ЭтоГруппа() = 0 Тогда
         Рег = СоздатьОбъект("Регистр.ОстаткиТоваров");
         Ост = Рег.СводныйОстаток(ТекущийЭлемент(),,"Количество");
         Если Ост<0 Тогда
            Возврат "BRUSH["+ПолучитьЦвет(255,100,100)+"]";
         ИначеЕсли Ост = 0 Тогда
            Возврат "BRUSH["+ПолучитьЦвет(255,255,100)+"]";
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;
   Возврат "";
КонецФункции

Процедура ПослеОткрытия()
   ФормаРасш = СоздатьОбъект("РасширениеФормы");
   ФормаРасш.РаскрашиватьТаблицу("МногострочнаяЧасть");
КонецПроцедуры
Показать полностью

4. ineoosaki 28.01.08 16:34 Сейчас в теме
Выкладываю скрины, как реализовано у меня.
Прикрепленные файлы:
5. ineoosaki 28.01.08 16:38 Сейчас в теме
А это вид справочника для хранения настроек, и вид обработки для выбора цвета.
Прикрепленные файлы:
6. ineoosaki 28.01.08 17:11 Сейчас в теме
Если то, что показано на скринах кому-то надо, могу скинуть.
Но только в обмен на эксклюзив с открытым кодом по 1С.
Например интересует конфа на 8.0: Нова.Управление доставкой.
Денег не предлагать.
7. АЛьФ 28.01.08 20:51 Сейчас в теме
ineoosaki Написал:
-------------------------------------------------------
> А это вид справочника для хранения настроек, и вид
> обработки для выбора цвета.

А почему не используешь стандартный виндовый диалог выбора цвета, который можно с помощью FormEx открыть?
8. Abadonna 3971 29.01.08 05:57 Сейчас в теме
АЛьФ Написал:
А почему не используешь стандартный виндовый
> диалог выбора цвета, который можно с помощью
> FormEx открыть?
А у тебя ж вроде не было его в ранних версиях... А он, может, старую юзает


9. kandellaster 53 29.01.08 07:08 Сейчас в теме
обработка выбора цвета интересно откуда?
10. support 4478 29.01.08 09:11 Сейчас в теме
ineoosaki, а почему денег не предлагать?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот