| 
    
        
     
     | 
    
  | 
v8: Ошибка при выводе данных из запроса | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        aydarik    
     25.09.13 
            ✎
    12:06 
 | 
         
        Запрос = Новый Запрос( "ВЫБРАТЬ
 
        | ФИОФизЛиц.Фамилия, | ФИОФизЛиц.Имя, | ФИОФизЛиц.Отчество |ИЗ | РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц |ГДЕ | ФИОФизЛиц.ФизЛицо.Код = &Код"); Запрос.Параметры.Вставить("Код", ТабельныйНомер); Результат = Запрос.Выполнить(); НаборКолонок = Результат.Колонки; Выборка= Результат.Выбрать(); Почему выборка по данному запросу пустая? Параметр табельный номер точно передается в запрос.  | 
|||
| 
    1
    
        Kreont    
     25.09.13 
            ✎
    12:09 
 | 
         
        табельный номер <> коду физ.лиц     
         | 
|||
| 
    2
    
        bard666    
     25.09.13 
            ✎
    12:10 
 | 
         
        Согласен с (1). Или
 
        Попробуй Запрос.Параметры.Вставить("Код", СокрЛП(ТабельныйНомер)); по старинке Запрос.УстановитьПараметр("Код", СокрЛП(ТабельныйНомер));  | 
|||
| 
    3
    
        aydarik    
     25.09.13 
            ✎
    12:12 
 | 
         
        ТабельныйНомер =СокрЛп(стр.Сотрудник.Код);  Изначально.     
         | 
|||
| 
    4
    
        aydarik    
     25.09.13 
            ✎
    12:13 
 | 
         
        Хотелось бы узнать. Сама по себе идея верная?     
         | 
|||
| 
    5
    
        echo77    
     25.09.13 
            ✎
    12:16 
 | 
         
        () +1 (1) 
 
        табельный номер <> коду физ.лиц Ты пытаешься искать по значению поля Сотрудники.Код среди значений поля ФизЛица.Код понятно?  | 
|||
| 
    6
    
        Cyberhawk    
     25.09.13 
            ✎
    12:18 
 | 
         
        Выборка пустая, потому что нет в коде Выборка.Следующий()     
         | 
|||
| 
    7
    
        Cyberhawk    
     25.09.13 
            ✎
    12:19 
 | 
         
        +(6) возьму свои слова обратно, если автор определил пустоту выборки через Выборка.Количество()     
         | 
|||
| 
    8
    
        aydarik    
     25.09.13 
            ✎
    12:26 
 | 
         
        Выборка.Количество()    = 0. Вопрос как - раз  в том, почему она пустая     
         | 
|||
| 
    9
    
        aydarik    
     25.09.13 
            ✎
    12:27 
 | 
         
        (5) несовсем     
         | 
|||
| 
    10
    
        aydarik    
     25.09.13 
            ✎
    12:45 
 | 
         
        Идея вообще заключается в том, чтобы отдельно выписать ресурсы Фамилия, Имя, Отчество --- хранятся в регистре сведений ФИОФизЛиц по коду, код получаем из справочника сотрудников по ФИО в текущем документе     
         | 
|||
| 
    11
    
        aydarik    
     25.09.13 
            ✎
    12:45 
 | 
         
        Может есть более рацилнальные идеи?     
         | 
|||
| 
    12
    
        piter3    
     25.09.13 
            ✎
    12:47 
 | 
         
        тебе нужно сотрудник.физлицо.код передать в параметры     
         | 
|||
| 
    13
    
        catena    
     25.09.13 
            ✎
    12:52 
 | 
         
        А почему связь по коду, а не по, собственно, физлицу? Раз уж нашли его для определения кода?     
         | 
|||
| 
    14
    
        catena    
     25.09.13 
            ✎
    12:52 
 | 
         
        (3)Тут легко может быть дело в СОКРЛП.     
         | 
|||
| 
    15
    
        aydarik    
     25.09.13 
            ✎
    13:13 
 | 
         
        (13) хоть по коду, хоть по наименованию --- результат выборки пустой. и дело точно не в СОКРЛП     
         | 
|||
| 
    16
    
        catena    
     25.09.13 
            ✎
    13:19 
 | 
         
        (15)Значит нет по этому физлицу записи в регистре. Либо вы нам что-то недоговариваете.     
         | 
|||
| 
    17
    
        Kreont    
     25.09.13 
            ✎
    13:21 
 | 
         
        (0) посмотри в стандартных конфиг. такие ф-ии и их вызовы, может пригодятся:
 
        ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок ОбщегоНазначения.ПолучитьФамилиюИмяОтчество  | 
|||
| 
    18
    
        grin    
     25.09.13 
            ✎
    13:21 
 | 
         
        aydarik, не может быть, чтоб табельный номер был равен коду физ.лица. Одно физ.лицо может приниматься на работу кучу раз, в разные организации, на основное и совместительство, с разными табельными номерами. Так что сначала выбрка сотрудников, потом уже по их физ.лицам информация     
         | 
|||
| 
    19
    
        Kreont    
     25.09.13 
            ✎
    13:26 
 | 
         
        (4) код из (0) верный и рабочий, но параметры неправильно передаешь.
 
        Открой консоль запросов и там тестируй, с учетом (1).  | 
|||
| 
    20
    
        aydarik    
     26.09.13 
            ✎
    15:36 
 | 
         
        В общем помогла строка Если ТабельныйНомер = СокрЛП(Выборка.Код) Тогда и далее ...   Предварительно ТабельныйНомер =СокрЛп(стр.Сотрудник.Код);     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |