Имя: Пароль:
1C
 
Создание ТЗ 1С 8.3
0 Иванов Иван Иваныч
 
06.06.19
12:07
Доброго времени суток. Создаю ТЗ в справочнике "Номенклатура". В ФормаЭлемента добавлен реквизит "Минимальный остаток", код в модуле ФормаСписка. Не знаю как соотнести колонки ТЗ и данные запроса. Колонка "Себестоимость" рассчитывается по формуле СуммаОстаток/КоличествоОстаток; значение ячеек колонки "Остаток" сравнивается с реквизитом "Минимальный остаток" и если "Остаток" <= "Минимальный остаток" фон становится красным. Пока на форме ничего не появляется, что не так делаю, тыкните носом пожалуйста

&НаСервере
Процедура ПриСозданииНаСервереТЗ(Отказ, СтандартнаяОбработка)
    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("Остаток");
    Таблица.Колонки.Добавить("Себестоимость");
    Строка = Таблица.Добавить();
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    ТиповойОстатки.КоличествоОстаток КАК КоличествоОстаток,
    |    ТиповойОстатки.СуммаОстаток КАК СуммаОстаток,
    |    Номенклатура._МинимальныйОстаток КАК _МинимальныйОстаток
    |ИЗ
    |    РегистрБухгалтерии.Типовой.Остатки(, Счет.Наименование = ""Товары"", , ) КАК ТиповойОстатки
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
    |        ПО ТиповойОстатки.Субконто1 = Номенклатура.Ссылка
    |            И ТиповойОстатки.Субконто2 = Номенклатура.Ссылка
    |            И ТиповойОстатки.Субконто3 = Номенклатура.Ссылка");
    Таблица = Запрос.Выполнить().Выгрузить();
    Для Каждого Строка Из Таблица Цикл
        (Что тут писать?)    
    КонецЦикла;
КонецПроцедуры
1 shuhard
 
06.06.19
12:13
(0)используй условное оформление
2 Иванов Иван Иваныч
 
06.06.19
12:23
(1) т.е. примерный код такой будет?

Если Строка.Остаток <= ЭтаФорма.Элементы.МинимальныйОстаток Тогда
    Элемент = УсловноеОформление.Элементы.Добавить();
    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Киноварь);
КонецЕсли;
3 13_Mult
 
06.06.19
12:25
(0) Эпичный запрос.))
4 Иванов Иван Иваныч
 
06.06.19
12:26
(3) Где накосячил?)
5 hhhh
 
06.06.19
12:29
(4) ну вот тут какой-то бред

Если Строка.Остаток <= ЭтаФорма.Элементы.МинимальныйОстаток Тогда

надо в условном оформлении это задавать: отбор, поля, которые окрашиваем, и потом уже в конце цвет фона.
6 13_Mult
 
06.06.19
12:29
(4) 99% что у тебя в результате запроса "МинимальныйОстаток" всегда будет Null.
7 shuhard
 
06.06.19
12:31
(2) нет, от слова совсем
УО настрой в конфгураторе, привяжи к реквизиту ТЗ "отрицательный остаток"
8 catena
 
06.06.19
12:34
ПО ТиповойОстатки.Субконто1 = Номенклатура.Ссылка
    |            И ТиповойОстатки.Субконто2 = Номенклатура.Ссылка
    |            И ТиповойОстатки.Субконто3 = Номенклатура.Ссылка");


У вас есть счет, у которого все три аналитики - Номенклатура?
9 Иванов Иван Иваныч
 
06.06.19
12:35
(5) знаю, исключительно набросок кода, т.к. не знаю как корректно сослаться
10 Иванов Иван Иваныч
 
06.06.19
12:35
(7) мин. остаток будет разным, все зависит от самой номенклатурной позиции, поэтому программно через сравнение прогонять надо
11 Иванов Иван Иваныч
 
06.06.19
12:37
(8) конструктор сам дописал, не знаю что за дичь)
12 Иванов Иван Иваныч
 
06.06.19
12:38
(6) почему Null? Значение реквизита задается на форме элемента вручную для каждой номенклатурной позиции индивидуально
13 catena
 
06.06.19
12:38
(11)"Оно само" - это у пользователей, программист должен сам отвечать за свой код.
(12)NULL будет, потопму что (8)
14 breezee
 
06.06.19
12:39
Обычное приложение или управляемое?
15 Иванов Иван Иваныч
 
06.06.19
12:47
(14) управляемое
16 Иванов Иван Иваныч
 
06.06.19
12:49
(13) как я понимаю, это соотношение номенклатурных позиций в справочнике и в регистрах, если я прав, то по сути тут вполне и субконто1 хватит
17 shuhard
 
06.06.19
12:53
(10)[мин. остаток будет разным, все зависит от самой номенклатурной позиции, поэтому программно через сравнение прогонять надо]
ещё раз
сделай в ТЗ колонку "отрицательный остаток"
рассчитай её, понятно, что для разных ТМЦ она будет разной
привяжи УО к колонке