• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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)
 
Мы в соцсетях:

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