Раскрашивание управляемой формы списка документов в зависимости от условия #776551


#0 by Adaviya
Добрый летний день всем! Столкнулась с проблемой, бухгалтерия 3.0. Там есть форма списка СчетаНаОплатуПокупателю. Мне нуно раскрасить шрифт строки синим, если по данному счету выписана Реализация товаров и услуг. Нашла процедуру УстановитьУсловноеОформление. Там как раз идет раскрашивание строк в зеленый или серый цвета... по признаку, оплачен ли счет и не просрочена ли дата оплаты... Мне нужно сделать подобное, только проверка как я поняла будет идти запросом, в котором я проверяю каждый счет на оплату - смотрю выписана ли по нему реализация или нет: Но как передать параметр СсылкаНаСчет? не понимаю... откуда взять эту самую ссылку на конкретный счет на оплату   покупателю? Или я в принципе не так делаю, подскажите пожалуйста...
#1 by luter-89
Ну тут надо соединение делать с таблицей Счет на оплату покупателю, если в реквизитах реализации нет ссылок на нее
#2 by Adaviya
luter-89, в какой процедуре это делать? привожу полностью эту процедуру для примера, и то что в ней написала я: что передавать в качестве переменной СчетНаОплатуПокупателю? или я вообще все не так делаю?
#3 by Adaviya
В реквизитах реализации есть реквизит СчетНаОплатуПокупателю, это ссылка на кокретный счет на оплату. какую таблицу вы имеете в виду?
#4 by luter-89
Если вы хотите задать условное оформление с условием по другому документу, то должна быть связь с этим документом. Связь может быть через реквизит, если вы точно уверены что этот реквизит хранит то, что надо, либо создавать запрос, который получит необходимые данные из соединения двух таблиц (Реализация и счет на оплату). Далее в цикле все это разукрасить. Либо можно это все сделать в динамическом списке формы списка, но если вы там сделаете неверную связь, то будут не правильно выводится документы, либо не все. Задача простая. Фотка в профиле не ваша то?)
#5 by Adaviya
Я хочу свою поставить, не получается, остается старая. нет не моя, но моя еще красивее))) и файл блин не прикрепишь к сообщению... Не могли бы прям код написать, про реквизиты и запрос все понимаю, не понимаю в каком месте писать его и что передавать в качестве этих списков?
#6 by oslokot
задайте условное оформление через настройку списка в режиме предприятия и скопируйте всем пользователям. делов-то
#7 by Adaviya
oslokot, там можно сделать отбор только по существующим колонкам на форме списка. У меня этой колонки сейчас на форме списка нет. В форму списка можно добавить колонку "ВыписанаРеализация" тип Булево, которая бы заполнялась при открытии формы списка. Допустим я ее добавлю, как ее заполнять? Допустим, в процедуре ПриОкрытии или ПриСозданииНаСервере формы списка. Нужно ведь обратиться к каждому конкретному счету на оплату, проверить, есть ли реализация, которая ссылается на этот счет... Напишите прям код пожалуйста для примера, именно как заполнять эту колонку.
#8 by oslokot
а, прости не дочитал сложное условие
#9 by ovrfox
У вас на форме списка есть список. Обычно это динамический список со ссылкой на таблицу документов. Вам нужно изменить запрос получения списка, таким образом, чтобы добавилась дополнительная колонка "ЕстьРеализация". Дальше вам нужно раскрасить в синий те строки, в которых ЕстьРеализация = Истина
#10 by ovrfox
Или можно "ПриСозданииНасервере" сделать такой же запрос, как я советовал в и на его основании перенести данные в созданную колонку. Но я так делать не советую.
#11 by ovrfox
Запрос для динамического списка примерно такой Выбрать счет.*, РеализацияТоваровУслуг.Проведен КАК ВыписанаРеализация из Документ.СчетНаОплатуПокупателю как счет Левое Соединение Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО РеализацияТоваровУслуг.СчетНаОплатуПокупателю = Счет.Ссылка   И РеализацияТоваровУслуг.ПометкаУдаления = ЛОЖЬ
#12 by oslokot
я бы сделал через доп.сведение (например Булево) счета покупателю. при проведении РТиУ, в подписке устанавливать реквизиту Истина Ну а далее, стандартное УО в списке по этому доп.реквизиту Профит.
#13 by oslokot
Плюс - не трогаем типовую
#14 by Adaviya
oslokot, ой, а что значит доп сведение? дополнительный реквизит добавить? у меня все конфа очень не типовая. Да, идея супер! но тогда придется перепроводить все старые документы... а динамический запрос я нашла, он такой сложный...     ДокументСчетНаОплатуПокупателю.СуммаДокумента,         КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL и потом у меня не получается добавить просто колонку на форму списка!!! там получается добавить реквизит для списка, а надо Добавить колонку реквизита, а это поле не доступно для выбора, оно серое-не активное.
#15 by oslokot
Перепроводить ничего не придется, напишешь обработку которая проставит нужным счетам "Истина"
#16 by Adaviya
oslokot, супер, спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С