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

Тема в разделе "1C и всё что с ней связано", создана пользователем AlexeyMir, 30 янв 2007.

  1. AlexeyMir

    AlexeyMir Гость

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

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Получить цену на сегодняшнюю дату и на вчерашнюю и сравнить.
     
  3. Pro

    Pro Гость

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

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Для: Pro
    Если за день меняли несколько раз (т.е. документами, насколько я понимаю) или номенклатура большая, то для ускорения можно использовать прямой запрос к базе.
    В любом случае, для получения для всей номенклатуры цен кроме прямого перебора придумать что-то более быстрое сложно.
     
  5. AlexeyMir

    AlexeyMir Гость

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

    vitfil IT-интегратор

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

    Pro Гость

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

    AlexeyMir Гость

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

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


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

Поделиться этой страницей