| 
    
            
         
         | 
    
  | 
SQL запрос внутри стандартного запроса. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        deadpuma    
     03.12.12 
            ✎
    13:59 
 | 
         
        можно ли в внутри запроса, который встроен в схему компоновки данных вставить запрос из SQL. мне надо достать поле оттуда и вставить в макет. т.е. по некоторому реквизиту документа из SQL достается нужное значение     
         | 
|||
| 
    1
    
        mikecool    
     03.12.12 
            ✎
    14:02 
 | 
         
        если из левой базы - оформляй внешний источник данных
  
        иначе - все равно можно  | 
|||
| 
    2
    
        deadpuma    
     03.12.12 
            ✎
    14:09 
 | 
         
        в смысле из левой базы?     
         | 
|||
| 
    3
    
        Maxus43    
     03.12.12 
            ✎
    14:10 
 | 
         
        что мешает достать всё что надо в СКД? смысл что-то тягать напрямую из скуля или что надо вобще?     
         | 
|||
| 
    4
    
        mikecool    
     03.12.12 
            ✎
    14:11 
 | 
         
        (2) а ты как понимаешь свой топик?     
         | 
|||
| 
    5
    
        МишКа    
     03.12.12 
            ✎
    14:12 
 | 
         
        (0) В чем, по-твоему, отличие языка запросов 1С от SQL?     
         | 
|||
| 
    6
    
        deadpuma    
     03.12.12 
            ✎
    14:14 
 | 
         
        (5) я знаю что одно и то же просто мало ли
  
        вот такой запрос надо вставить SELECT code from DB.dbo.zzdlg_F_T_OrderCodePerNumber(18,'"+пНомерЗаказа+"') где пНомерЗаказа - это реквизит документа  | 
|||
| 
    7
    
        Maxus43    
     03.12.12 
            ✎
    14:16 
 | 
         
        что это за название таблиц? база не 1с же     
         | 
|||
| 
    8
    
        deadpuma    
     03.12.12 
            ✎
    14:17 
 | 
         
        просто в коде когда я этот запрос выполняю, я предварительно открываю соединение ADO и т.п. а в запрос если вставить ошибок не будет?     
         | 
|||
| 
    9
    
        deadpuma    
     03.12.12 
            ✎
    14:18 
 | 
         
        (7) база SQL     
         | 
|||
| 
    10
    
        МишКа    
     03.12.12 
            ✎
    14:18 
 | 
         
        (8) Будет.     
         | 
|||
| 
    11
    
        Maxus43    
     03.12.12 
            ✎
    14:18 
 | 
         
        (9) в базе 1с на sql нет таких таблиц     
         | 
|||
| 
    12
    
        МишКа    
     03.12.12 
            ✎
    14:22 
 | 
         
        (8) Используй внешний источник данных. Это и будет тебе соединением.
  
        +Синтаксис языка запросов 1С ограничен, по сравнению со стандартным SQL. Некоторые вещи не прокатят.  | 
|||
| 
    13
    
        deadpuma    
     03.12.12 
            ✎
    14:24 
 | 
         
        (11) вы наверное не так поняли, этот запрос я делаю из 1с, а база в SQL     
         | 
|||
| 
    14
    
        deadpuma    
     03.12.12 
            ✎
    14:25 
 | 
         
        (12) не совсем понятно можно по подробнее     
         | 
|||
| 
    15
    
        shuhard    
     03.12.12 
            ✎
    14:26 
 | 
         
        (13) это ты нас не понял     
         | 
|||
| 
    16
    
        Maxus43    
     03.12.12 
            ✎
    14:26 
 | 
         
        (13) нормально я понял, я говорю что нет у 1с в скуле таких таблиц) и потому требую правды - что это за таблица в скуле?     
         | 
|||
| 
    17
    
        Maxus43    
     03.12.12 
            ✎
    14:27 
 | 
         
        (16) + точнее - что за база, к которой ты делаешь запрос.
  
        Делай (1), внешний источник, ибо база наверняка левая  | 
|||
| 
    18
    
        deadpuma    
     03.12.12 
            ✎
    14:29 
 | 
         
        (16) как понять, что это за таблица? я доступ в SQL Management Studio не имею поэтому ничего не могу сказать     
         | 
|||
| 
    19
    
        Maxus43    
     03.12.12 
            ✎
    14:30 
 | 
         
        (18) покажи обработку из (8), насчет соединения ADO     
         | 
|||
| 
    20
    
        МишКа    
     03.12.12 
            ✎
    14:31 
 | 
         
        (14) Открываешь Конфигуратор, находишь раздел внешние источники данных. А ты как думал?     
         | 
|||
| 
    21
    
        deadpuma    
     03.12.12 
            ✎
    14:32 
 | 
         
        (19) вот
  
        Если пструкНастройки.масADO.Количество()>0 Тогда //Возьмем первое попавшееся подключение лструкАДО = пструкНастройки.масADO[1]; лсЗапрос = "SELECT code from DLG.dbo.zzdlg_F_T_OrderCodePerNumber(18,'"+пНомерЗаказа+"')"; бтADO.ОткрытьНаборДанных(лструкАДО,лсЗапрос); лтзНайденныйКод = бтADO.ВыгрузитьНаборДанных(лструкАДО); КонецЕсли; Возврат лтзНайденныйКод[0].code;  | 
|||
| 
    22
    
        deadpuma    
     03.12.12 
            ✎
    14:32 
 | 
         
        (20) я не как не думал, т.к. никогда этого не делал!     
         | 
|||
| 
    23
    
        Maxus43    
     03.12.12 
            ✎
    14:33 
 | 
         
        (21) тут мало, смотри "бтADO" - строку соединения, во внешних источниках данных так же прописывай     
         | 
|||
| 
    24
    
        milan    
     03.12.12 
            ✎
    14:35 
 | 
         
        левое соединение с таблицей из внешнего источника наверное в самый раз будет     
         | 
|||
| 
    25
    
        deadpuma    
     03.12.12 
            ✎
    14:35 
 | 
         
        я что-то в конфигураторе не могу найти внешний источник данных     
         | 
|||
| 
    26
    
        Maxus43    
     03.12.12 
            ✎
    14:38 
 | 
         
        (25) в корне, в самом низу     
         | 
|||
| 
    27
    
        Maxus43    
     03.12.12 
            ✎
    14:39 
 | 
         
        можешь конечно извращённо, код обработки в общий модуль, и вызывай его из СКД в вычисляемых полях. долго будет правда     
         | 
|||
| 
    28
    
        deadpuma    
     03.12.12 
            ✎
    14:39 
 | 
         
        (26) нету такого, последнее Задачи и все. конфа Комплексная 8.2 - нетиповая     
         | 
|||
| 
    29
    
        sapphire    
     03.12.12 
            ✎
    14:40 
 | 
         
        (0) Можно, только погано выглядеть будет.
  
        Можно написать функцию, которая возвращает результат запроса SQL и использовать её в вычисляемых полях  | 
|||
| 
    30
    
        Maxus43    
     03.12.12 
            ✎
    14:41 
 | 
         
        (28) стряхни пыль с платформы, и поставь новую) что за платформа то?     
         | 
|||
| 
    31
    
        deadpuma    
     03.12.12 
            ✎
    14:44 
 | 
         
        (29) у меня есть функция ПолучитьПравильныйНомерЗаказа (пНомерЗаказа, пСтрукНастройки) 
  
        как ее вызывать тогда? (30) 8.2.15.289  | 
|||
| 
    32
    
        Maxus43    
     03.12.12 
            ✎
    14:45 
 | 
         
        (31) у всех есть, у тебя нет. нуну...     
         | 
|||
| 
    33
    
        Maxus43    
     03.12.12 
            ✎
    14:45 
 | 
         
        (31) в вычисляемых полях.
  
        ИмяМодуля.ПолучитьПравильныйНомерЗаказа (пНомерЗаказа, пСтрукНастройки)  | 
|||
| 
    34
    
        deadpuma    
     03.12.12 
            ✎
    14:51 
 | 
         
        (33) а в поле Выражение что ставить?     
         | 
|||
| 
    35
    
        Maxus43    
     03.12.12 
            ✎
    14:51 
 | 
         
        (34)>(33) это и писать. Функция должна быть в общем модуле, Экспортная.     
         | 
|||
| 
    36
    
        deadpuma    
     03.12.12 
            ✎
    14:54 
 | 
         
        (35) у меня эта функция в обработке находится- ничего? а в поле Путь к данным что указывать?     
         | 
|||
| 
    37
    
        sapphire    
     03.12.12 
            ✎
    14:55 
 | 
         
        (36) Да уж... ты читать умеешь?!
  
        Функция должна быть в общем модуле, Экспортная.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |