|
|
|
Как заполнить добавленные поля ФормыСписка справочника | ☑ | ||
|---|---|---|---|---|
|
0
LivingStar
15.04.13
✎
08:21
|
Для справочника сделан регистр сведений, где есть история изменения некоторых реквизитов не имеющихся у справочника. В форме списка добавил 4 поля, как их заполнить данными? Из регистра сведений что бы сделать выборку, где получать ссылки на элементы справочника? В какой процедуре заполнять дополнительные поля?
|
|||
|
1
LivingStar
15.04.13
✎
08:23
|
ПриВыводеСтроки() наверное
|
|||
|
2
Defender aka LINN
15.04.13
✎
08:26
|
(1) Расстрелять
|
|||
|
3
Рэйв
15.04.13
✎
08:32
|
>>изменения некоторых реквизитов не имеющихся у справочника
завис.. |
|||
|
4
Рэйв
15.04.13
✎
08:33
|
может ТС так пытается представить периодический РС?
|
|||
|
5
cw014
15.04.13
✎
08:33
|
Даже подсказывать не собираюсь. ТС видимо читать не умеет
|
|||
|
6
LivingStar
15.04.13
✎
08:35
|
Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.Период, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотОт, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотДо, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НижняяПланка |ИЗ | РегистрСведений.ИсторияОборотовПоКатегориямМагазинов.СрезПоследних(&Период, КатегорияМагазина = &КатегорияМагазина) КАК ИсторияОборотовПоКатегориямМагазиновСрезПоследних"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("КатегорияМагазина", ДанныеСтроки.Ссылка); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Пока Выборка.Следующий() Цикл ОформлениеСтроки.Ячейки.Период.Значение = Выборка.Период; ОформлениеСтроки.Ячейки.НедельныйОборотОт.Значение = Выборка.НедельныйОборотОт; ОформлениеСтроки.Ячейки.НедельныйОборотДо.Значение = Выборка.НедельныйОборотДо; ОформлениеСтроки.Ячейки.НижняяПланка.Значение = Выборка.НижняяПланка; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
|
7
cw014
15.04.13
✎
08:38
|
ОформлениеСтроки.Ячейки.Период.УстановитьТекст( Выборка.Период);
ОформлениеСтроки.Ячейки.НедельныйОборотОт.УстановитьТекст(Выборка.НедельныйОборотОт); ОформлениеСтроки.Ячейки.НедельныйОборотДо.УстановитьТекст(Выборка.НедельныйОборотДо); ОформлениеСтроки.Ячейки.НижняяПланка.УстановитьТекст(Выборка.НижняяПланка); Ведь вынудил же... А за запрос в ПриВыводеСтроки - пожизненный расстрел |
|||
|
8
Defender aka LINN
15.04.13
✎
08:40
|
(6) Пожизненный эцих с гвоздями за такое!
|
|||
|
9
Cube
15.04.13
✎
08:44
|
(6) Юзай ПриВыводеСтроки()...
|
|||
|
10
Cube
15.04.13
✎
08:45
|
(9) Тьфу! ПриПолученииДанных() конечно же :)))
|
|||
|
11
LivingStar
15.04.13
✎
08:58
|
и как мне использовать ОформленияСтрок в ПриПолученииДанных() ? ОформлениеСтроки() то понятно!!!
|
|||
|
12
Cube
15.04.13
✎
09:00
|
(11) Достаточно в отладчике посмотреть тип у ОформленияСтрок ну или посмотреть в СП...
|
|||
|
13
cw014
15.04.13
✎
09:01
|
А ОформлениеСтрок - не понятно. И СП глухо о нем молчит и не говорит, что это коллекция из "ОформлениеСтроки"
|
|||
|
14
cw014
15.04.13
✎
09:01
|
А еще СП вообще бесполезен, если его НЕ ЧИТАТЬ
|
|||
|
15
LivingStar
15.04.13
✎
09:09
|
почему нельзя при выводе строки? там все работало!!!
тут сейчас заполняется только одна строка в справочнике |
|||
|
16
cw014
15.04.13
✎
09:09
|
Люди, объясните ему, что не так, я уже устал...
|
|||
|
17
LivingStar
15.04.13
✎
09:12
|
Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Й = 0; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.Период, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотОт, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотДо, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НижняяПланка |ИЗ | РегистрСведений.ИсторияОборотовПоКатегориямМагазинов.СрезПоследних(&Период, КатегорияМагазина = &КатегорияМагазина) КАК ИсторияОборотовПоКатегориямМагазиновСрезПоследних"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("КатегорияМагазина", Элемент.ТекущаяСтрока.Ссылка); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Пока Выборка.Следующий() Цикл ОформленияСтрок[й].Ячейки.Период.УстановитьТекст(Выборка.Период); //ОформлениеСтроки.Ячейки.Период.Значение = Выборка.Период; //ОформленияСтрок.Ячейки.Период.УстановитьТекст(Выборка.Период); ОформленияСтрок[й].Ячейки.НедельныйОборотОт.УстановитьТекст(Выборка.НедельныйОборотОт); //ОформлениеСтроки.Ячейки.НедельныйОборотОт.Значение = Выборка.НедельныйОборотОт; //ОформленияСтрок.Ячейки.НедельныйОборотОт.УстановитьТекст(Выборка.НедельныйОборотОт); ОформленияСтрок[й].Ячейки.НедельныйОборотДо.УстановитьТекст(Выборка.НедельныйОборотДо); //ОформлениеСтроки.Ячейки.НедельныйОборотДо.Значение = Выборка.НедельныйОборотДо; //ОформленияСтрок.Ячейки.НедельныйОборотДо.УстановитьТекст(Выборка.НедельныйОборотДо); ОформленияСтрок[й].Ячейки.НижняяПланка.УстановитьТекст(Выборка.НижняяПланка); //ОформлениеСтроки.Ячейки.НижняяПланка.Значение = Выборка.НижняяПланка; //ОформленияСтрок.Ячейки.НижняяПланка.УстановитьТекст(Выборка.НижняяПланка); й = й + 1; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
|
18
LivingStar
15.04.13
✎
09:15
|
что там запрос в цикле нужно делать?
|
|||
|
19
Cube
15.04.13
✎
09:16
|
(15) "почему нельзя при выводе строки"
Это запрос в цикле, к тому же, отрабатывает платформа его чаще, чем ПриПолученииДанных() |
|||
|
20
Cube
15.04.13
✎
09:17
|
(18) Не надо. Собери данные, сделай один запрос, обработай его результат.
|
|||
|
21
LivingStar
15.04.13
✎
09:20
|
(20) что мне передавать в этот параметр Запрос.УстановитьПараметр("КатегорияМагазина", Элемент.ТекущаяСтрока.Ссылка);
вижу что там всегда одна строка списка |
|||
|
22
Cube
15.04.13
✎
09:22
|
(21) Так ты посмотрел отладчиком, что есть у ОформленияСтрок? Там и данные строк есть вообще-то...
|
|||
|
23
LivingStar
15.04.13
✎
09:28
|
Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Й = 0; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.Период, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотОт, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотДо, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НижняяПланка |ИЗ | РегистрСведений.ИсторияОборотовПоКатегориямМагазинов.СрезПоследних(&Период, КатегорияМагазина = &КатегорияМагазина) КАК ИсторияОборотовПоКатегориямМагазиновСрезПоследних"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("КатегорияМагазина", ОформлениеСтроки.Данныестроки.Ссылка); Рез = Запрос.Выполнить(); Если Не Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Пока Выборка.Следующий() Цикл ОформленияСтрок[й].Ячейки.Период.УстановитьТекст(Выборка.Период); ОформленияСтрок[й].Ячейки.НедельныйОборотОт.УстановитьТекст(Выборка.НедельныйОборотОт); ОформленияСтрок[й].Ячейки.НедельныйОборотДо.УстановитьТекст(Выборка.НедельныйОборотДо); ОформленияСтрок[й].Ячейки.НижняяПланка.УстановитьТекст(Выборка.НижняяПланка); й = й + 1; КонецЦикла; КонецЕсли; КонецЦикла; |
|||
|
24
LivingStar
15.04.13
✎
09:29
|
(23+) что то сумбурно на вид, но результат выводит
|
|||
|
25
cw014
15.04.13
✎
09:30
|
Epic fail, рукалицо
|
|||
|
26
Cube
15.04.13
✎
09:30
|
(23) Расстрелять...
|
|||
|
27
cw014
15.04.13
✎
09:37
|
Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
СписокКатегорий = Новый Массив; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл СписокКатегорий.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.Период, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотОт, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НедельныйОборотДо, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.НижняяПланка, | ИсторияОборотовПоКатегориямМагазиновСрезПоследних.КатегорияМагазина |ИЗ | РегистрСведений.ИсторияОборотовПоКатегориямМагазинов.СрезПоследних(&Период, КатегорияМагазина В (&КатегорияМагазина)) КАК ИсторияОборотовПоКатегориямМагазиновСрезПоследних"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("КатегорияМагазина", СписокКатегорий); Таблицакатегорий = Запрос.Выполнить().Выгрузить(); Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл СтрокаТаблицы = Таблицакатегорий.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "КатегорияМагазина"); Если СтрокаТаблицы <> Неопределено тогда ОформлениеСтроки.Ячейки.Период.УстановитьТекст(Выборка.Период); ОформлениеСтроки.Ячейки.НедельныйОборотОт.УстановитьТекст(Выборка.НедельныйОборотОт); ОформлениеСтроки.Ячейки.НедельныйОборотДо.УстановитьТекст(Выборка.НедельныйОборотДо); ОформлениеСтроки.Ячейки.НижняяПланка.УстановитьТекст(Выборка.НижняяПланка); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
|
28
cw014
15.04.13
✎
09:38
|
С тебя 1000 р
|
|||
|
29
cw014
15.04.13
✎
09:52
|
Так нравится как ТС сразу линяет, как решение приходит. Игнорирует все сообщения дальше )))
|
|||
|
30
LivingStar
15.04.13
✎
09:54
|
да думаю над таблицей, слышал что не совсем правильно выгружать в таблицу результат запроса
|
|||
|
31
cw014
15.04.13
✎
10:10
|
Выгрузка в таблицу тут только для того, что бы не перебирать каждый раз запрос, а вести поиск по таблице
|
|||
|
32
Cube
15.04.13
✎
10:12
|
(30) Ну если хочешь кошерно, то вместо
СписокКатегорий = Новый Массив; делай СписокКатегорий = Новый ТаблицаЗначений; из двух колонок: "Порядок" и "Ссылка". Передавай эту таблицу в запрос (через временные таблицы), а уж в запросе отсортируй по полю "Порядок". Тогда порядоку строк в выборке будет таким же, как в ОформленияСтрок и пройти эту выборку можно будет за один проход. |
|||
|
33
cw014
15.04.13
✎
10:18
|
(32) Как вариант, только для ТС это сложно уже
|
|||
|
34
cw014
15.04.13
✎
10:18
|
(33) Только в любом случае два цикла будет
|
|||
|
35
cw014
15.04.13
✎
10:23
|
Показали рабочий б/м корректный вариант, нет... Теперь сидим, думаем...
(C) Садимся в кресло идей, думаем, думаем, дууумаеееем... (Blue's Clues) |
|||
|
36
cw014
15.04.13
✎
10:39
|
Куку, где моя тыща??? :)))))))
|
|||
|
37
cw014
15.04.13
✎
11:03
|
Тишина... :)
|
|||
|
38
Cube
15.04.13
✎
11:05
|
(36) Тариф на мисте 300 рублей)
|
|||
|
39
cw014
15.04.13
✎
11:20
|
(38) Это еще за предыдущие посты :)))
|
|||
|
40
cw014
15.04.13
✎
11:27
|
:))))))))))))0
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |