|
|
|
Помогите Выбрать расчетный счет | ☑ | ||
|---|---|---|---|---|
|
0
Смешной 1С
27.04.10
✎
12:56
|
Первый запрос получает контрагента:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.Наименование, | Контрагенты.НаименованиеПолное, | Контрагенты.ИНН, | Контрагенты.КПП, | Контрагенты.Код, | Контрагенты.ЛицевойСчет |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Ссылка = &Контрагент"; Запрос.УстановитьПараметр("Контрагент", Шапка.Грузополучатель); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Второй его счета и банки. ЗапросБанк = Новый Запрос; ЗапросБанк.Текст = "ВЫБРАТЬ | БанковскиеСчета.Ссылка, | БанковскиеСчета.Владелец, | БанковскиеСчета.Наименование, | БанковскиеСчета.Код, | БанковскиеСчета.НомерСчета, | БанковскиеСчета.Банк |ИЗ | Справочник.БанковскиеСчета КАК БанковскиеСчета |ГДЕ | БанковскиеСчета.Владелец = &Контрагент"; ЗапросБанк.УстановитьПараметр("Контрагент", Шапка.Грузополучатель); ВыборкаБанк = ЗапросБанк.Выполнить().Выбрать(); Нужно выбрать Основной расчетный счет: ВыборкаБанк.Следующий(); СпрН = Выборка.Ссылка.ПолучитьОбъект(); Если СпрН.ОсновнойБанковскийСчет = ВыборкаБанк.Ссылка Тогда БанкПлательщика = ВыборкаБанк.Банк; БИКПлательщика = "БИК " + Справочники.Банки.НайтиПоНаименованию(ВыборкаБанк.Банк).Код; РСПлательщика = "р/с " + ВыборкаБанк.НомерСчета; Иначе ВыборкаБанк.Следующий(); КонецЕсли; Но так не срабатывает. Если никакой не указан основным, то тогда выбирает. А если есть ОСНОВНОЙ, то ничего не выводит. |
|||
|
1
чувак
27.04.10
✎
12:58
|
У контрагента есть реквизит "Основной банковский счет"
|
|||
|
2
Смешной 1С
27.04.10
✎
13:01
|
(1) Я использую его.
Если СпрН.ОсновнойБанковскийСчет = ВыборкаБанк.Ссылка Тогда Но не работает |
|||
|
3
чувак
27.04.10
✎
13:03
|
Провер в отладке эти два значения,типы совпадают?
|
|||
|
4
Смешной 1С
27.04.10
✎
13:06
|
Да, типы одинаковые.
Он первый раз зашел в цикл, увидел что банки не равны, по Иначе сделал Выборка.Следущий и все |
|||
|
5
Vitello
27.04.10
✎
13:07
|
Ты что в итоге то хочешь сделать?
|
|||
|
6
Шапокляк
27.04.10
✎
13:08
|
ВыборкаБанк = ЗапросБанк.Выполнить().Выбрать();
Пока ВыборкаБанк.Следующий() Цикл что хошь проверяй КонецЦикла; только зачем такой огород городить - Шапка.Грузополучатель.ОсновнойБанковскийСчет - и ты уже там. Если надо порюхать все счета кроме основного, бери второй запрос - банковские счета где владелец такой-то и ссылка не такая-то (основной банковский счет) |
|||
|
7
Prikum
27.04.10
✎
13:11
|
(5) (6) Не спугните, мы к пятнице готовимся! На прошлой неделе, тоже самое было, тоже основные банковские счета искали! Это у него хобби такое!
|
|||
|
8
Смешной 1С
27.04.10
✎
13:21
|
(6) Да не работает так
|
|||
|
9
Смешной 1С
27.04.10
✎
13:24
|
Там значение по ВыборкаБанк.Ссылка у обоих банков стоит основной.
Надо как то по наименованию, типа Пока ВыборкаБанк.Следующий() Цикл Если СпрН.ОсновнойБанковскийСчет.Банк.Наименование = ВыборкаБанк.Наименование Тогда БанкПлательщика = ВыборкаБанк.Банк; БИКПлательщика = "БИК " + Справочники.Банки.НайтиПоНаименованию(ВыборкаБанк.Банк).Код; РСПлательщика = "р/с " + ВыборкаБанк.НомерСчета; КонецЕсли; КонецЦикла; Но так тоже не работает |
|||
|
10
Mort
27.04.10
✎
13:29
|
Это шутка или автор серьезно ?
|
|||
|
11
Смешной 1С
27.04.10
✎
13:29
|
(10)Это не шутка. Подскажите если знаете.
|
|||
|
12
Prikum
27.04.10
✎
13:32
|
(10) А ты подними ветки автора, только на прошлой неделе разбирали выборку с основным счетом контрагента.
|
|||
|
13
Vitello
27.04.10
✎
13:32
|
Ты автор главное на (5) не отвечай...
|
|||
|
14
Смешной 1С
27.04.10
✎
13:33
|
(13) Я проглядел ваш вопрос (5). Я хочу вывести банк, который является основным для контрагента
|
|||
|
15
Vitello
27.04.10
✎
13:34
|
Тебе же сказали что он лежит в реквизите ОсновнойБанковскийСчет
|
|||
|
16
Vitello
27.04.10
✎
13:34
|
у контрагента
|
|||
|
17
Смешной 1С
27.04.10
✎
13:35
|
(16) Я знаю это я пытаюсь его взять оттуда. Что в (0) у меня не так?
|
|||
|
18
Vitello
27.04.10
✎
13:36
|
(17)Все не так. Кури (6), глубоко затягиваясь.
|
|||
|
19
hhhh
27.04.10
✎
13:38
|
(17) ну так попробуй
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.ОсновнойБанковскийСчет, | Контрагенты.ОсновнойБанковскийСчет.Банк КАК Банк, | Контрагенты.ОсновнойБанковскийСчет.Банк.Код КАК БИК, | Контрагенты.ОсновнойБанковскийСчет.Банк.НомерСчета КАК НомерСчета |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Ссылка = &Контрагент"; Запрос.УстановитьПараметр("Контрагент", Шапка.Грузополучатель); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); БанкПлательщика = Выборка.Банк; БИК = Быборка.БИК; НомерСчета = Выборка.НомерСчета; второй запрос выкинь. |
|||
|
20
Смешной 1С
27.04.10
✎
13:39
|
Пока ВыборкаБанк.Следующий() Цикл
Если СпрН.ОсновнойБанковскийСчет = ВыборкаБанк.Ссылка Тогда БанкПлательщика = ВыборкаБанк.Банк; БИКПлательщика = "БИК " + Справочники.Банки.НайтиПоНаименованию(ВыборкаБанк.Банк).Код; РСПлательщика = "р/с " + ВыборкаБанк.НомерСчета; КонецЕсли; КонецЦикла; Всем Спасибо, заработало |
|||
|
21
Vitello
27.04.10
✎
13:39
|
(19)Молодец, родил быдлокодера :))
|
|||
|
22
Vitello
27.04.10
✎
13:39
|
Мля, тут тока лоботомия поможет походу
|
|||
|
23
hhhh
27.04.10
✎
13:54
|
(21) в данном случае это не плохо.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |