• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Периодический реквизит справочника

  • Автор темы AlexeyMir
  • Дата начала
A

AlexeyMir

Подскажите пожалуйста, есть спровочник ТМЦ, у каждого ТМЦ есть розничная цена(периодический реквизит), сегодня ее изменили, как мне узнать все ТМЦ у которых сегодня поменялась розничная цена?
 
V

vitfil

Получить цену на сегодняшнюю дату и на вчерашнюю и сравнить.
 
P

Pro

если номенклатура большая, imho будет долго работать...
а если за день поменяли несколько раз?
 
V

vitfil

Для: Pro
Если за день меняли несколько раз (т.е. документами, насколько я понимаю) или номенклатура большая, то для ускорения можно использовать прямой запрос к базе.
В любом случае, для получения для всей номенклатуры цен кроме прямого перебора придумать что-то более быстрое сложно.
 
A

AlexeyMir

Номенклатуры действительно много(~12тыс). Подскажите как примерно вытянуть данные из справочника ТМЦ по цене за определенную дату? у меня SQL-база.
 
V

vitfil

12 тыс - это не много.
Как вытянуть?
1. Прямой перебор.
2. Сформировать запрос по справочнику, с использованием языка запросов 1С.
3. Сформировать запрос к базе данных с использованием прямого доступа к данным (например, через 1С++ или же через ADO).
Выбирайте, что вам ближе и доступней.
Если это разовая необходимость, ИМХО прямым перебором.
 
P

Pro

Для: vitfil
в свое время использовал перебор через Периодичее реквизиты работало быстрее, но это на файловой 1С, на SQL конечно будет быстрее прямой доступ
 
A

AlexeyMir

Подскажите, я так понял мне нужно в одном запросе сравнить по каждой номенклатуре периодический реквизит (розничная цена)за две даты вчерашнюю и сегодняшнюю, чтобы выяснить ТМЦ с сегодня измененной ценой
Я попробовал след запрос:

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Номенклатура = Справочник.ТМЦ.ТекущийЭлемент;
|Цена_Розн = Справочник.ТМЦ.Цена_Розн;
|Группировка Номенклатура все;
|"//}}ЗАПРОС


Как мне реализовать примено такое:
|Цена_Розн = Справочник.ТМЦ.Цена_Розн.Получить(ТекщаяДата())
|Цена_Розн_Стар = Справочник.ТМЦ.Цена_Розн.Получить(ТекщаяДата()-1)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!