Имя: Пароль:
1C
1С v8
НЕ цепляет реквизиты автоматически
0 bamond
 
18.04.13
16:46
Всем привет, подскажите пожалуйста ... есть такой код

&НаКлиенте
Процедура РасчетныйСчетБанкПриИзменении(Элемент)
   ТС=Элементы.РасчетныйСчет.ТекущиеДанные;
   ТС.КоррСчет=Выборка(ТС.Банк);
   ТС.БИК=Выборка(ТС.Банк);
   КонецПроцедуры


&НаСервере
функция Выборка(Банк)
   
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    КлассификаторБанковРФ.Наименование КАК Банк,
       |    КлассификаторБанковРФ.Код,
       |    КлассификаторБанковРФ.КоррСчет,
       |ИЗ
       |    Справочник.КлассификаторБанковРФ КАК КлассификаторБанковРФ
       |ГДЕ
       |    (КлассификаторБанковРФ.Наименование = &Банк
       |            ИЛИ КлассификаторБанковРФ.Наименование = ЗНАЧЕНИЕ(Справочник.КлассификаторБанковРФ.ПустаяСсылка))";

   Запрос.УстановитьПараметр("Банк", Банк);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Если ВыборкаДетальныеЗаписи.Следующий() тогда
       Возврат ВыборкаДетальныеЗаписи.КоррСчет;
   иначе
       Возврат Неопределено;
   КонецЕсли;
   

   //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

конецфункции



По нему он должен из первого документа при выборе из табличной части наименования банка ( наименование берется из второго справочника КлассификаторБанковРФ ) автоматически в первый документ подставлять коррсчет и БИК... но он этого не делает =((  На это поле "
Если ВыборкаДетальныеЗаписи.Следующий() тогда
       Возврат ВыборкаДетальныеЗаписи.КоррСчет;"
вообще не заходит... тупо сразу идет в ИНАЧЕ.... помогите пожалуйста где в чем тут проблема?
1 Шапокляк
 
18.04.13
16:48
Ну дык следующий, а тот, где все было уже проехали.
2 1Сергей
 
18.04.13
16:49
ТС.Банк = ?
3 bamond
 
18.04.13
17:14
ТС.Банк = ? - не знал что туда писать))) написал текущая строка банк... в этом строчке какраз выбирается банк из справочника КлассификаторБанковРФ
4 1Сергей
 
18.04.13
17:16
(3) замени во всём запросе

КлассификаторБанковРФ.Наименование

на

КлассификаторБанковРФ.Ссылка
5 bamond
 
18.04.13
17:26
1Сергей , Спасибо огромное!!! все получилось =)

вот верный код

&НаКлиенте
Процедура РасчетныйСчетБанкПриИзменении(Элемент)
   ТС=Элементы.РасчетныйСчет.ТекущиеДанные;
   ТС.КоррСчет=Выборка(ТС.Банк);
   ТС.БИК=Выборка(ТС.Банк);
   КонецПроцедуры


&НаСервере
функция Выборка(Банк)
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Если ВыборкаДетальныеЗаписи.Следующий() тогда
       Возврат ВыборкаДетальныеЗаписи.КоррСчет;
       Возврат ВыборкаДетальныеЗаписи.Код;
   иначе
       Возврат Неопределено;
   КонецЕсли;
   


   //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   
   
   
конецфункции



правда теперь в оба ТС подставляется коррсчет... теперь надо обдумать как сделать что бы в коррсчет одно , а в бик другое.... БИК=Код.....
Закон Брукера: Даже маленькая практика стоит большой теории.