|
v7: Периодические реквизиты | ☑ | ||
---|---|---|---|---|
0
MistaEr
02.07.15
✎
14:09
|
Здравствуйте!
ТиС. Нужно отобрать только те номенклатуры, у которых сегодня была изменена цена. |
|||
1
Абыр
02.07.15
✎
14:14
|
прямой запрос к 1sconst с отбором по ID и дате
|
|||
2
palpetrovich
02.07.15
✎
14:15
|
(1) сурово :)
|
|||
3
Alexor
02.07.15
✎
14:16
|
(0) Отбирайте.
|
|||
4
DCKiller
02.07.15
✎
14:16
|
СпНом = СоздатьОбъект("СписокЗначений");
Спр = СоздатьОбъект("Справочник.Номенклатура"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл История = СоздатьОбъект("Периодический"); История.ИспользоватьОбъект("Цена", Спр.ТекущийЭлемент()); История.ВыбратьЗначения(); Пока История.ПолучитьЗначение() = 1 Цикл Если История.ДатаЗнач = ТекущаяДата() Тогда СпНом.ДобавитьЗначение(Спр.ТекущийЭлемент()); Прервать; КонецЕсли; КонецЦикла; КонецЦикла; как-то так, если штатно. |
|||
5
Абыр
02.07.15
✎
14:20
|
(4) Если штатно, то лучше использовать
НайтиЗначение(<Дата>,<Режим>) если нужно за конкретную дату. Если за период, то в ВыбратьЗначения() задавать границы |
|||
6
MistaEr
02.07.15
✎
14:33
|
Это обходить каждую номенклатуру, да еще каждую подчиненную цену
|
|||
7
Абыр
02.07.15
✎
14:38
|
(6) тогда (1)
|
|||
8
Mikeware
02.07.15
✎
14:39
|
(6) тогда - как в (1)
|
|||
9
MistaEr
02.07.15
✎
14:45
|
Всем спасибо!
Вот так сделаю: ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Ном", "Справочник.Номенклатура"); История = СоздатьОбъект("Периодический"); Цены = СоздатьОбъект("Справочник.Цены"); Спр = СоздатьОбъект("Справочник.Номенклатура"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Цены.ИспользоватьВладельца(Спр.ТекущийЭлемент()); Цены.ВыбратьЭлементы(); Пока Цены.ПолучитьЭлемент() = 1 Цикл История.ИспользоватьОбъект("Цена", Цены.ТекущийЭлемент()); Если История.НайтиЗначение(ТекущаяДата(), 0) = 1 Тогда ТЗ.НоваяСтрока(); ТЗ.Ном = Спр.ТекущийЭлемент(); Прервать; КонецЕсли; КонецЦикла; КонецЦикла; ТЗ.Свернуть("Ном", ""); ТЗ.Сортировать("Ном"); |
|||
10
sapphire
02.07.15
✎
14:49
|
(9) Ужастно, да и бестолково.
автор (1) обшолютна прав. |
|||
11
MistaEr
02.07.15
✎
14:55
|
(10) Да понимаю что так, но для этого нужно регистрировать dll-ки разные, которые на это компе пойдут, на другом уже нет. Да и вникать надо в эти прямые запросы. Все не могу уговорить перейти на 8.
|
|||
12
Ёпрст
02.07.15
✎
15:14
|
(11) ничего не надо регистрировать, если че.
|
|||
13
palpetrovich
02.07.15
✎
15:20
|
(12) но иметь-то надо :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |