|   |   | 
| 
 | Запрос. Связанные документы | ☑ | ||
|---|---|---|---|---|
| 0
    
        dlogius naïve 14.08.24✎ 07:08 | 
        Необходимо получить табличку с 2 полями:
 1. Документ Заявка. 2. Документ, который создан на основании Заявки (РеализацияТоваровУслуг). Вот такой запрос: ВЫБРАТЬ СвязанныеДокументы.Ссылка, СвязанныеДокументы.Ссылка.Номер, ИЗ КритерийОтбора.СвязанныеДокументы(&Док) КАК СвязанныеДокументы Выдает подчиненные документы ОДНОЙ конкретной заявки, указанной в параметре. Как сформировать запрос, чтобы получить табличку за период где будут Заявка1 - Реализация1 Заявка2 - Реализация2 -- - --- ?? | |||
| 1
    
        steep1 14.08.24✎ 07:41 | 
        (0) запрос в цикле     | |||
| 2
    
        Pprog151713 14.08.24✎ 07:42 | 
        "ВЫБРАТЬ
 | РеализацияТоваровУслуг.ДокументОснование КАК Заявка, | РеализацияТоваровУслуг.Ссылка КАК Ссылка |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг" | |||
| 3
    
        Stepashkin 14.08.24✎ 07:58 | 
        (1) Запрос в цикле - неимоверное зло!     | |||
| 4
    
        dlogius naïve 14.08.24✎ 08:03 | 
        (2) Пытался я ходить таким способом, но, почему-то, моя конфа не принимает поле "ДокументОснование"
 Выскакивает ошибка. {(2, 10)}: Поле не найдено "РеализацияТоваровУслуг.ДокументОснование" <<?>>РеализацияТоваровУслуг.ДокументОснование КАК Заявка, | |||
| 5
    
        dlogius naïve 14.08.24✎ 08:04 | 
        (1) (3)     | |||
| 6
    
        Ненавижу 1С гуру 14.08.24✎ 08:09 | 
        (4) отсюда не видно как поле называется правильно, а из критерия отбора можно посмотреть и поправить в запросе     | |||
| 7
    
        dlogius naïve 14.08.24✎ 08:21 | 
        (6) Все названия полей не набраны руками, взяты из конструктора запросов. Что можно посмотреть в КритерииОтбора?     | |||
| 8
    
        Ненавижу 1С гуру 14.08.24✎ 08:24 | 
        (7) да-да, в конструкторе запросов и "Поле не найдено"
 в критерии отбора нужно смотреть по какому полю связаны реализация и заявка | |||
| 9
    
        toypaul гуру 14.08.24✎ 08:27 | 
        (3) ну типовой отчет структура подчиненности так и работает.
 поэтому в своем (подобном) отчете делал не через критерий отбора | |||
| 10
    
        d4rkmesa 14.08.24✎ 08:36 | 
        (0) Никак, критерий отбора так не работает, сделайте тупо запрос по заказам с соединением.     | |||
| 11
    
        dlogius naïve 14.08.24✎ 08:37 | 
        (8) Именно конструктор запросов выдает эту ошибку.
 Вызываю КЗ Выбираю док РеализацияТоваровУслуг и одно поле ссылка, ручками в окне запроса добавляю строку: РеализацияТоваровУслуг.ДокументОснование КАК Заявка Получается такой запрос: ВЫБРАТЬ РеализацияТоваровУслуг.Ссылка, РеализацияТоваровУслуг.ДокументОснование КАК Заявка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг Нажимаю сохранить и получаю вышеуказанную ошибку. Я просмотрел все реквизиты документа и не только этого. Ничего хотябы созвучного или похожего на "ДокументОснование" не обнаружил. Я не знаю как сюда можно поместить снимок с экрана ,а то бы показал. | |||
| 12
    
        dlogius naïve 14.08.24✎ 08:40 | 
        (10) А можно поподробнее, как их соединить?
 Вот сюда: КритерийОтбора.СвязанныеДокументы(&Док) кроме параметра ничего не вставляется. Как сюда вставить ссылку на заявку? | |||
| 13
    
        Chameleon1980 14.08.24✎ 08:40 | 
        (11) ну посмотрите уже структуру данных в конфигураторе     | |||
| 14
    
        Мультук гуру 14.08.24✎ 08:43 | 
        (11) 
 1) Наименование и версия вашей конфы ? (чтобы было) 2) Вы называете заявкой документ "РеализацияТоваровУслуг" ? | |||
| 15
    
        dlogius naïve 14.08.24✎ 08:44 | 
        (13) Что посмотреть? Вы считаете эту фразу помощью?     | |||
| 16
    
        Pprog151713 14.08.24✎ 08:47 | 
        (15) Так мы не можем помочь человеку, который не знает, что такое структура данных в конфигураторе.)))     | |||
| 17
    
        dlogius naïve 14.08.24✎ 08:48 | 
        (14) " Вы называете заявкой документ "РеализацияТоваровУслуг" ?"
 Нет. Есть заявка. Конкретная ссылка на конкретную заявку подставляется в параметр &Док. И есть документ "РеализацияТоваровУслуг" ,который создается на основании Заявки. Если это что-то даст: Комплексная автоматизация, редакция 1.0 (1.0.16.1) ( http://v8.1c.ru/ka/ ) Copyright (С) ООО "1C", 2009-2011. Все права защищены ( http://www.1c.ru/ ) | |||
| 18
    
        Pprog151713 14.08.24✎ 08:48 | 
        Тебе на курсы надо к Фабриканту.     | |||
| 19
    
        Pprog151713 14.08.24✎ 08:50 | 
        Интервью «Бум в доходах: какие 1Сники стоят 500к+?» состоялся: смотрим запись! Вот запишись к нему.     | |||
| 20
    
        dlogius naïve 14.08.24✎ 08:51 | 
        (16) Я прекрасно знаю что такое структура данных в конфигураторе. Просто подскажите в какое место этой структуры посмотреть. А то ваши ответы похожи на: "Ну, так глянь в энциклопедию".     | |||
| 21
    
        dlogius naïve 14.08.24✎ 08:53 | 
        Уважаемый, Pprog151713, если Вы не знаете ничего по этому вопросу или не хотите помочь, зачем пишете банальности?     | |||
| 22
    
        Pprog151713 14.08.24✎ 08:54 | 
        В реализацию. ) В какое место)) Вы шутник. Ха.     | |||
| 23
    
        Ненавижу 1С гуру 14.08.24✎ 08:56 | 
        (17) Как документ "заявка" в конфигураторе называется? хватит "оленить". 
 То что в запросе ручками написали ересь, это не значит, что использовали конструктор | |||
| 24
    
        Мимохожий Однако 14.08.24✎ 08:58 | 
        (0) В типовой конфигурации есть одноименная обработка по связанным документам. Самое очевидное - взять код из неё. Всё уже давно придумано. © "Доступно и всерьез" - 1С     | |||
| 25
    
        dlogius naïve 14.08.24✎ 08:59 | 
        Так и назывется. "ЗАЯВКА". Синоним "Заявка покупателя", по всей видимости введен ручками.     | |||
| 26
    
        dlogius naïve 14.08.24✎ 09:01 | 
        (24) Есть. Хотелось бы запросом. Было бы красивее.     | |||
| 27
    
        Ненавижу 1С гуру 14.08.24✎ 09:02 | 
        (25) это самописный велосипед что-ли?     | |||
| 28
    
        dlogius naïve 14.08.24✎ 09:04 | 
        (24) Да, и в той обработке тоже выдается список документов привязанных к одному, конкретному документу.
 Можно сделать цикл и получить желаемую табличку, но как уже сказано: "цикл - это зло" )). Запросом было бы интереснее и красивее. | |||
| 29
    
        dlogius naïve 14.08.24✎ 09:05 | 
        (27) Нет. Но это для производства, написано на заказ.     | |||
| 30
    
        Stepashkin 14.08.24✎ 09:12 | 
        (28) Не искажайте сказанное "Запросы в цикле - зло". Делаете запрос, потом выгружаете результат в ТабЗнач, а потом обходите ТабЗнач в цикле, получая для каждого документа основания все подчиненнные документы. А проще реализовать посредством объектной техники: МассивПодчиненныхДокументов = КритерииОтбора.СвязанныеДокументы.Найти(ДокументОбъект.Ссылка); И обходите массив в цикле и получаете, что хотите.     | |||
| 31
    
        dlogius naïve 14.08.24✎ 09:23 | 
        (30)  "Делаете запрос, потом выгружаете результат в ТабЗнач,"
 Я именно этого и хочу, но не знаю как сформулировать запрос. Запрос: ВЫБРАТЬ СвязанныеДокументы.Ссылка, СвязанныеДокументы.Ссылка.Номер, ИЗ КритерийОтбора.СвязанныеДокументы(&Док) КАК СвязанныеДокументы Работает и прекрасно выдает все подчиненные документы для конкретного документа, указанного в параметре &Док. Можно выбрать другим запросом, например, все документы &Док за период и потом пройтись циклом и для каждого выполнить запрос подставляя параметр. Но так и получится "Запросы в цикле - зло". PS Кстати документ "РеализацияТоваровУслуг" обозвал заявкой не я, а ув. Pprog151713 в посте №2 "РеализацияТоваровУслуг.ДокументОснование КАК Заявка," | |||
| 32
    
        dlogius naïve 14.08.24✎ 09:31 | 
        Я копал в инете и много раз сталкивался с рекомендацией использовать поле "ДокументОснование" у документа.
 Но в моей конфигурации у документов не подобных полей. Поэтому я нашел способ через КритерииОтбора. | |||
| 33
    
        Тихий омут 14.08.24✎ 09:33 | 
        (0) Можно два оффтопик вопроса, не по теме?     | |||
| 34
    
        dlogius naïve 14.08.24✎ 09:42 | 
        Пожалуйста.     | |||
| 35
    
        Мультук гуру 14.08.24✎ 09:45 | 
        (31) 
 Ура. к 31 посту мы выяснили, что есть два документа: "Заявка" "РеализацияТоваровУслуг" Нужно узнать по какому реквизиту они связаны Это можно посмотреть в конфигураторе в КритерийОтбора.СвязанныеДокументы ИЛИ Ищем в конфигураторе документ "Заявка" Нажимаем правой кнопкой, выбраем "Поиск ссылок на объект" 1С думает и выдаёт что-то вроде этого == Пример из ЕРП. Связь "ЗаказКлиента" и "РеализацияТоваровУслуг" Документ.РеализацияТоваровУслуг.Реквизит.ЗаказКлиента.Тип Документ.РеализацияТоваровУслуг.ТабличнаяЧасть.Товары.Реквизит.ЗаказКлиента.Тип Документ.РеализацияТоваровУслуг.ТабличнаяЧасть.ВидыЗапасов.Реквизит.ЗаказКлиента.Тип Документ.РеализацияТоваровУслуг.ТабличнаяЧасть.ЭтапыГрафикаОплаты.Реквизит.Заказ.Тип == Смотрим думаем. | |||
| 36
    
        dlogius naïve 14.08.24✎ 09:54 | 
        (35) Искал. 
 Я, конечно, не супер-пупер гуру программирования, но опыт 15 летний в работе с БД имею. 3+ года с 1С. Простейшие вещи я понимаю. Нет в этих документах связывающих реквизитов. Вообще в данной мне конфигурации нет много чего привычного. Кривой способ решить мою задачу я знаю. Думал кто-то предложит более изящное решение. 😒 | |||
| 37
    
        АгентБезопасной Нацио 14.08.24✎ 09:58 | 
        (36) >Искал
 И что нашел? | |||
| 38
    
        maxab72 14.08.24✎ 10:01 | 
        "Нет в этих документах связывающих реквизитов" А как тогда они связаны в критерии отбора? По какому полю?     | |||
| 39
    
        Мультук гуру 14.08.24✎ 10:05 | 
        (36) 
 >>но опыт 15 летний в работе с БД имею. 3+ года с 1С. Да хоть член партии с 1905 года >> Нет в этих документах связывающих реквизитов Тогда как работает КритерийОтбора.СвязанныеДокументы(&Док) ? Имхо он по другому никак работать не умеет. Иногда {нехорошие люди} создают РТУ и засовывают ссылку на созданные РТУ в "Заявка". В реквизит документа "Заявка" или в какую-нибудь его таб.часть. | |||
| 40
    
        АгентБезопасной Нацио 14.08.24✎ 10:19 | 
        (39) Рабинович, вы член партии? - нееет, я ее мозг!©
 (36) вот описание приннципов рабоы критерия отбора: https://infostart.ru/1c/articles/401743/ так что вы или не видите, или не понимаете, или врете... позовите программиста!©. | |||
| 41
    
        GANR 14.08.24✎ 10:32 | 
        (3) Как правило - зло, но это - исключение. В 1С, к сожалению, не сделали рекурсивные запросы, насколько мне известно.
 Иногда лучше запрос в цикле, чем в огромную таблицу значений или выборку выгружать все данные какие только есть, а это порой миллионы строк и в ней всё перебирать. Из двух зол выбираем меньшее. | |||
| 42
    
        maxab72 14.08.24✎ 10:43 | 
        (39) "В реквизит документа "Заявка" или в какую-нибудь его таб.часть." Но это ведь и есть связь между документами через реквизит. Мало ли что связь типа один-один, а не один-много.  А в (36) утверждается, что вообще нет связывающих реквизитов.     | |||
| 43
    
        Stepashkin 14.08.24✎ 11:15 | 
        (41) Ну это когда нужно быстро сделать неэффективно с точки зрения производительности. Я вас понимаю. Переделывал я однажды процедуру в которой в цикле был запрос. Замерял производительность. Вынос запроса из цикла оказался быстрее, даже несмотря на 4000 строк, из которых делалась выборка.     | |||
| 44
    
        Stepashkin 14.08.24✎ 11:16 | 
        (40) "Рабинович, вы член партии? - нееет, я ее мозг!©" 👍     | |||
| 45
    
        dlogius naïve 14.08.24✎ 11:51 | 
        (40) "вот описание приннципов рабоы критерия отбора: https://infostart.ru/1c/articles/401743/"
 Спасибо. | |||
| 46
    
        dlogius naïve 14.08.24✎ 11:57 | 
        "Особенностью (преимуществом) критерия отбора является то, что он может строиться в том числе по реквизирам табличных частей. Таким образом мы можем очень просто настроить отбор так, чтобы в его результат попадали лишь те документы, в табличной части которых есть интересующий нас элемент."
 Вот, в табличные части я и не смотрел. Там есть реквизит "ЗаявкаПокупателя." Значит для моей задачи критерииОтбора не нужны. | |||
| 47
    
        Мимохожий Однако 14.08.24✎ 12:17 | 
        (28) Подозреваю, что ты не заглядывал в эту обработку     | |||
| 48
    
        АгентБезопасной Нацио 14.08.24✎ 13:09 | 
        (46) ч.т.д.©     | |||
| 49
    
        Ненавижу 1С гуру 15.08.24✎ 06:50 | 
        (46) ну наконец-то ты включил мозг     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |