Оформление строк табличной части в 8.2

16.05.11

Разработка - Работа с интерфейсом

Стандартом в 1с является, когда все строки табличной части имеют одинаковый шрифт, цвет шрифта и цвет фона строки. Но иногда нужно, чтобы строки выделялись по некоторому признаку. Иногда нужно что-либо оформлять на уровне конфигуратора. В 8.1 это делалось через процедуры ПриВыводеСтроки и ПриПолученииДанных. В управляемом приложении 8.2 их нет, там сделано условное оформление. Привожу пример, как можно работать с условным оформлением программно, как форма оформляется кодом в 8.2.
В качестве примера будем использовать, что в документе реализации строки выделялись в зависимости от склада, с которого отгружается номенклатура.

 1. Для справочник "Склады" необходимо добавить реквизиты: ЦветФонаСтроки, ЦветШрифтаСтроки, ШрифтСтроки, тип - ХранилищеЗначения.

1

2. Для управляемой формы элемента добавить реквизиты с идентичными названиями, у первых 2 тип "Цвет", у 3 - "Шрифт" и вынести эти реквизиты на управляемую форму.

2

3. В модуль формы вставить следующий код:

 (Системные процедуры не копируются отсюда, а создаются в модуле и там добавляется код, иначе 1с не поймет, что они системные)


&НаСервере
Процедура ЗаполнитьРеквизитыОформленияСтрокНаФорме()
   
ЭтоНовый                = Объект.Ссылка.Пустая();
   
ОбъектДанные            = ДанныеФормыВЗначение(Объект,Тип("СправочникОбъект.Склады"));

   
ЦветФонаСтрокиХранимый  = ОбъектДанные.ЦветФонаСтроки.Получить();
   
ОформлениеСодержится    = ТипЗнч(ЦветФонаСтрокиХранимый) = Тип("Цвет");

    Если
ЭтоНовый или Не ОформлениеСодержится Тогда
       
ЦветФонаСтроки      = ЦветаСтиля.ЦветФонаПоля;
       
ЦветШрифтаСтроки    = ЦветаСтиля.ЦветТекстаФормы;
       
ШрифтСтроки         = WindowsШрифты.ШрифтДиалоговИМеню;
    Иначе
       
ЦветФонаСтроки      = ЦветФонаСтрокиХранимый;
       
ЦветШрифтаСтроки    = ОбъектДанные.ЦветШрифтаСтроки.Получить();
       
ШрифтСтроки         = ОбъектДанные.ШрифтСтроки.Получить();
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
ЗаполнитьРеквизитыОформленияСтрокНаФорме();
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   
ТекущийОбъект.ЦветФонаСтроки        = Новый ХранилищеЗначения(ЦветФонаСтроки);
   
ТекущийОбъект.ЦветШрифтаСтроки      = Новый ХранилищеЗначения(ЦветШрифтаСтроки);
   
ТекущийОбъект.ШрифтСтроки           = Новый ХранилищеЗначения(ШрифтСтроки);
КонецПроцедуры

 

 

4. В общий модуль, выполняемый на сервере, к примеру ОбщегоНазначенияСервер вставляемся процедура ОформитьСтрокиТЧ:


&НаСервере
Процедура ОформитьСтрокиТЧ(Объект,УсловноеОформление,ТипОбъектаПодробный,ИмяТЧ,ИмяОбъектаСОформлением) Экспорт
   
ТипОбъектаСтр               = СтрЗаменить(ТипОбъектаПодробный,".",Символы.ПС);
   
ТипОбъектаКраткий           = СтрПолучитьСтроку(ТипОбъектаСтр,1);
   
ИмяОформляемогоМетаданного  = СтрПолучитьСтроку(ТипОбъектаСтр,2);

    Если
ТипОбъектаКраткий = "ДокументОбъект" Тогда
       
ТипОбъектаКраткий = "Документы";
    ИначеЕсли
ТипОбъектаКраткий = "СправочникОбъект" Тогда
       
ТипОбъектаКраткий = "Справочники";
    КонецЕсли;

   
ОбъектДанные = ДанныеФормыВЗначение(Объект,Тип(ТипОбъектаПодробный));

    Для каждого
СтрТЧ Из ОбъектДанные[ИмяТЧ] Цикл

       
ОбъектСОформлением  = СтрТЧ[ИмяОбъектаСОформлением];

       
ЦветФонаСтроки      = ОбъектСОформлением.ЦветФонаСтроки.Получить();
       
ЦветШрифтаСтроки    = ОбъектСОформлением.ЦветШрифтаСтроки.Получить();
       
ШрифтСтроки         = ОбъектСОформлением.ШрифтСтроки.Получить();

       
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
       
ЭлементУсловногоОформления.Использование    = Истина;

       
ОформлениеУО        = ЭлементУсловногоОформления.Оформление;
       
ОтборУО             = ЭлементУсловногоОформления.Отбор;
       
ОформляемыеПоляУО   = ЭлементУсловногоОформления.Поля;


       
ОформлениеУО.УстановитьЗначениеПараметра("ЦветФона", ЦветФонаСтроки);
       
ОформлениеУО.УстановитьЗначениеПараметра("ЦветТекста", ЦветШрифтаСтроки);
       
ОформлениеУО.УстановитьЗначениеПараметра("Шрифт", ШрифтСтроки);

       
ЭлементОтбора                = ОтборУО.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       
ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект." + ИмяТЧ + "." + ИмяОбъектаСОформлением);
       
ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
       
ЭлементОтбора.ПравоеЗначение = ОбъектСОформлением;
       
ЭлементОтбора.Использование  = Истина;

        Для каждого
РеквизитТЧ Из Метаданные[ТипОбъектаКраткий][ИмяОформляемогоМетаданного].ТабличныеЧасти[ИмяТЧ].Реквизиты Цикл

           
НазваниеРеквизита   = РеквизитТЧ.Имя;
           
ОформляемоеПоле     = ОформляемыеПоляУО.Элементы.Добавить();
           
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧ + НазваниеРеквизита);

        КонецЦикла;

       
ОформляемоеПоле      = ОформляемыеПоляУО.Элементы.Добавить();
       
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяТЧ + "НомерСтроки");

    КонецЦикла;
КонецПроцедуры

 5. В модуль формы элемента документа "Реализация товаров и услуг" вставить процедуру ОформитьСтрокиТЧСервер и вызов ее в процедурах ТоварыСкладПриИзменении и ПриСозданииНаСервере


&НаКлиенте
Процедура ТоварыСкладПриИзменении(Элемент)
   
ОформитьСтрокиТЧСервер();
КонецПроцедуры

&НаСервере
Процедура ОформитьСтрокиТЧСервер()
   
ОбщегоНазначенияСервер.ОформитьСтрокиТЧ(Объект,УсловноеОформление,"ДокументОбъект.РеализацияТоваровУслуг","Товары","Склад");
КонецПроцедуры

 

 

Результат:

 3

 

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61792    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54394    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16695    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10732    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9606    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3663    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12077    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. Istur 1472 01.01.70 03:00 Сейчас в теме
Стандартом в 1с является, когда все строки табличной части имеют одинаковый шрифт, цвет шрифта и цвет фона строки. Но иногда нужно, чтобы строки выделялись по некоторому признаку. Иногда нужно что-либо оформлять на уровне конфигуратора. В 8.1 это делалось через процедуры ПриВыводеСтроки и ПриПолученииДанных. В управляемом приложении 8.2 их нет, там сделано условное оформление. Привожу пример, как можно работать с условным оформлением программно, как форма оформляется кодом в 8.2.
В качестве примера будем использовать, что в документе реализации строки выделялись в зависимости от склада, с которого отгружается номенклатура.

Перейти к публикации

1. Поручик 4670 16.05.11 08:16 Сейчас в теме
(0) Такие сложности действительно необходимы или условное оформление в пофигураторе ужо не катит?
13. Istur 1472 16.05.11 15:36 Сейчас в теме
(1) При оформлении в конфигураторе в условии условного оформления правое значение может быть только предопределенным. То есть склад должен быть занесен на уровне конфигуратора. Но это неправильно. Склады заносятся на уровне предприятия.
(2) ПриВыводеСтроки и ПриПолученииДанных нет в 8.2.
(4) (5) Смотрите выше. Склад должен быть предопределенным, чтобы можно было оформить на уровне конфигуратора. Как видно вы с этим не знакомы. А под началом такого психованного руководителя мало кто стал бы работать) Со стороны это смотрится, как будто я решил задачу по геометрии за 6 класс, а мне начали втирать таблицу умножения, причем с воплями. Я именно и рабоатю с условным формлением, только программно.
(7) Условное оформление тоже нужно заполнять во всех формах. 5 строчек кода через Ctrl+C, Ctrl+V добавить легче.
(9) Да, дополнительный справочник правильнее.
(10) Именно так и есть)
(11) поорИгинальнее. Я бы не сказал, что решение плохое. Единственное - оформление надо было вынести в дополнительный справочник, за все остальное я готов ответить. И что это лучше, чем в каждой форме залезать в условное оформление, это тоже факт. Залезать в каждую форму - это неуниверсальный бред. Склады могут меняться, цвета тоже могут изменяться. Сначала хотели красный, потом захотели зеленый. Добавили склад или решили изменить цвет. При данном решении выполняется только одно действие. Залезается в склад и изменяются значения там. Причем это может сделать и пользователь. И будет делать. А при вашем решении надо лезть в офигенное количество форм и сделать это может только программист.
(12) Спасибо за понимание)

В общем резюмирую. Иногда нужно что-либо оформлять на уровне конфигуратора, такие задачи возникают. В 8.1 это делалось через процедуры ПриВыводеСтроки и ПриПолученииДанных. В 8.2 их нет, там сделано условное оформление. Забивать его на уровне конфигуратора не получится, для этого нужно, чтобы были предопределенные значения, заносить которые для данной цели неправильно. Поэтому я привел пример, как можно оформлять программно, как форма оформляется кодом на 8.2.
jobkostya1c_ERP; igee12; FilippSerg; Spacer; +4 Ответить
14. Ish_2 1104 16.05.11 15:41 Сейчас в теме
(13) Прокол в (2) не в том , что в 8.2 нет процедуры ПриВыводеСтроки()(она есть!), а в том , что её нет
в режиме управляемого приложения.
15. Istur 1472 16.05.11 15:44 Сейчас в теме
(14) Она есть только в режиме совместимости с 8.1. Но он по определению временный, рано или поздно он должен быть отключен и должны быть только управляемые формы. Собственно я и расписываю как работать, когда нет данных процедур. Можно еще вспомнить что есть и чего нет в 7.7, 7.5, 6.0. Я привожу пример как работать с условным оформлением на управляемых формах 8.2.
Samojlov_Denis; +1 Ответить
16. nafa 657 16.05.11 15:56 Сейчас в теме
(15)
[quote]Она есть только в режиме совместимости с 8.1. Но он по определению временный[/quote]
Вобще-то в 8.2 есть еще режим нормального приложения, безо всяких управляемых форм, в котором эта функция, слава Богу, есть. К тому же многих вполне устраивает этот "временный" режим совместимости, зачем его менять, если все работает.
17. Istur 1472 16.05.11 16:00 Сейчас в теме
(16) Да, верно. Тут я погорячился немного)
2. Ish_2 1104 16.05.11 08:49 Сейчас в теме
Выделение цветом эффективно для одного-двух складов.
Если выделяемых складов больше , то мы получим в ТЧ трудночитаемую разноцветную мозаику.
Теперь вопрос : а стоит ли для выделения одного - двух складов огород городить ?
Не проще ли обойтись небольшой вставкой кода в процедуре "ПриВыводеСтроки"
с явным указанием склада и цвета выделения ?
3. Diversus 2306 16.05.11 09:05 Сейчас в теме
(2) Это же в режиме управляемого приложения, там нет ПриВыводеСтроки насколько я понимаю...
soulsteps; Spacer; Wulfer; Istur; Ish_2; +5 Ответить
5. пользователь 16.05.11 10:30
Сообщение было скрыто модератором.
...
4. пользователь 16.05.11 10:29
Сообщение было скрыто модератором.
...
7. nafa 657 16.05.11 10:52 Сейчас в теме
(4)
[quote]Я бы уволил программиста который бы начал в справочник добавлять подобные реквизиты.[/quote]
Что плохого в этом решении, например если надо конкретному складу назначить конкретный цвет? И иметь возможность отображать склад этим цветом везде (в т.ч. там где нет условного оформления).
Я бы только цвет числом хранил а не хранилищем значений.

(5)
Ну это же пример. Условное оформление - это ограниченные возможности. В сложных случаях без кода все равно не обойтись.
Да и в простых часто проще один раз сделать этот расчет оформления именно кодом и вынести его в общий модуля, а в конкретные формы вставлять одну строчку - вызов этой процедуры.
8. пользователь 16.05.11 11:02
Сообщение было скрыто модератором.
...
10. Поручик 4670 16.05.11 11:08 Сейчас в теме
(8) Считай, что в статье приведён пример программного управления оформлением формы, а добавление реквизитов - это абстракция.
vodorosl; Istur; +2 Ответить
11. пользователь 16.05.11 11:11
Сообщение было скрыто модератором.
...
12. nafa 657 16.05.11 11:20 Сейчас в теме
(8)
[quote]что значит везде? Условное оформление есть ВЕЗДЕ. во всех формах[/quote]
Везде - это везде, откуда может быть доступ к справочнику. В том числе и в запросе, подготоваливающем данные для выгрузки в стороннее приложение и при коннекте по ОЛЕ из стороннего приложения и при коннекте к соответствующей SQL таблице на сервере. Во всех указанных случаях условного оформления нет.

[quote]А если еще что то надо будет разукрашивать. Например номенклатуру. по какому нибудь реквизиту? Это вообще будет жестко. [/quote]
Ну если номенклатура имеет цвет и он имеет важное значение (одежда, обувь, краски, автомобили и т.п.) то раскраска номенклатуры выглядит вполне уместной.
w-divin; Istur; +2 Ответить
32. Abadonna 3958 17.05.11 02:36 Сейчас в теме
(7)
Что плохого в этом решении, например если надо конкретному складу назначить конкретный цвет?

Ведет к формированию дурного вкуса, а он, как говорят французы,ведет к преступлению ;)
Примечание: дурной вкус - это всё. что не нравится мне :D :D
6. Поручик 4670 16.05.11 10:41 Сейчас в теме
Ну да, в первом посте об этом и спрашивал, к чему такие сложности? Плюс поставил за другое.
9. пользователь 16.05.11 11:05
Сообщение было скрыто модератором.
...
18. Istur 1472 16.05.11 16:09 Сейчас в теме
А вообще мне инфостарт напоминает консилиум врачей. Вот дали тебе больного, ты смотришь что с ним, и выписываешь ему рецепт. И выкладываешь сюда. После чего в комнатку набивается сотня других врачей и начинают со всех сторон и ракурсов рассматривать и самого больного, и сам рецепт, спорить между собой, спорить с тобой, предлагать что-то другое, соглашаться с тобой) Но это имеет офигенный плюс. Больной после этого стопроцентно будет жить)))))
19. cool.vlad4 2 16.05.11 16:22 Сейчас в теме
:D (18)бородатый анекдот
Доктор, - говорит ассистент, - пациент Ларю из второй палаты скверно
себя чувствует.
- Надо говорить: "Пациент Ларю думает, что скверно себя чувствует".
Это новейший взгляд на сущность болезней.
На следующий день ассистент подходит к доктору.
- Доктор, пациент Ларю из второй палаты думает, что он умер.
igee12; FilippSerg; sashocq; Istur; +4 Ответить
20. Ish_2 1104 16.05.11 16:29 Сейчас в теме
(18) Эй, врач, получай камень в свой огород.
Чтобы врачи не набивались к тебе в кабинет нужно ЧЕТКО ,ЯВНО указывать в рецепте диагноз и кому он предназначен. Диагноз не должен содержать и намека на двойое толкование .

Например. Указать явно в теме , что рассматривается пример для ТОЛЬКО УПРАВЛЯЕМОГО ПРИЛОЖЕНИЯ , в котором.. Объяснить ЯВНО в теме почему выбран именно такой вариант и в чем его преимущества.

Этого сделано не было.
Поэтому вздохи о тупости и непонимании порождают лишь ответные вежливые вздохи.
21. Diversus 2306 16.05.11 18:05 Сейчас в теме
(20)

Ish_2 пишет:

(18) Эй, врач, получай камень в свой огород.
Чтобы врачи не набивались к тебе в кабинет нужно ЧЕТКО ,ЯВНО указывать в рецепте диагноз и кому он предназначен. Диагноз не должен содержать и намека на двойое толкование .

Например. Указать явно в теме , что рассматривается пример для ТОЛЬКО УПРАВЛЯЕМОГО ПРИЛОЖЕНИЯ , в котором.. Объяснить ЯВНО в теме почему выбран именно такой вариант и в чем его преимущества.

Этого сделано не было.
Поэтому вздохи о тупости и непонимании порождают лишь ответные вежливые вздохи.


Так там же сриншоты управляемого приложения!
gragden; Istur; +2 Ответить
22. Ish_2 1104 16.05.11 18:29 Сейчас в теме
(21) Однако , еще один. Еще раз для врачей.
Людей много хороших и разных, по-разному всё понимающих.

Поэтому :

Первое. Область применения указанного примера должна быть указана ЯВНО (в тексте).
Второе. Нужно явно привести (хотя бы простенький ) сравнительный анализ ( сравнить с возможными альтернативами) и показать преимущества на взгляд автора представленного решения.

Это есть - взрослый подход.
23. Istur 1472 16.05.11 19:06 Сейчас в теме
(22) Тут нет альтернатив..
24. Ish_2 1104 16.05.11 19:12 Сейчас в теме
(23) Смело.
Так укажи в теме , что ,дескать, так мол и так, представленное решение по выделению цветом складов альтернатив НЕ ИМЕЕТ. Глядишь, дискуссия примет новый поворот.
25. Istur 1472 16.05.11 19:20 Сейчас в теме
(24) Это не решение по выделению цветом складов!! Я писал выше!! Это пример работы с условным оформлением программно!

И вообще. Цель статьи в самой статье, а не в дискуссии после нее. У меня нет столько времени, чтобы расписывать всё и вся. Я выдал подход, кто надо - воспримет, кому не надо - тому не надо. За это время можно сделать много другого полезного. Судя по тому, что ты не знаешь об отсутсвии в управляемых формах процедуры ПриВыводеСтроки, данная статья не несет для тебя никакой нагрузки, так что я думаю эту дискуссию с тобой надо прекратить.
26. Ish_2 1104 16.05.11 19:25 Сейчас в теме
28. Diversus 2306 16.05.11 21:37 Сейчас в теме
(25)(26) мужики Вы чего? Это всего лишь выделение цветом :D
Не стоит так болезненно реагировать на такой подход и такое описание.

Ish_2 не криви душой, у самого было ведь когда что-то делал не так как по правилам, а так как проще?
Ну скажем перебор, вместо запроса и т.д.
Типовые решения и то такими вещами занимаются.

Получилось такая статья и что? Хуже когда 1С-овцы вообще ничего не делают, а тупо качают раз в день ;)
Указал в начале на то, что статья плохо оформлена и(или) есть альтернативное решение - человек понял и в следующий раз сделает лучше!
29. Istur 1472 16.05.11 22:05 Сейчас в теме
(28)
Получилось такая статья и что?
спасибо на добром слове)))
30. Ish_2 1104 16.05.11 22:17 Сейчас в теме
(29) Мне кажется , ты критику воспринял как озлобленность. И зря.
Да стал бы я распинаться , если б не представлял с кем имею дело.
А раз так то с тебя и спрос другой. Чего я церемониться буду ?
31. Ish_2 1104 16.05.11 22:24 Сейчас в теме
(28) Делал, конечно . И неправильно , и как проще.
Хм.. Хотел бы я посмотреть на человека , который делает сразу все правильно. Ау ..

А про перебор вместо запроса - ты зря написал.
Милости прошу в ту тему. Там я расскажу , что понимается под перебором.
27. Поручик 4670 16.05.11 21:36 Сейчас в теме
(18) (24)
>>>> Больной после этого стопроцентно будет жить
Или стопроцентно двинет кони от таких врачей. Второй вариант более достоверен.
33. Yashazz 4709 17.05.11 10:49 Сейчас в теме
Автор вообще в курсе, что есть хранилища настроек, в частности, заточенные именно для настроек СКД? И что всё можно сделать именно так?
А программная работа с СКД - она в книжках описана, у Хрусталёвой, да на всяких ресурсах, какой смысл за это плюсы ставить?
34. nafa 657 17.05.11 12:16 Сейчас в теме
(33)
[quote]хранилища настроек, в частности, заточенные именно для настроек СКД[/quote]
Какие хранилища настроек??? Цвет в 1С - это обычное целое число. Можно его конечно превратить во что угодно, сделать xml файлик потом поместить в хранилище, и т.п. Только потом не надо удивляться, что пользователь на калькуляторе считает быстрее, чем в 1С...
Diversus; Поручик; +2 Ответить
35. Yashazz 4709 17.05.11 12:37 Сейчас в теме
(34) Ага, а условное оформление в 1С - это условное оформление. И, если вы не в курсе, только цветом не исчерпывается. И входит оно в состав настроек СКД, каковая и лежит в основе динамических списков 8.2, и каковую собственно и следует использовать на всю катушку, а не изобретать кривые велосипеды и курочить справочники.
Советую ознакомиться с тем, что такое хранилище настроек, и чем, собственно, 8.2 отличается от 8.1 в части управляемых интерфейсов.
36. iov 406 18.05.11 09:28 Сейчас в теме
воспитательная порка удалась на славу... :D
37. Ish_2 1104 18.05.11 18:46 Сейчас в теме
Чем тут закончилось ? - Тяжело без морали в конце .
Я не понял кто кого выпорол. Так наши победили или нет ?
38. Поручик 4670 18.05.11 18:57 Сейчас в теме
По моему, ничья. Каждый остался при своём мнении по принципу: сам мудак дурак такой.

Тут ещё народ повоспитанней будет. Вот на другом сайте срачь спор растянули бы на десяток страниц с тысячью постов.
39. Alraune 1502 18.05.11 21:33 Сейчас в теме
такие бои местного значения получились :)
а в таких случаях, по-моему, обычно никто и не побеждает, все поспорят и разойдутся до следующего раза. Зато автору почту заспамили сообщениями о комментариях, наверно
40. Diversus 2306 18.05.11 21:36 Сейчас в теме
С другой стороны конструктивная критика никогда не помешает :D
41. artbear 1448 19.05.11 09:10 Сейчас в теме
Alraune пишет:
Зато автору почту заспамили сообщениями о комментариях, наверно

И не только автору :)
42. Собеседник 182 21.05.11 09:47 Сейчас в теме
"подпишусь" на условное оформление :)
43. amalar 22.05.11 22:08 Сейчас в теме
Ёжики плакали, кололись - но продолжали насиловать кактус....
44. logarifm 1117 20.10.11 10:19 Сейчас в теме
Ребят 8.2 в динамических списках позволяет по условиям сама все красить, зачем столько кода писать!?
45. nafa 657 20.10.11 10:36 Сейчас в теме
(44) Возможности 8.2 по раскрашиванию конечно впечатляют по сравнению с их отсутствием в предыдущих версиях, но это всего лишь ограниченный набор средств, который несравним с возможностями встроенного языка. Кроме того в ряде случаев удобнее видеть все, что делает программа, собранным в одном месте (модуле, процедуре) а не вспоминать, что это - в настройках оформления, это - в подписке на события, это - в модуле и т.п. Особенно когда над программой работаешь не один.
46. lcd-boost 20.10.11 13:25 Сейчас в теме
Круто не знал про встроенное оформление. будет полезно. А не подскажите как табличной части обновлять данные?
47. Seburtor 27.10.11 22:17 Сейчас в теме
К чему все эти красивости ?
Чем строже и незатейливей - тем проще и у юзеров не возникает соблазнов ...
50. w-divin 08.02.12 19:30 Сейчас в теме
(47) дело не в соблазнах, а в удобстве и скорости работы...
иногда намного проще увидеть 1 красную строчку из 100 в накладной, чем пол часа искать глазами...
48. RomanUzmov 40 31.01.12 08:48 Сейчас в теме
Отличный пример. Мне он очень помог в реализации подобной, но немного другой задачи. Автору (+)
49. w-divin 08.02.12 19:24 Сейчас в теме
все прикольно, но не допру как раскрасить сами склады в списке справочника по цвету, который в них выбран?
51. unknown181538 151 18.04.12 01:57 Сейчас в теме
Программное оформление куда выгоднее при обновлениях.
52. loginfo 29.05.12 07:33 Сейчас в теме
Может быть вопрос не по теме, но спрошу. При обновлении динамического списка не обновляется оформление, только при повторном открытии формы. То есть есть процедура на сервере, осталось добавить на клиенте, только что?
ОбновитьОтображениеДанных();
Элементы.Список.Обновить();
Оповестить("ОбновитьСписок", , ЭтаФорма);
не помогают.
53. KurganPX 02.07.12 14:49 Сейчас в теме
Спасибо автору за статью, однозначный "плюс".
Формирую таблицу на управляемой форме программно, только так и можно задать условное оформление. Тут я ни только правого значения не знаю, так ещё и списка колонок, которые я оформляю..
54. sherbv 501 30.07.13 02:52 Сейчас в теме
какие то страсти написаны... напишу проще - при редактировании табличной части поставить что то типа:

&НаКлиенте
Процедура ЗаявкиПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
ОформитьСтрокиНаСервере ();
КонецПроцедуры

&НаСервере
Процедура ОформитьСтрокиНаСервере ()
ЭтаФорма.УсловноеОформление.Элементы.Очистить();
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Заявки");
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Заявки.Закрыть");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Киноварь);

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Заявки.Утвердить");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина;

ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.ВесеннеЗеленый);
КонецПроцедуры

Если нужно наложить несколько условий - повторить ниж еще раз серверный модуль, но тока без первой строчки по поводу очистки [ЭтаФорма.УсловноеОформление.Элементы.Очистить()]
AlexandrN; 1c-soft; sh_max; wolfsoft; pstrig; Team leader; +6 Ответить
55. Гость 25.12.15 17:27
День добрый, всем.
Есть номенклатура с доп реквизитами.
Может кто нить подскажет как разукрасить поле Номенклатура, в табличной части товары, по условию накладываемому на доп реквизиты выводимой номенклатуры?
Оставьте свое сообщение