Имя: Пароль:
1C
1С v8
Запрос объединить сам с собой в цикле? Возможно?
🠗 (Волшебник 27.01.2020 12:08)
0 SkillUp
 
24.01.20
14:55
Здравствуйте, можно ли запроса объеденять сам с собой в цикле?

Т.Е.

Для СЧ =1 По 3 Цикл

1-ое обединение, 2-ое обединение ,3-е обединение. (3 раза)

КонецЦикла
1 eTmy
 
24.01.20
14:57
Можно всё
2 Ёпрст
 
24.01.20
14:57
(0) Пробуй, разрешаю.
3 SkillUp
 
24.01.20
14:58
(2) Лучше обясни как, как это в запросе сделать? Вот, что не понятно...
4 SkillUp
 
24.01.20
14:58
Пример хртяб...
5 SkillUp
 
24.01.20
14:59
Желательно на простом примере, чтоб понятно было.
6 Ёпрст
 
24.01.20
15:02
(5)
ТекстЗапроса = "Выбрать ""Вася"" как Федя";
Для к = 1 По 3 Цикл
  ТекстЗапроса  = ТекстЗапроса +" объединить все Выбрать ""Вася"""+к;
КонецЦикла;
7 SkillUp
 
24.01.20
15:04
(6) Все, спасибо!
8 Конструктор1С
 
25.01.20
07:28
СхемаЗапроса? Не, не слышал
9 Креатив
 
25.01.20
14:20
(0)Есть подозрение, что ТС занимается извращениями.
10 SkillUp
 
27.01.20
11:20
(8) Не понял, объясни...
11 fisher
 
27.01.20
11:27
(10) Есть такой объект во встроенном языке. Позволяет редактировать запрос как объект, а не как текст.
12 Конструктор1С
 
27.01.20
11:30
(10) с помощью схемы запроса можно программно склепать текст запроса
13 Sasha_H
 
27.01.20
12:05
(0) Хочется сильно понять для чего объединение запросов к одному тому же объекту счет. Чем не устраивает условие В(СписокСчетов)?
14 pechkin
 
27.01.20
12:08
(8) схему запроса наркоманы писали, текстом на порядки проще
15 SSSSS_AAAAA
 
27.01.20
12:12
(14) +100500
Пейсатели запросов в 1с и так плохо понимают с чем они работают, а тут еще и так всю устройство запрятали, что черт ногу сломит, а вторую вывихнет...
16 Конструктор1С
 
27.01.20
13:12
(14) ну не скажи. Когда нужно собрать запрос из кусков, или модифицировать сложный существующий, без схемы запроса лютая каша получается. Чего стоят хотя бы вот такие треши:

Пока Выборка.Следующий() Цикл
    Ресурсы = Ресурсы + "
    |,РегистрСведений." + Выборка.Ресурс;
    
    Если ПервыйЗапросОбъединения Тогда
        ПервыйЗапросОбъединения = Ложь;
        
        ТекстОбъединения = ТекстОбъединения + "ВЫБРАТЬ
        |    РегистрСведений.Объект,
        |    ПланВидовХарактеристик.Ссылка КАК Свойство,
        |    """ + Выборка.ИдентификаторИсточника + """ КАК ИдентификаторИсточника,
        |    РегистрСведений." + Выборка.Ресурс + " КАК Значение
        | ИЗ
        |    ВТ" + Выборка.ИмяРегистра + " КАК РегистрСведений
        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик." + ИмяПланаХарактеристик + " КАК ПланВидовХарактеристик
        |    ПО ПланВидовХарактеристик.Наименование = """ + Выборка.Наименование + """
        |    И ПланВидовХарактеристик.ИдентификаторИсточника = """ + Выборка.ИдентификаторИсточника + """";
    Иначе
        ТекстОбъединения = ТекстОбъединения + "
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        | ВЫБРАТЬ
        |    РегистрСведений.Объект,
        |    ПланВидовХарактеристик.Ссылка,
        |    """ + Выборка.ИдентификаторИсточника + """ КАК ИдентификаторИсточника,
        |    РегистрСведений." + Выборка.Ресурс + "
        | ИЗ
        |    ВТ" + Выборка.ИмяРегистра + " КАК РегистрСведений
        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик." + ИмяПланаХарактеристик + " КАК ПланВидовХарактеристик
        |    ПО ПланВидовХарактеристик.Наименование = """ + Выборка.Наименование + """
        |    И ПланВидовХарактеристик.ИдентификаторИсточника = """ + Выборка.ИдентификаторИсточника + """";
    КонецЕсли;
КонецЦикла;

Если схему запроса использует не рукожоп, который всё запихнул в одну монстрофункцию, то со схемой запроса получается на порядок проще
17 Конструктор1С
 
27.01.20
13:17
+(16) это ещё более-менее пример, а встречаются вообще содомитские проделки