Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 20:08
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: раскраска документов  (Прочитано 3824 раз)

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

Оффлайн Alex_Us

  • **
  • Сообщений: 66
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-26
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте! помогите пожалуйста! не могу сделать вот что, у меня есть документы ЗаказПокупателей, мне нужно чтоб должники подсвечивались красным, а если есть документы Корректировка заказа покупателей или есть Закрытие заказов покупателей и закрытие планируемых поступлений и суммы совпадают, то не подсвечивать их, делаю через временные таблицы, чтоб не тормозило. как мне сделать чтоб эти условия работали? вот что-то начал делать, а вот дальше что-то засел(((


Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)


Если франВспомогательный.ПолучитьЗначениеНастройки(глЗначениеПеременной("глТекущийПользователь"),
ПланыВидовХарактеристик.НастройкиПользователей.ЦветовоеВыделениеЛУРВ) Тогда
ЦветВажноТусклый = Новый Цвет(255, 199, 204); // красный
ЦветОсновнойЯркий = Новый Цвет(205, 250, 250); // зеленый

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
             Запрос = Новый Запрос;
             Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
            Запрос.Текст=
"ВЫБРАТЬ
| ЗаказыПокупателей.Регистратор,
| ЗаказыПокупателей.СуммаВзаиморасчетов,
| ПланируемыеПоступленияДенежныхСредств.Регистратор КАК Регистратор1,
| ПланируемыеПоступленияДенежныхСредств.Сумма
|ИЗ
| РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей,
| РегистрНакопления.ПланируемыеПоступленияДенежныхСредств КАК ПланируемыеПоступленияДенежныхСредств"
|ГДЕ
| ПланируемыеПоступленияДенежныхСредств.Сделка.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ОформлениеСтроки.ДанныеСтроки.Ссылка);
Запрос.Выполнить();
            Запрос.Текст="ВЫБРАТЬ * из ВременнаяОсновная";
            ТзПередано=Запрос.Выполнить().Выгрузить();


Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Здравствуйте! помогите пожалуйста! не могу сделать вот что, у меня есть документы ЗаказПокупателей, мне нужно чтоб должники подсвечивались красным, а если есть документы Корректировка заказа покупателей или есть Закрытие заказов покупателей и закрытие планируемых поступлений и суммы совпадают, то не подсвечивать их, делаю через временные таблицы, чтоб не тормозило. как мне сделать чтоб эти условия работали? вот что-то начал делать, а вот дальше что-то засел(((


Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)


Если франВспомогательный.ПолучитьЗначениеНастройки(глЗначениеПеременной("глТекущийПользователь"),
ПланыВидовХарактеристик.НастройкиПользователей.ЦветовоеВыделениеЛУРВ) Тогда
ЦветВажноТусклый = Новый Цвет(255, 199, 204); // красный
ЦветОсновнойЯркий = Новый Цвет(205, 250, 250); // зеленый

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
             Запрос = Новый Запрос;
             Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
            Запрос.Текст=
"ВЫБРАТЬ
| ЗаказыПокупателей.Регистратор,
| ЗаказыПокупателей.СуммаВзаиморасчетов,
| ПланируемыеПоступленияДенежныхСредств.Регистратор КАК Регистратор1,
| ПланируемыеПоступленияДенежныхСредств.Сумма
|ИЗ
| РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей,
| РегистрНакопления.ПланируемыеПоступленияДенежныхСредств КАК ПланируемыеПоступленияДенежныхСредств"
|ГДЕ
| ПланируемыеПоступленияДенежныхСредств.Сделка.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ОформлениеСтроки.ДанныеСтроки.Ссылка);
Запрос.Выполнить();
            Запрос.Текст="ВЫБРАТЬ * из ВременнаяОсновная";
            ТзПередано=Запрос.Выполнить().Выгрузить();

Я конечно еще не "специалист", но я никак не могу понять, как у тебя временная таблица "облегчает" код :bleh:
Может я и тупенький, непонимать.

Ладно, в чем проблема? Что не работает, заканчивай цикл, пиши по логике действий.

Оффлайн Alex_Us

  • **
  • Сообщений: 66
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-26
  • Сайт: 
  • Профессия: Ученик 1С
он просто зависает на этой процедуре( что не так?

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)


Если франВспомогательный.ПолучитьЗначениеНастройки(глЗначениеПеременной("глТекущийПользователь"),
ПланыВидовХарактеристик.НастройкиПользователей.ЦветовоеВыделениеЛУРВ) Тогда
ЦветВажноТусклый = Новый Цвет(255, 199, 204); // красный
ЦветОсновнойЯркий = Новый Цвет(205, 250, 250); // зеленый

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
             Запрос = Новый Запрос;
             Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
            Запрос.Текст=
"ВЫБРАТЬ
| ЗаказыПокупателей.Регистратор,
| ЗаказыПокупателей.СуммаВзаиморасчетов,
| ПланируемыеПоступленияДенежныхСредств.Регистратор КАК Регистратор1,
| ПланируемыеПоступленияДенежныхСредств.Сумма
|ИЗ
| РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей,
| РегистрНакопления.ПланируемыеПоступленияДенежныхСредств КАК ПланируемыеПоступленияДенежныхСредств
|ГДЕ
| ПланируемыеПоступленияДенежныхСредств.Сделка.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ОформлениеСтроки.ДанныеСтроки.Ссылка);
Запрос.Выполнить();
            Запрос.Текст="ВЫБРАТЬ * из ВременнаяОсновная";
            ТзПередано=Запрос.Выполнить().Выгрузить();

Если ОформлениеСтроки.Проведен Тогда
        ОформлениеСтроки.ЦветФона = Новый Цвет(205, 250, 250);
Иначе ОформлениеСтроки.ЦветФона = Новый Цвет(255, 199, 204);
КонецЕсли;
КонецЦикла;
КонецЕсли;


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


Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
он просто зависает на этой процедуре( что не так?

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)


Если франВспомогательный.ПолучитьЗначениеНастройки(глЗначениеПеременной("глТекущийПользователь"),
ПланыВидовХарактеристик.НастройкиПользователей.ЦветовоеВыделениеЛУРВ) Тогда
ЦветВажноТусклый = Новый Цвет(255, 199, 204); // красный
ЦветОсновнойЯркий = Новый Цвет(205, 250, 250); // зеленый

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
             Запрос = Новый Запрос;
             Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
            Запрос.Текст=
"ВЫБРАТЬ
| ЗаказыПокупателей.Регистратор,
| ЗаказыПокупателей.СуммаВзаиморасчетов,
| ПланируемыеПоступленияДенежныхСредств.Регистратор КАК Регистратор1,
| ПланируемыеПоступленияДенежныхСредств.Сумма
|ИЗ
| РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей,
| РегистрНакопления.ПланируемыеПоступленияДенежныхСредств КАК ПланируемыеПоступленияДенежныхСредств
|ГДЕ
| ПланируемыеПоступленияДенежныхСредств.Сделка.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ОформлениеСтроки.ДанныеСтроки.Ссылка);
Запрос.Выполнить();
            Запрос.Текст="ВЫБРАТЬ * из ВременнаяОсновная";
            ТзПередано=Запрос.Выполнить().Выгрузить();

Если ОформлениеСтроки.Проведен Тогда
        ОформлениеСтроки.ЦветФона = Новый Цвет(205, 250, 250);
Иначе ОформлениеСтроки.ЦветФона = Новый Цвет(255, 199, 204);
КонецЕсли;
КонецЦикла;
КонецЕсли;


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


Ну так отладчиком посмотри что не так, по мне так вообще бред написан.
Добавлено: 03 Авг 2013, 12:32

И такие действия делаются СписокПриВыводеСтроки() это стандартное событие любого списка.

Далее запрос у нас должен быть самым простым из всех простых запросов, чтобы ничего не тележило.
Например:
Если Не пустаяСтрока(ДанныеСтроки.МинимальныйОстаток) Тогда	
Если ДанныеСтроки.МинимальныйОстаток > 0 Тогда
Красный = новый Цвет(255, 0, 0);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК СумарныйОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки,
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстатки";
Запрос.УстановитьПараметр("Номенклатура",ДанныеСтроки);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда

Если ДанныеСтроки.МинимальныйОстаток > Выборка.СумарныйОстаток Тогда
ОформлениеСтроки.ЦветТекста = Красный;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Добавлено: 03 Авг 2013, 12:36

он просто зависает на этой процедуре( что не так?

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)


Если франВспомогательный.ПолучитьЗначениеНастройки(глЗначениеПеременной("глТекущийПользователь"),
ПланыВидовХарактеристик.НастройкиПользователей.ЦветовоеВыделениеЛУРВ) Тогда
ЦветВажноТусклый = Новый Цвет(255, 199, 204); // красный
ЦветОсновнойЯркий = Новый Цвет(205, 250, 250); // зеленый

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
             Запрос = Новый Запрос;
             Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
            Запрос.Текст=
"ВЫБРАТЬ
| ЗаказыПокупателей.Регистратор,
| ЗаказыПокупателей.СуммаВзаиморасчетов,
| ПланируемыеПоступленияДенежныхСредств.Регистратор КАК Регистратор1,
| ПланируемыеПоступленияДенежныхСредств.Сумма
|ИЗ
| РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей,
| РегистрНакопления.ПланируемыеПоступленияДенежныхСредств КАК ПланируемыеПоступленияДенежныхСредств
|ГДЕ
| ПланируемыеПоступленияДенежныхСредств.Сделка.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ОформлениеСтроки.ДанныеСтроки.Ссылка);
Запрос.Выполнить();
            Запрос.Текст="ВЫБРАТЬ * из ВременнаяОсновная";
            ТзПередано=Запрос.Выполнить().Выгрузить();

Если ОформлениеСтроки.Проведен Тогда
        ОформлениеСтроки.ЦветФона = Новый Цвет(205, 250, 250);
Иначе ОформлениеСтроки.ЦветФона = Новый Цвет(255, 199, 204);
КонецЕсли;
КонецЦикла;
КонецЕсли;


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


Ну так отладчиком посмотри что не так, по мне так вообще бред написан.
Добавлено: 03 Авг 2013, 12:32

И такие действия делаются СписокПриВыводеСтроки() это стандартное событие любого списка.

Далее запрос у нас должен быть самым простым из всех простых запросов, чтобы ничего не тележило.
Например:
Если Не пустаяСтрока(ДанныеСтроки.МинимальныйОстаток) Тогда	
Если ДанныеСтроки.МинимальныйОстаток > 0 Тогда
Красный = новый Цвет(255, 0, 0);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК СумарныйОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки,
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстатки";
Запрос.УстановитьПараметр("Номенклатура",ДанныеСтроки);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда

Если ДанныеСтроки.МинимальныйОстаток > Выборка.СумарныйОстаток Тогда
ОформлениеСтроки.ЦветТекста = Красный;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Первое условие кривое, не помню с чем сязано.

Далее, у меня циклов вообще нет, запрос использует виртуальные таблички и все предельно просто и быстро работает.
В чем проблема написать мело легкий запрос то?
Добавлено: 03 Авг 2013, 12:38

И где у тебя связи в запросе?

Последний раз редактировалось: GRADUS; 03 Авг 2013, 12:38. Причина: Объединение сообщений

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Запрос в цикле, поэтому и зависает! :bleh:

Есть стандартное событие у списка ПриПолученииДанных() там формируй нужную таблицу (т.к. это событие вызывается при обновлении списка - оно вызывается реже)
И потом при выводе строки можно искать в полученной таблице данные и делать оформление
Добавлено: 04 Авг 2013, 17:03

P.S. И вообще СписокПриВыводеСтроки() в этом событии лучше вообще не делать обращений к БД
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Как создать нескольких документов "расчет при увольнении" на основании кадрового документа "увольнение" как Отпуска

Автор cozuРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 3184
Последний ответ 21 Мар 2015, 20:24
от дфтын
Не работает структура подчиненности документов "Требование-накладная" и "Передач

Автор sv_stas_svРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4100
Последний ответ 10 Мар 2011, 07:36
от sv_stas_sv
готовая компонента сканирования/загрузки / распознавания бумажных документов (счетов, налоговых накладных, приходных накладных) из бумажного документа в 1с

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 179
Последний ответ 14 Ноя 2017, 10:43
от oleg-x
Реквизит "Ссылка" у справочников и документов

Автор leklerkРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3026
Последний ответ 29 Май 2013, 16:24
от leklerk
"Дубляж" документов реализации в ВзаиморасчетыКомпанииОстаткиИОбороты

Автор mspuzРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1787
Последний ответ 24 Янв 2014, 13:55
от mspuz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 345
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal