#0
by amadeus2010
Добрый вечер, вопрос как в УТ 10.3 в форме списка документа реализация товаров изменить цвет строки при ручном изменении цены в форме документа. На данный я настроил изменение цвета в колонке цена при изменении типа цен в процедуре ТоварыПриПолученииДанных.Но как выполнить эту задачу пока не сообразил.Привожу код как пример: /////////////////////////////////////////////////////////////// Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
#3
by Casey1984
А как ты на глаз это определишь, без программирования? Теперь научи этому программу - программируя ->
#4
by amadeus2010
понятно что требуется программировать но как сделать проверку что если цена товара была сперва 100 руб., а потом пользователь изменил ее на 150 руб. как программно определить что цена была изменена
#5
by Fragster
добавляем реквизит будево в документ (или РС, если не хочется менять документ), и при ручном редактировании цены - ставим его в истину. в ПриПолученииДанных - подсвечиваем строки с установленным флагом.
#6
by Fragster
только тогда права у установки цен номенклатуры надо отнять у "безответственных", ибо иначе будут вводить/менять документ установки цен
#7
by amadeus2010
насколько я понял надо запросом вытащить цену номенклатуры из регистра сведений и сравнить ее с текущей ценой в ТЧ документа?
#9
by amadeus2010
насчет реквизита булево не совсем понял. Например как задать такое условие что если цена изменена тогда реквизит =истина?
#11
by Tarlich
ОформлениеСтроки.Ячейки.Цена - верное направление -)) Получи цену ценаВР= ценообразование.ПолуитьЦенуНоменклатуры и если она не равна ДанныеСтроки.ЦЕНА тогда меняй цвет
#13
by amadeus2010
ценаВР= ценообразование.ПолучитьЦенуНоменклатуры как указать что эта цена привязана к данной номенклатуре? ценаВР= ценообразование.ПолучитьЦенуНоменклатуры Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл Если ценаВР <> ДанныеСтроки.Цена тогда правильный ход мысли?
#14
by amadeus2010
дело в том что мне надо окрашивать строку в форме списка документа реализация товаров чтобы менеджер видел что данный документ был изменен
#15
by aleks_default
+1 Даже можно не в таб части создавать, а в шапке документа. Все равно ведь у скольких позиций изменили цену - у одной или нескольких, документ ведь все равно был изменен.
#17
by amadeus2010
добавил такой код КонецЕсли; При открытии документа выходит ошибка недостаточно фактических параметров Ценообразование.ПолучитьЦенуНоменклатуры
#18
by amadeus2010
изменил на такой код вышла такая ошибка {Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(2831)}: Поле объекта не обнаружено (Ссылка) ОформлениеСтроки.Ячейки.Ссылка.Сумма.ЦветФона = WebЦвета.Красный;
#19
by ВедущийП
тут две задачи 1. В форме документа при изменении цены нужно устанавливать реквизит документа. 2. В списке документов менять цвет фона у документов, у которых установлен реквизит на Шаге 1.
#20
by ВедущийП
второй путь: в списке документов запросом сравнивать цнеы в строках документа с ценами из регистра сведений с ценами. Если все делать одним запросом по списку документов то будет даже не сильно тормозить.
#21
by ВедущийП
Я бы сделал по второму варианту, но ту критично умение писать сложный запрос который будет обрабатывать список документов за 1 раз.
#23
by amadeus2010
возможно ли как-то отладить код в ? Есть ли возможность окрашивать программно реквизит формы списка документа по условию?
#25
by amadeus2010
не совсем правильно сформулировал вопрос, есть что-то подобное для формы списка документа:
#26
by Lexey_
что-то подобное есть, но сначала надо определиться с именем ячейки "Ссылка" или "Сумма"? в строке Ячейки.Ссылка.Сумма
#29
by amadeus2010
этот код окрашивает ячейку ТЧ документа, а как окрасить ячейку в строке списка формы?
#31
by Злопчинский
Все криво С самого начала следует задаться вопросом какую цель преследует изменение оформления строки "Чтобы менеджер увидел" - это не цель
#32
by amadeus2010
цель зрительно видеть изменение сделанные в документе, согласно заданному условию. А что можете посоветовать вы?
#33
by amadeus2010
перенос кода не дал результата.Неужели никак нельзя окрасить по условию ячейку списка документа?
#35
by amadeus2010
КонецЕсли; только как делать чтобы вместо значения Цена можно было окрасить Сумму документа в списке формы?
#38
by amadeus2010
ДокументОбъект.ЦенаИзменена = Истина; этот код срабатывает,и окрашивается Цена только в ТЧ, а по заданию надо чтобы окрасилась строка в списке документа
#43
by amadeus2010
вот код в списке формы Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
#44
by ВРедная
Откуда в списке документов номенклатура и ее цена? Этот код не выдает ошибки? Или ты в список добавил пару колонок?
#46
by amadeus2010
мне как раз и надо сравнить изменение цен в табличной части формы документа и если цена была изменена то окрасить ссылку на документ в списке формы
#47
by ВРедная
Ты что с чем пытаешься сравнить? Если цену строки табличной части с ценой из прайса, то где цикл по строкам табличной части? У тебя в списке документов может быть 10 строк в каждом документе. Где ты перебираешь каждую? В типовом списке документов нет колонки "Цена" и нет колонки "Номенклатура". Тип цен - это реквизит документа, а не переменная формы. Ты перед переносом кода в форму списка пытался его адаптировать для списка?
#48
by amadeus2010
у меня есть 2 переменные ТекЦена - цена в тч документа, которая может быть изменена и ЦенаВР-цена по прайсу. Если бы знал как адаптировать код к форме списка то сделал бы это, но так как не знаю поэтому обратился
#50
by ВРедная
Где у тебя в коде выбирается цена в ТЧ документа? Где вообще там обработка ТЧ документа в коде?
#51
by amadeus2010
имеете ввиду надо сделать запрос к ТЧ документа? и потом значение запроса подставить в ПолучитьЦенуНоменклатуры?
#52
by ВРедная
Я имею в виду, что нужно подумать, что и откуда ты хочешь получить, на бумажке схему нарисовать, потом уже писать запрос. Если для каждого документа в списке пробегать по его ТЧ и для каждой строки выполнять запрос на цену и сравнивать ее с ценой документа, у тебя список будет открываться по минуте.
#53
by ВРедная
Информацию о том, что цена была изменена в документе, лучше хранить в самом документе, в добавленном реквизите. Можно в реквизитах ТЧ тоже хранить эту информацию построчно. Тогда не придется заниматься вычислениями в списке.
#54
by amadeus2010
хорошо опустим окрашивание цвета, я пытался сделать дополнительный реквизит как реквизит ЦенаИзменена тип булево, работает но при восстановлении старой цены значение реквизита не меняется обратно на ложь
#55
by amadeus2010
что-то типа такого в процедуре товары при получении данных ЦенаВР = Ценообразование.ПолучитьЦенуНоменклатуры(ОформлениеСтроки.ДанныеСтроки.Номенклатура,,ТипЦен);
#58
by ВРедная
Давай подумаем вместе. У документа 10 строк. изменена цена в 5-й строке документа. Цикл 1-я строка. ДокументОбъект.ЦенаИзменена = ложь 2-я строка - аналогично --- 5-я строка ДокументОбъект.ЦенаИзменена = истина. (ура) 6-я строка ДокументОбъект.ЦенаИзменена = ложь ( : 7-я и до конца документа - ДокументОбъект.ЦенаИзменена = ложь В конец твоей процедуры цена изменена в документе будет ложь для всех документов, кроме тех, у которых изменена последняя строка. Это было первое. Теперь второе. Твой код выполняется при получении данных, т.е. намного чаще, чем происходит изменение строк. Зачем? Тебе нужно знать, что цена в какой либо строке была изменена только перед записью, чтобы зафиксировать последний результат.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как изменить цвет фона поля в форме списка документа
- Функция которая вызывается на форме без каких-то действии на форме
- v7 Справочник Цветов. Как в форме списка организовать выбор цвета пользоват
- Как в форме списка справочника сделать выделение каждой строки необходимым цветом?
- Как програмно учтановить отбор в форме списка или в форме выбора
- 1С 8 КАК находясь в одной форме ИЗМЕНИТЬ цвет в другой
- 8.2 Условное оформление списка в форме списка справочника
- Как установить цвет строки в управляемой форме? Цвет берется из реквизита
- Изменить цвет строки при программном изменении реквизита
- УФ: выделение цветом строки по определеному признаку в форме списка документа
- УФ На форме списка настройка списка отборов и т.д.
- Как в управляемой форме посчитать итог по колонке тч на форме?
В этой группе 1С
- Как отследить из какой кнопки была вызвана команда?
- ТСД Opticon Smart
- НастройкаПараметровУчета - Состав констант
- Сбис не видит сертификат
- Библиотека стандартных подсистем
- после загрузки справочника выдает ошибку. Значение не является значением объектного типа
- БП 2.0 ПРОФ. Как сделать учет по подразделениям по счету кассы
- Передача ДеревоЗначений через COM соединение.
- Программно упорядочить таблицу управляемой формы
- ПлАгин или плагИн? Куда вы "ударяете"?
- Как изучить УТ11 как можно быстрее? Какие способы знаете?
- Ошибка в документе списание материалов из эксплуатации, БП 2.0
- Заполнение дополнительного реквизита при создании формы
- 1С: ЗУП 2.5 Пересечение временного исполнения обязанностей и индексации
- УПП 1.3 розничные продажи
- Выбор конфигурации железа для простенького 1с сервера
- После обновления БП2.0 на БП 3.0 при открытии параметров учета ошибка
- Как заполнить табличное поле данными запроса?
- Отбор из регистра бухгалтерии по счету и всем субсчетам этого счета
- Отчет с помощью СКД на основе данных из Табель Учета Рабочего Времени