Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:42

Оформление Списка

Автор sportik142, 17 сен 2015, 06:02

0 Пользователей и 1 гость просматривают эту тему.

sportik142

Как при выводе списка, выделять строки цветом с определенным параметром??

has

Например в обработчике табличного поля ПриПолученииДанных.

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    Для каждого Оформление из ОформленияСтрок Цикл
        Если КакоеТоУсловие Тогда 
            Оформление.ЦветФона = WebЦвета.Желтый;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

sportik142

Есть вот такой код программы, где тут указать оформление?

Процедура СписокСегодняСБВыбор(Элемент, ВыбраннаяСтрока, ОформлениеСтроки, Колонка, СтандартнаяОбработка)
//   Договор = Справочники.Договоры.НайтиПоКоду(ВыбраннаяСтрока.Договор);
//   Договор.ПолучитьФорму().ОткрытьМодально();
Если СтрДлина(ВыбраннаяСтрока.Договор) = 10 Тогда
       Документ = Справочники.Договоры.НайтиПоКоду(ВыбраннаяСтрока.Договор);
      Документ.ПолучитьФорму().Открыть();
   ИначеЕсли СтрДлина(ВыбраннаяСтрока.Договор) = 12 Тогда
      Документ = Справочники.ДопСогл.НайтиПоКоду(ВыбраннаяСтрока.Договор);
      Документ.ПолучитьФорму().Открыть();
   ИначеЕсли СтрДлина(ВыбраннаяСтрока.Договор) = 11 Тогда
      Документ = Справочники.Расписки.НайтиПоКоду(ВыбраннаяСтрока.Договор);
                  Документ.ПолучитьФорму().Открыть();
            
         КонецЕсли;
КонецПроцедуры

has

Почему событие Выбор используется? Вы же написали
Как при выводе списка, выделять строки цветом с определенным параметром??

sportik142

Не могу найти процедуру выгрузке. В программе есть вкладка, при ее открытии,выбирается период и кнопка сформировать. И формируется список.

Вот код с кнопки
Процедура ОбновитьДолжников()
   Если не ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода1.Значение) и ЭлементыФормы.ФлажокТолькоРасписки.Значение = истина тогда
   Должники = Новый Запрос;
   Должники.Текст = "ВЫБРАТЬ
                    |   Расписки.Заемщик,
                    |   Расписки.Код,
                    |   Расписки.СуммаКПогашению,
                    |   Расписки.ДатаПогашения,
                    |   Расписки.Заемщик.МобильныйТелефон,
                    |   Расписки.Подразделение,
                    |   Расписки.Представление,
                    |   Расписки.ТекКомиссияН,
                    |   Расписки.ТекОсновнаяСумма,
                    |   Расписки.ТекКомиссияС,
                    |   Расписки.ТекНеустойка
                    |ИЗ
                    |   Справочник.Расписки КАК Расписки
                    |ГДЕ
                    |   Расписки.ДатаПогашения >= &ДатаПогашения1
                    |   И Расписки.ДатаПогашения <= &ДатаПогашения2
                    |   И Расписки.ТекОсновнаяСумма > &Тек
                    |   И Расписки.ПометкаУдаления = ЛОЖЬ";
    Должники.УстановитьПараметр("ДатаПогашения1", НачалоДня(ЭлементыФормы.ДатаС.Значение));
   Должники.УстановитьПараметр("ДатаПогашения2", КонецДня(ЭлементыФормы.ДатаПО.Значение));
   Должники.УстановитьПараметр("Тек", 0);
   ЭлементыФормы.СписокСегодняСБ.Значение = Должники.Выполнить().Выгрузить();
      
      КонецЕсли;
   Если ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода1.Значение) и ЭлементыФормы.ФлажокТолькоРасписки.Значение = истина тогда
   Должники = Новый Запрос;
   Должники.Текст = "ВЫБРАТЬ
                    |   Расписки.Заемщик,
                    |   Расписки.Код,
                    |   Расписки.СуммаКПогашению,
                    |   Расписки.ДатаПогашения,
                    |   Расписки.Заемщик.МобильныйТелефон,
                    |   Расписки.Подразделение,
                    |   Расписки.Представление,
                    |   Расписки.ТекКомиссияН,
                    |   Расписки.ТекОсновнаяСумма,
                    |   Расписки.ТекКомиссияС,
                    |   Расписки.ТекНеустойка
                    |ИЗ
                    |   Справочник.Расписки КАК Расписки
                    |ГДЕ
                    |   Расписки.ДатаПогашения >= &ДатаПогашения1
                    |   И Расписки.ДатаПогашения <= &ДатаПогашения2
                    |   И Расписки.ТекОсновнаяСумма > &Тек
                    |   И Расписки.Подразделение = &Подразделение
                    |   И Расписки.ПометкаУдаления = ЛОЖЬ";
    Должники.УстановитьПараметр("ДатаПогашения1", НачалоДня(ЭлементыФормы.ДатаС.Значение));
   Должники.УстановитьПараметр("ДатаПогашения2", КонецДня(ЭлементыФормы.ДатаПО.Значение));
   Должники.УстановитьПараметр("Тек", 0);
   Должники.УстановитьПараметр("Подразделение", ЭлементыФормы.ПолеВвода1.Значение);
   ЭлементыФормы.СписокСегодняСБ.Значение = Должники.Выполнить().Выгрузить();
КонецЕсли;
   
Если не ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода1.Значение) и ЭлементыФормы.ФлажокТолькоРасписки.Значение = ложь тогда   
   Должники = Новый Запрос;
   Должники.Текст = "ВЫБРАТЬ
                    |   Договоры.Заемщик КАК Заемщик,
                    |   Договоры.Код КАК Договор,
                    |   Договоры.СуммаКПогашению КАК Сумма,
                    |   Договоры.ДатаПогашения КАК ДатаВозврата,
                    |   Договоры.Заемщик.МобильныйТелефон КАК Телефон,
                    |   Договоры.Подразделение КАК Подразделение,
                    |   Договоры.Представление,
                    |   Договоры.ТекКомиссияН,
                    |   Договоры.ТекОсновнаяСумма,
                    |   Договоры.ТекКомиссияС,
                    |   Договоры.ТекНеустойка КАК ТекНеустойка
                    |ИЗ
                    |   Справочник.Договоры КАК Договоры
                    |ГДЕ
                    |   Договоры.ДатаПогашения >= &ДатаПогашения1
                    |   И Договоры.ПогашенаОсновнаяЗадолженность = &ПогашенаОсновнаяЗадолженность
                    |   И Договоры.ЗаймВыдан = &ЗаймВыдан
                    |   И Договоры.ДатаПогашения <= &ДатаПогашения2
                    |   И Договоры.ПометкаУдаления = ЛОЖЬ
                    |
                    |ОБЪЕДИНИТЬ ВСЕ
                    |
                    |ВЫБРАТЬ
                    |   ДопСогл.Заемщик,
                    |   ДопСогл.Код,
                    |   ДопСогл.СуммаКПогашению,
                    |   ДопСогл.ДатаПогашения,
                    |   ДопСогл.Заемщик.МобильныйТелефон,
                    |   ДопСогл.Подразделение,
                    |   ДопСогл.Представление,
                    |   ДопСогл.ТекКомиссияН,
                    |   ДопСогл.ТекОсновнаяСумма,
                    |   ДопСогл.ТекКомиссияС,
                    |   ДопСогл.ТекНеустойка
                    |ИЗ
                    |   Справочник.ДопСогл КАК ДопСогл
                    |ГДЕ
                    |   ДопСогл.ДатаПогашения >= &ДатаПогашения1
                    |   И ДопСогл.ТекОсновнаяСумма > &Тек
                    |   И ДопСогл.ДатаПогашения <= &ДатаПогашения2
                    |   И ДопСогл.ПометкаУдаления = ЛОЖЬ
                    |
                    |ОБЪЕДИНИТЬ ВСЕ
                    |
                    |ВЫБРАТЬ
                    |   Расписки.Заемщик,
                    |   Расписки.Код,
                    |   Расписки.СуммаКПогашению,
                    |   Расписки.ДатаПогашения,
                    |   Расписки.Заемщик.МобильныйТелефон,
                    |   Расписки.Подразделение,
                    |   Расписки.Представление,
                    |   Расписки.ТекКомиссияН,
                    |   Расписки.ТекОсновнаяСумма,
                    |   Расписки.ТекКомиссияС,
                    |   Расписки.ТекНеустойка
                    |ИЗ
                    |   Справочник.Расписки КАК Расписки
                    |ГДЕ
                    |   Расписки.ДатаПогашения >= &ДатаПогашения1
                    |   И Расписки.ДатаПогашения <= &ДатаПогашения2
                    |   И Расписки.ТекОсновнаяСумма > &Тек
                    |   И Расписки.ПометкаУдаления = ЛОЖЬ
                    |
                    |УПОРЯДОЧИТЬ ПО
                    |   ДатаВозврата";
//   Должники.УстановитьПараметр("ДатаПогашения1", НачалоДня(ТекущаяДата()));
//   Должники.УстановитьПараметр("ДатаПогашения2", КонецДня(ТекущаяДата()));
    Должники.УстановитьПараметр("ДатаПогашения1", НачалоДня(ЭлементыФормы.ДатаС.Значение));
   Должники.УстановитьПараметр("ДатаПогашения2", КонецДня(ЭлементыФормы.ДатаПО.Значение));
    Должники.УстановитьПараметр("ЗаймВыдан", Истина);
//   Должники.УстановитьПараметр("ПогашенаКомиссия", Ложь);
   Должники.УстановитьПараметр("ПогашенаОсновнаяЗадолженность", Ложь);
   Должники.УстановитьПараметр("Тек", 0);
   ЭлементыФормы.СписокСегодняСБ.Значение = Должники.Выполнить().Выгрузить();
КонецЕсли;
Если ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода1.Значение) и ЭлементыФормы.ФлажокТолькоРасписки.Значение = ложь тогда
   Должники = Новый Запрос;
   Должники.Текст = "ВЫБРАТЬ
                    |   Договоры.Заемщик КАК Заемщик,
                    |   Договоры.Код КАК Договор,
                    |   Договоры.СуммаКПогашению КАК Сумма,
                    |   Договоры.ДатаПогашения КАК ДатаВозврата,
                    |   Договоры.Заемщик.МобильныйТелефон КАК Телефон,
                    |   Договоры.Подразделение КАК Подразделение,
                    |   Договоры.Представление,
                    |   Договоры.ТекКомиссияН,
                    |   Договоры.ТекОсновнаяСумма,
                    |   Договоры.ТекКомиссияС,
                    |   Договоры.ТекНеустойка КАК ТекНеустойка
                       |ИЗ
                    |   Справочник.Договоры КАК Договоры
                    |ГДЕ
                    |   Договоры.ДатаПогашения >= &ДатаПогашения1
                    |   И Договоры.ПогашенаОсновнаяЗадолженность = &ПогашенаОсновнаяЗадолженность
                    |   И Договоры.ЗаймВыдан = &ЗаймВыдан
                    |   И Договоры.ДатаПогашения <= &ДатаПогашения2
                    |   И Договоры.Подразделение = &Подразделение
                    |   И Договоры.ПометкаУдаления = ЛОЖЬ
                    |
                    |ОБЪЕДИНИТЬ ВСЕ
                    |
                    |ВЫБРАТЬ
                    |   ДопСогл.Заемщик,
                    |   ДопСогл.Код,
                    |   ДопСогл.СуммаКПогашению,
                    |   ДопСогл.ДатаПогашения,
                    |   ДопСогл.Заемщик.МобильныйТелефон,
                    |   ДопСогл.Подразделение,
                    |   ДопСогл.Представление,
                    |   ДопСогл.ТекКомиссияН,
                    |   ДопСогл.ТекОсновнаяСумма,
                    |   ДопСогл.ТекКомиссияС,
                    |   ДопСогл.ТекНеустойка
                    |ИЗ
                    |   Справочник.ДопСогл КАК ДопСогл
                    |ГДЕ
                    |   ДопСогл.ДатаПогашения >= &ДатаПогашения1
                    |   И ДопСогл.ТекОсновнаяСумма > &Тек
                    |   И ДопСогл.ДатаПогашения <= &ДатаПогашения2
                    |   И ДопСогл.Подразделение = &Подразделение
                    |   И ДопСогл.ПометкаУдаления = ЛОЖЬ
                    |
                    |ОБЪЕДИНИТЬ ВСЕ
                    |
                    |ВЫБРАТЬ
                    |   Расписки.Заемщик,
                    |   Расписки.Код,
                    |   Расписки.СуммаКПогашению,
                    |   Расписки.ДатаПогашения,
                    |   Расписки.Заемщик.МобильныйТелефон,
                    |   Расписки.Подразделение,
                    |   Расписки.Представление,
                    |   Расписки.ТекКомиссияН,
                    |   Расписки.ТекОсновнаяСумма,
                    |   Расписки.ТекКомиссияС,
                    |   Расписки.ТекНеустойка
                    |ИЗ
                    |   Справочник.Расписки КАК Расписки
                    |ГДЕ
                    |   Расписки.ДатаПогашения >= &ДатаПогашения1
                    |   И Расписки.ТекОсновнаяСумма > &Тек
                    |   И Расписки.ДатаПогашения <= &ДатаПогашения2
                    |   И Расписки.Подразделение = &Подразделение
                    |   И Расписки.ПометкаУдаления = ЛОЖЬ
                    |
                    |УПОРЯДОЧИТЬ ПО
                    |   ДатаВозврата";
//   Должники.УстановитьПараметр("ДатаПогашения1", НачалоДня(ТекущаяДата()));
//   Должники.УстановитьПараметр("ДатаПогашения2", КонецДня(ТекущаяДата()));
   Должники.УстановитьПараметр("ДатаПогашения1", НачалоДня(ЭлементыФормы.ДатаС.Значение));
   Должники.УстановитьПараметр("ДатаПогашения2", КонецДня(ЭлементыФормы.ДатаПО.Значение));
   Должники.УстановитьПараметр("ЗаймВыдан", Истина);
//   Должники.УстановитьПараметр("ПогашенаКомиссия", Ложь);
   Должники.УстановитьПараметр("ПогашенаОсновнаяЗадолженность", Ложь);
   Должники.УстановитьПараметр("Тек", 0);
   Должники.УстановитьПараметр("Подразделение", ЭлементыФормы.ПолеВвода1.Значение);
   ЭлементыФормы.СписокСегодняСБ.Значение = Должники.Выполнить().Выгрузить();
КонецЕсли;
КонецПроцедуры

has

СписокСегодняСБ это что за элемент формы?

sportik142


has

В общем, я так думаю это табличное поле, смотрите событие ПриПолученииДанных как я описал выше.

cska-fanat-kz

Цитата: sportik142 от 17 сен 2015, 08:17
Есть вот такой код программы, где тут указать оформление?

Процедура СписокСегодняСБВыбор(Элемент, ВыбраннаяСтрока, ОформлениеСтроки, Колонка, СтандартнаяОбработка)
//   Договор = Справочники.Договоры.НайтиПоКоду(ВыбраннаяСтрока.Договор);
//   Договор.ПолучитьФорму().ОткрытьМодально();
Если СтрДлина(ВыбраннаяСтрока.Договор) = 10 Тогда
       Документ = Справочники.Договоры.НайтиПоКоду(ВыбраннаяСтрока.Договор);
      Документ.ПолучитьФорму().Открыть();
   ИначеЕсли СтрДлина(ВыбраннаяСтрока.Договор) = 12 Тогда
      Документ = Справочники.ДопСогл.НайтиПоКоду(ВыбраннаяСтрока.Договор);
      Документ.ПолучитьФорму().Открыть();
   ИначеЕсли СтрДлина(ВыбраннаяСтрока.Договор) = 11 Тогда
      Документ = Справочники.Расписки.НайтиПоКоду(ВыбраннаяСтрока.Договор);
                  Документ.ПолучитьФорму().Открыть();
            
         КонецЕсли;
КонецПроцедуры


у вас открываются формы трех разных справочников.
соответственно во все 3 надо добавить обработку события ПриПолученииДанных
по идее по какому то признаку, который как раз можно "прислать снаружи"...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск