Имя: Пароль:
1C
1С v8
v8:Изменить ЗапросПоСчету с запроса по номеру счета на запрос по виду счета
,
0 Slypower
 
24.12.13
17:22
Добрый день. Такая вот дилемма. Начинаем использовать клиент-банк с 1Сv8. Загружает данный из файла по расчетному счету. Мне нужно чтобы загружало по УНП. Как исправить модуль объекта?
1 Slypower
 
24.12.13
17:26
Я так понимаю, нужно исправлять функцию
Функция СчетПринадлежитОрганизации(НомерСчета)
    
ЗапросПоСчету = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    БанковскиеСчета.Владелец,
|    БанковскиеСчета.ВидСчета,
|    БанковскиеСчета.Ссылка
|ИЗ
|    Справочник.БанковскиеСчета КАК БанковскиеСчета
|ГДЕ
|    БанковскиеСчета.Владелец = &Организация
|    И БанковскиеСчета.ВидСчета = &ВидСчета");
    
ЗапросПоСчету.УстановитьПараметр("ВидСчета", ВидСчета);
ЗапросПоСчету.УстановитьПараметр("Организация", Организация);
//ВыборкаЗапроса = ЗапросПоСчету.Выполнить().Выбрать();
Возврат ЗапросПоСчету.Выполнить();    
//Возврат ВыборкаЗапроса.Следующий();

Но при выполнени выдает ошибку: {Обработка.КлиентБанк.МодульОбъекта(3000)}: Ошибка при вызове метода контекста (Выполнить)
Возврат ЗапросПоСчету.Выполнить();    
по причине:
{(9, 29)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И БанковскиеСчета.ВидСчета <<?>>= &ВидСчета
2 The_SpecialOne
 
24.12.13
18:01
(1) какая длина у реквизита ВидСчета?

Попробуй
|ГДЕ
|    БанковскиеСчета.Владелец = &Организация
|    И ВЫРАЗИТЬ(БанковскиеСчета.ВидСчета КАК СТРОКА(50)) = &ВидСчета"
3 Slypower
 
24.12.13
18:07
длина 15. Не помог ваш вариант. Ошибка та же, только код ее другой:{(10,51)}
4 Slypower
 
26.12.13
10:12
в силе вопрос
5 Wobland
 
26.12.13
10:15
(3) расскажи, как 9я строка превратилась в 10ю
6 salvator
 
26.12.13
10:15
Тип поля и тип параметра запроса совпадают?
7 Wobland
 
26.12.13
10:16
а вообще, сравнивать вид счёта с попой - плохой тон
8 Slypower
 
26.12.13
10:56
Вообще все делалось по примеру. Вот оригинал кода:
Функция СчетПринадлежитОрганизации(НомерСчета)
    
ЗапросПоСчету = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    БанковскиеСчета.Владелец,
|    БанковскиеСчета.ВидСчета,
|    БанковскиеСчета.Ссылка
|ИЗ
|    Справочник.БанковскиеСчета КАК БанковскиеСчета
|ГДЕ
|    БанковскиеСчета.Владелец = &Организация
|    И БанковскиеСчета.ВидСчета = &ВидСчета");
    
ЗапросПоСчету.УстановитьПараметр("ВидСчета", ВидСчета);
ЗапросПоСчету.УстановитьПараметр("Организация", Организация);
//ВыборкаЗапроса = ЗапросПоСчету.Выполнить().Выбрать();

Возврат ЗапросПоСчету.Выполнить();    
//Возврат ВыборкаЗапроса.Следующий();

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

Возврат ЗапросПоСчету.Выполнить();    
//Возврат ВыборкаЗапроса.Следующий();
10 Maxus43
 
26.12.13
11:01
ты точно знаешь для чего эта процедура? И представляешь себе последствия загрузки из КБ при изменении этого?
11 Slypower
 
26.12.13
11:28
Я не изменяю ее на сервере, я скопировал базу себе в отдельную папку, поэтому могу воротить там что угодно ))))
12 Maxus43
 
26.12.13
11:30
я намекаю что надо понять смысл.
В файле загрузки как правило информация по одному счету, и ничего не изменится
13 Slypower
 
26.12.13
12:51
Понял косячок свой. ВидСчета подразумевает Расчетный, Депозитный, Ссудный и Иной. поэтому здесь и нет этих 9 цифр УНП. Стало быть, но нужно добавлять новый реквизит УНП и на его основании делать выборку?