Имя: Пароль:
1C
1С v8
БП 2.0 СчетСотрудника = ПолучитьЛицевойСчет не работает
0 Кай066
 
13.12.13
12:22
Есть внешняя обработка для выгрузки ведомостей по з/п в банк. Обработка работает в ЗУП, но ругается в БП.

СчетСотрудника = ПолучитьЛицевойСчет(текСотрудник.ФизЛицо);
            Если СтрДлина(СчетСотрудника) <> 20  Тогда
                Сообщить("У сотрудника " + Строка(текСотрудник.ФизЛицо) + " длина зарплатного счета не равна 20 символам");
            КонецЕсли;  

В БП пишет что "длина зарплатного счета не равна 20 символам", хотя в РС ЛицевыеСчетаРаботниковОрганизации счет попал, и он в 20 символов.
Функция ПолучитьЛицевойСчет в ЗУП и в БП одинаковая, РС ЛицевыеСчетаРаботниковОрганизации тоже
ЧЯДНТ?
1 Кай066
 
13.12.13
12:22
А, ну да, выгрузка формируется, но с пустыми Лицевыми счетавми
2 Кай066
 
13.12.13
12:23
Вот типовая функция, она есть и в ЗУП и в БП

Функция ПолучитьЛицевойСчет(ФизЛицо, Организация, Банк) Экспорт
    
    ЗапросНаСуществование = Новый Запрос("
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ЛицевыеСчетаРаботниковОрганизации.ФизЛицо,
    |    ЛицевыеСчетаРаботниковОрганизации.Организация,
    |    ЛицевыеСчетаРаботниковОрганизации.Банк,
    |    ЛицевыеСчетаРаботниковОрганизации.НомерЛицевогоСчета
    |ИЗ
    |    РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации
    |ГДЕ
    |    ЛицевыеСчетаРаботниковОрганизации.ФизЛицо = &ФизЛицо
    |    И ЛицевыеСчетаРаботниковОрганизации.Организация = &Организация
    |    И ЛицевыеСчетаРаботниковОрганизации.Банк = &Банк");
    
    ЗапросНаСуществование.УстановитьПараметр("ФизЛицо", ФизЛицо);
    ЗапросНаСуществование.УстановитьПараметр("Организация", Организация);
    ЗапросНаСуществование.УстановитьПараметр("Банк", Банк);
    Выборка = ЗапросНаСуществование.Выполнить().Выбрать();
    
    Если Выборка.Следующий() Тогда
        Возврат Выборка.НомерЛицевогоСчета;
    Иначе
        Возврат Неопределено;
    КонецЕсли;

КонецФункции
3 Apokalipsec
 
13.12.13
12:28
например этот ресурс имеет длину 23 символа, СокрЛП ты не используешь.
4 Кай066
 
13.12.13
12:32
(3) и в ЗУПе он имеет 23 символа, но работает же
5 Кай066
 
13.12.13
12:40
а в БП длина как раз 20 символов
6 Кай066
 
13.12.13
12:43
хрен с ней с длиной, закомментим конструкцию Если. Почему лицевой счет не выводит?
7 Apokalipsec
 
13.12.13
15:20
Отладчик.Ты смотрел что у тебя в счете сотрудника? может там null?
8 wPa
 
13.12.13
15:37
(0) в РС банк есть. он отбирается по документу. может нет для такого банка записи