|
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) но иметь-то надо :)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший