Имя: Пароль:
1C
1С v8
Расчет колонки в динамическом списке
0 wolf_bethowen
 
10.02.19
18:26
имеется константа, справочник и динамический список. как мне в колонке списка вывести результат перемножения константы и реквизита?

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
    ИмяПроверки = СтрПолучитьСтроку(Элементы.Список.ТекущаяСтрока,1);          
    Список1.Параметры.УстановитьЗначениеПараметра("Наименование", ИмяПроверки);

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ИмяПроверки = СтрПолучитьСтроку(Элементы.Список.ТекущаяСтрока,1);          
    Список1.Параметры.УстановитьЗначениеПараметра("Наименование", ИмяПроверки);

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



пробовал писать функции расчета отдельно, но программа просто зависает. я так понимаю мне нужно получить значение реквизита конкретного элемента справочника и перемножить и впихнуть в список. а как это сделать?? не сообразить.
1 jsmith82
 
10.02.19
18:29
в динамическом списке
Таблица1.Поле1 * &Оклад КАК Поле2

при создании на сервере устанавливаешь параметр дин. списка
2 wolf_bethowen
 
10.02.19
19:14
(1) а можно подробнее??пытался сделать так:
ВЫБРАТЬ
    СправочникДанные.Ссылка,
    СправочникДанные.ПометкаУдаления,
    СправочникДанные.Код,
    СправочникДанные.Наименование,
    СправочникДанные.ФИО,
    СправочникДанные.Должность,
    СправочникДанные.Ставка,
    СправочникДанные.Получает = СправочникДанные.Ставка * Оклад.Значение КАК Поле1,
    СправочникДанные.ДатаРождения,
    СправочникДанные.Предопределенный,
    СправочникДанные.ИмяПредопределенныхДанных
ИЗ
    Справочник.Данные КАК СправочникДанные,
    Константа.Оклад КАК Оклад
ГДЕ
    СправочникДанные.Наименование = &Наименование
3 Михаил Козлов
 
10.02.19
19:22
Значение оклада сделайте параметром:
СправочникДанные.Получает = СправочникДанные.Ставка * &Оклад КАК Поле1,
и при создании на сервере устанавливайте его значение через Константы.Оклад.Получить();
4 ДенисЧ
 
10.02.19
19:45
(3) А зачем константу передавать параметром? Может, сразу с таблицей констант соединиться?
5 Sapiens_bru
 
10.02.19
19:56
(0) "я так понимаю мне нужно получить значение реквизита конкретного элемента справочника и перемножить и впихнуть в список"
Неправильно понимаешь.
Динанамический список всегда работает с таблицами данных, а не с объектами. Чтобы код в (2) заработал достаточно убрать условие на Наименование из запроса.
6 wolf_bethowen
 
10.02.19
22:02
(4) так задачу поставили ;-)
7 wolf_bethowen
 
10.02.19
22:04
(5) возможно не совсем тебя понимаю. Михаил Козлов (3)  был прав, сделал как он говорил. Вот результат:

ВЫБРАТЬ
    СправочникПользователи.Наименование,
    СправочникПользователи.ФИО,
    СправочникПользователи.Должность,
    СправочникПользователи.Ставка,
    СправочникПользователи.Ставка * Оклад.Значение КАК Получает,
    СправочникПользователи.ДатаРождения,
    СправочникПользователи.Пол,
    СправочникПользователи.Имя,
    СправочникПользователи.Фамилия,
    СправочникПользователи.Отчество
ИЗ
    Справочник.Пользователи КАК СправочникПользователи,
    Константа.Оклад КАК Оклад
ГДЕ
    СправочникПользователи.Наименование = &Наименование
8 Chameleon1980
 
11.02.19
04:47
возможно, автор невнимательно читает советы.