Имя: Пароль:
1C
1С v8
Помогите с запросом.
0 imtade2
 
13.07.12
15:52
Есть РС "Скидки". Измерения: Контрагент, Группа. Ресурсы: Скидка.
Группа может принимать значение как номенклатуры явно, так и группы справочника номенклатуры. Чем ниже уровень папки, тем приоритетнее скидка. Т.е. если иерархия папок ПапкаА(скидка 10%)-ПапкаБ(НетСкидки)-ПапкаС(Скидка 5%), то на все элементы ПапкиС скидка будет 5%. На все остальные элементы ПапкиА в иерархии - 10%.
Надо вытащить все скидки контрагентов и вывести в хмл формата:
<КоммерческаяИнформация ВерсияСхемы="2.03" ДатаФормирования="2012-07-02">
               <Товары>
                              <Товар>
                                              <Ид>00d2948f-f3ca-11de-b21c-00226406b94e</Ид>
                                              <Контрагенты>
                                                              <Контрагент>
                                                                             <Логин>develop</Логин>
                                                                             <НоваяЦена>600</НоваяЦена>
                                                              </Контрагент>
                                                              <Контрагент>
                                                                             <Логин>admin</Логин>
                                                                             <НоваяЦена>500</НоваяЦена>
                                                              </Контрагент>
                                              </Контрагенты>
                              </Товар>
                              <Товар>
                                              <Ид>00d2948f-f3ca-11de-b21c-00226406b94f</Ид>
                                              <Контрагенты>
                                                              <Контрагент>
                                                                             <Логин>develop</Логин>
                                                                             <НоваяЦена>6055</НоваяЦена>
                                                              </Контрагент>
                                                              <Контрагент>
                                                                             <Логин>admin</Логин>
                                                                             <НоваяЦена>6000</НоваяЦена>
                                                              </Контрагент>
                                              </Контрагенты>
                              </Товар>
               </Товары>
</КоммерческаяИнформация>
1 imtade2
 
13.07.12
15:53
+ там еще мелочи типа соединения с ценами и отбором только по тем папкам, которые помечены галкой (выгружать). но это мелочи.
2 andrewks
 
13.07.12
15:54
какой бюджет?
3 imtade2
 
13.07.12
15:55
вопрос можно ли это сделать запросом?
у меня сейчас работает так: получаем запросом всю номенклатуру и всех контрагентов с логинами. В цикле получаем скидки и цены.
Позиций 30000шт.
Для 4 контрагентов. Время выгрузки: 40 минут.
Хочется быстрее.
4 imtade2
 
13.07.12
15:55
(2) никакого.
5 gosn1ck
 
13.07.12
15:55
(0) когда пишут "помогите с запросом" обычно запрос пишут
6 andrewks
 
13.07.12
15:56
(4) странно. ТЗ есть, а бюджета нет. непорядок
7 МихаилМ
 
13.07.12
16:37
получить данные одним запросом можно при условии
известности количества уровней иерархии . хотя бы примерного

в этом случае можно размернуть иерархию групп по столбцам (LEFT JOIN himself LEFT JOIN targetTable )

и сравнить поля в нужном приоритете полей.

 

--------------------------------

проблема стара
универсальная иерархаческая модель 1с
прохо подходит для использованияв рсубд.

сответственно советую оказаться от не реляционных механизмов,

основанных на алгоритмах и домыслах проектировщиков.

и хранить информацию о скидках в явном виде для каждого конечного элемента иерархии.

и обновлять информацию при записи (изменении иерархии)
каскадно.

+
создать 2 РС
исторические данные и актуальные.
если исторические невозможно получить иными путями.


ЛИБО использовать альтернативные способы моделирования иерархии

http://www.rsdn.ru/article/db/Hierarchy.xml