Всем привет! Никак не могу решать проблемку, помогите плз. В начале процедуры определяются переменные:

```1c
    СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчет);
    СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчет);
```

Общий модуль ФормированиеПечатныхФорм имеет Функцию

```1c
    Функция СведенияОЮрФизЛице(ЮрФизЛицо, ДатаПериода, ДляФизЛицаТолькоИнициалы = Истина, Знач БанковскийСчет = Неопределено) Экспорт
```

и там определяется Организация ли это или Контрагент

```1c
    Если ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Организации") Тогда
    Реквизиты = Справочники.Организации.ПолучитьРеквизитыОрганизации(ЮрФизЛицо);
    Если Не ЗначениеЗаполнено(БанковскийСчет) Тогда
    БанковскийСчет = Справочники.БанковскиеСчетаОрганизаций.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ЮрФизЛицо);
    КонецЕсли;
    РеквизитыСчета = Справочники.БанковскиеСчетаОрганизаций.ПолучитьРеквизитыБанковскогоСчетаОрганизации(БанковскийСчет);
    Сведения.Вставить("КодОКВЭД", Реквизиты.КодОКВЭД);
    ИначеЕсли ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Контрагенты") Тогда
    Реквизиты = Справочники.Контрагенты.РеквизитыКонтрагента(ЮрФизЛицо);
    Если Не ЗначениеЗаполнено(БанковскийСчет) Тогда
    БанковскийСчет = Справочники.БанковскиеСчетаКонтрагентов.ПолучитьБанковскийСчетПоУмолчанию(ЮрФизЛицо);
    КонецЕсли;
    РеквизитыСчета = Справочники.БанковскиеСчетаКонтрагентов.ПолучитьРеквизитыБанковскогоСчета(БанковскийСчет);
    Сведения.Вставить("КодОКВЭД", ");
    КонецЕсли;
```

Вопрос: как можно правильно написать код условие, который проверяет Контрагент ли это? например:

```1c
    Если (Это Контрагент) и ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда
    Банк = ДанныеПечати.НаименованиеБанка;
    БИК = ДанныеПечати.БИКБанк;
    ГородБанка = ДанныеПечати.ГородБанка;
    НомерСчета = ДанныеПечати.НомерБанковскогоСчета;
    СтруктураДанныхШапки.Вставить("БанкПокупателя", Реквизиты.Банк);
    СтруктураДанныхШапки.Вставить("БИКПокупателя", Реквизиты.БИК);
    СтруктураДанныхШапки.Вставить("ГородПокупателя", Реквизиты.ГородБанка);
    СтруктураДанныхШапки.Вставить("РСПокупателя", Реквизиты.НомерСчета);
    КонецЕсли;
```

Что мне надо писать в место "(Это Контрагент)"
---
Огромная спасибо за ответы! Мне помогли советы "Yan Tsys" (24), (26), и помощь "Дмитрий Васильев" (44), (49). Да кстати, Дмитрий, город банка получил следующим образом:
СтруктураДанныхШапки.Вставить("ГородПокупателя", СведенияОПокупателе.Банк.Город);
Для этого помогла Отладка -> ВычислитьВыражение. Там посмотрел и увидел, что внутри СведенияОПокупателе.Банк все банковские реквизиты.
---
Измененные места я пометил символами //** и то, что убрал или добавил из типового. Можете пользоваться поиском.
Можете потом открыть Модуль менеджера счет на оплату и Обработка.ПечатьСчетовНаОплату и посмотреть что я изменил.
Возможно вам пригодится
---
Я не успел доделать, мне пора идти. Посмотрите, я начал там заполнять. Попробуйте так
---
булево. Но если там не слитно ничего, т.к. модуль в крит пойдет.
---
да, но как написать?
---
по аналогии с ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Организации")
---
ТипЗнч(ОбъектКоторыйВозможноЯвляетсяКонтрагентом) = Тип("СправочникСсылка.Контрагенты")
---
ТипЗнч(ДанныеПечати.Контрагент) = Тип("СправочникСсылка.Контрагенты")
---
сейчас попробую
---
ТипЗнч(ДанныеПечати.Контрагент) = Тип("СправочникСсылка.Контрагенты")
Так повторяет тот же реквизит Организации т.е. продавца
---
ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Контрагенты")
---
Не понял тогда.

У вас есть ДанныеПечати.
Там есть Контрагент и Организация (ДанныеПечати.Контрагент и ДанныеПечати.Организация )

Эти 2 строки для Контрагент и Организация заполняют разные структуры.

```1c
    СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчет);
    СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчет);
```

СведенияОПокупателе должны содержать данные счета именно по контрагенту.

Или я чего-то не понимаю.

Приведите свой код, куда хотите вставить и что.
---
да СведенияОПокупателе это контрагент. Организация получает свои реквизиты следующим образом:

```1c
    Если ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда
    Банк = ДанныеПечати.НаименованиеБанка;
    БИК = ДанныеПечати.БИКБанк;
    КоррСчет = ДанныеПечати.КоррСчетБанка;
    ГородБанка = ДанныеПечати.ГородБанка;
    НомерСчета = ДанныеПечати.НомерБанковскогоСчета;
    СтруктураДанныхШапки.Вставить("БИКПоставщика", БИК);
    СтруктураДанныхШапки.Вставить("БанкПоставщика", Банк);
    СтруктураДанныхШапки.Вставить("ГородПоставщика", ГородБанка);
    СтруктураДанныхШапки.Вставить("РСПоставщика", НомерСчета);
    КонецЕсли;
```

Тут чтоб получить реквизиты Покупателя мне кажется надо проверять в начале условие "Является ли это Покупателем?" а то этот код выдаёт тот же реквизит Продавца
---
Зайдем с другого конца. Как получили ДанныеПечати? Обычно это результат запроса. Если организация так получает свои реквизиты, то так написан запрос.

Если не хотите кроить запрос, то пишите

```1c
    СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетКонтрагента); //Тут данные банка контрагента, ничего проверять не нужно.

    Если ЗначениеЗаполнено(СведенияОПокупателе.НомерСчета) Тогда //на всякий случай проверить пустой номер счета или нет. Вообще не объязательно
    Банк = СведенияОПокупателе.НаименованиеБанка; //не знаю куда это потом попадает у вас
    БИК = СведенияОПокупателе .БИКБанк; //не знаю куда это потом попадает у вас
    ГородБанка = СведенияОПокупателе.ГородБанка; //не знаю куда это потом попадает у вас
    НомерСчета = СведенияОПокупателе.НомерБанковскогоСчета; //не знаю куда это потом попадает у вас
    СтруктураДанныхШапки.Вставить("БанкПокупателя", СведенияОПокупателе..Банк); //Обычно этой структурой параметры табдока потом заполняют.
    СтруктураДанныхШапки.Вставить("БИКПокупателя", СведенияОПокупателе..БИК);
    СтруктураДанныхШапки.Вставить("ГородПокупателя", СведенияОПокупателе..ГородБанка);
    СтруктураДанныхШапки.Вставить("РСПокупателя", СведенияОПокупателе..НомерСчета);
    КонецЕсли;
```

или куда вам нужно это
---
нет не получается, а как по другому можно обратится к банковскийсчет Контрагента?
---
мне надо на печатную форму вызвать банковские реквизиты Продавца и Покупателя, естественно Продавец это Организация, а Покупатель это Контрагент
---
Это внешняя обработка СчетНаОплату, там есть макет, т.е. печатная форма, который в Заголовке макета должно показать Банковские реквизиты Продавца и Покупателя
---
Уже ближе, хотя бы понятно откуда взяли.

```1c
    Если ЗначениеЗаполнено(ДанныеПечати.БанковскийСчет) Тогда

    Если ЗначениеЗаполнено(ДанныеПечати.БИКБанкаДляРасчетов) Тогда
    Банк = ДанныеПечати.НаименованиеБанкаДляРасчетов;
    БИК = ДанныеПечати.БИКБанкаДляРасчетов;
    КоррСчет = ДанныеПечати.КоррСчетБанкаДляРасчетов;
    ГородБанка = ДанныеПечати.ГородБанкаДляРасчетов;
    НомерСчета = ДанныеПечати.КоррСчетБанка;
    Иначе
    Банк = ДанныеПечати.НаименованиеБанка;
    БИК = ДанныеПечати.БИКБанк;
    КоррСчет = ДанныеПечати.КоррСчетБанка;
    ГородБанка = ДанныеПечати.ГородБанка;
    НомерСчета = ДанныеПечати.НомерБанковскогоСчета;
    КонецЕсли;
```

Так обрабатывается организация, потому что все нужные реквизиты есть в запросе, который вернул ДанныеПечати.
С контрагентом можно сделать так, как я написал выше
---
Вот выложил весь код. т.е. модуль менеджера СчетНаОплату
---
Мне за вас написать? Вот

```1c
    //*//*//*//*//*//*//
    СтруктураДанныхШапки.Вставить("ОКЭДПоставщика", СведенияОПоставщике.КодПоОКПО);
    СтруктураДанныхШапки.Вставить("ИННПоставщика", СведенияОПоставщике.ИНН);
    ////////////////////////////////
    //ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
    // Здесь начинается реквизиты покупателя//************************************
    СтруктураДанныхШапки.Вставить("ПредставлениеПокупателя",
    ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата),
    "ПолноеНаименование"));
    СтруктураДанныхШапки.Вставить("АдресПокупателя",
    ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата),
    "ЮридическийАдрес"));
    СтруктураДанныхШапки.Вставить("ТелефонПокупателя", СведенияОПокупателе.Телефоны);

    СтруктураДанныхШапки.Вставить("БанкПокупателя", СведенияОПокупателе.Банк); //Обычно этой структурой параметры табдока потом заполняют.
    СтруктураДанныхШапки.Вставить("БИКПокупателя", СведенияОПокупателе.БИК);
    СтруктураДанныхШапки.Вставить("ГородПокупателя", СведенияОПокупателе.ГородБанка);
    СтруктураДанныхШапки.Вставить("РСПокупателя", СведенияОПокупателе.НомерСчета);

    СтруктураДанныхШапки.Вставить("ОКЭДПокупателя", СведенияОПокупателе.КодПоОКПО);
    СтруктураДанныхШапки.Вставить("ИННПокупателя", СведенияОПокупателе.ИНН);

    ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);

    //*******************************************************************************
```
---
Дмитрий спасибо вам за ответы, сейчас попробую
---
Выдал ошибку: {Обработка.ПечатьСчетовНаОплату.МодульМенеджера(90)}: Поле объекта не обнаружено (БанковскийСчетКонтрагента)
 СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);
---
БанковскийСчетКонтрагента

Кажется БанковскийСчетКонтрагента (там где ругается) не обязательно указывать. Если он не заполнен, то подтянется основной.
---
Отладку не пробовали? Посмотреть через ВычислитьВыражение что там прячется в ДанныеПечати?
---
нет не пробовал
---
а как это через ВычислитьВыражение ? я просто раньше так не пробовал
---
В режиме отладки доходите до нужной точки в коде, выделяете в коде значение которое хотите проверить и правой кнопкой мыши щелкаете по нему, в контекстном меню выбираете ВычислитьВыражение, вам вываливается окно в котором можно подробно изучить то значение которое вы выделили, например таблицу значений просмотреть именно в виде таблицы.

Можно просто когда дойдете до нужной точки в главном меню выбрать отладка->ВычислитьВыражение и там руками набрать имя любого значения которое вы хотите изучить подробнее, можно вообще начать копать от ЭтаФорма или Объект и полностью изучить текущее окружение в нужный момент, можно даже интерактивно команды короткие выполнить например Запрос.Выполнить.Выгрузить()[0].Контрагент и посмотреть какое значение в этом месте программы будет получено...
---
спасибо сейчас попробую
---
Огромная спасибо за ответы! Мне помогли советы "Yan Tsys" (24), (26), и помощь "Дмитрий Васильев" (44), (49). Да кстати, Дмитрий, город банка получил следующим образом:
СтруктураДанныхШапки.Вставить("ГородПокупателя", СведенияОПокупателе.Банк.Город);
Для этого помогла Отладка -> ВычислитьВыражение. Там посмотрел и увидел, что внутри СведенияОПокупателе.Банк все банковские реквизиты.
---
http://helpme1c.ru/vnutrennij-yazyk-programmirovaniya-1s-8-3-dlya-nachinayushhix-programmistov-urok-15-otladka-v-1s

пример только там на числовой переменной это скучно, попробуйте открыть для изучения например ЭтаФорма - вот где раздолье :)
---
Ваще классная штука, спасибо большое
---
Проверять значение нужно до того как вы выполнили строку которая вызывает ошибку :) После того как шагнете значение может быть уже другим.
---
Кстати иногда чтобы не искать на какую конкретно строку ставить точку отладки, помогает
Отладка->Остановка по ошибке...
там поставить птичку "Останавливаться по ошибке"

Поверьте если разберетесь и начнете использовать ВычислитьВыражение то программирование в 1с станет намного праздничнее :)
---
уже начинается праздничным :)))
---
Появился еще один вопрос... Когда открываю ВычислитьВыражение Свойство Данные печати а Тип ВыборкаИзРезультатаЗапроса, а где искать этот Запрос? в документах искать или в справочнике?
---
У выборки результата запроса есть свойство Владелец в котором лежит Результат запроса,
а у результата запроса есть метод Выгрузить который вернет ТЗ
Я бы попробовал что-то такое
В окне ВычислитьВыражение вбить
ДанныеПечати.Владелец.Выгрузить()
нажать Рассчитать и изучить полученную таблицу значений...
Работает?

Хуже когда нужные для изучения данные прячутся в менеджере запросов во временных таблицах,
где-то на инфостарте была полезная статья как в общем модуле создать свою функцию которая вернет в виде таблиц значений все временные таблицы запроса, в этом случае отладка при исполнении запросов тоже становится намного легче, просто рассчитываете эту функцию для запроса и получаете в удобном для изучения виде все временные таблицы ...
---
Владелец в ДанныеПечати нет, пишет: Поле объекта не обнаружено(Владелец). В моем случае Владелец находится внутри Организации и Контрагента, если писать ДанныеПечати.Контрагент.Владелец.Выгрузить() то пишет: Значение не является значением объектного типа (Выгрузить). После работы с отладкой ВычислитьВыражение, понял что у Контрагенте вообще не указан БанковскийСчет, по моему на запросе надо добавить их
---
В модуле менеджера СчетНаОплату. Функция называется как-то "ПолучитьДанныеДляПечатиСчета" или что-то подобное.
Кстати там отладку и поставьте и пройдите по всему коду.
---
Спасибо сейчас попробую
---
Там где ругается Напишите

СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата);
---
Нет, пробовал без указание БанковскийСчетКонтрагента, получаю пустые ячейки в печатной форме. Если обратили внимание на (33) там где ВычислитьВыражение у Контрагента не написан Банковские реквизиты.
---
Банковские реквизиты будут в СведенияОПокупателе.

Чтобы не мучиться долго, можешь прямо в ВычислитьВыражение писать свой текст и смотреть на результат.
Еще Отладка - Табло полезная штука. Там можно смотреть на несколько переменных и писать даже функции.

Т.е запускаешь отладку. Останавливаешься на точке остановки, открываешь Табло. В 1 строку пишешь

ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата)

Смотришь результат. Если не устраивает прям в табло меняешь что считаешь нужным, и смотришь что получается. Упростит жизнь.
---
:) спасибо за советы, попробую обязательно!
---
Вот нашел запрос в модуле менеджера СчетНаОплату.

```1c
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | Документы.Ссылка КАК Ссылка,
    | Документы.Номер КАК Номер,
    | Документы.Дата КАК Дата,
    | Документы.ДокументОснование КАК ДокументОснование,
    | ЕСТЬNULL(Документы.БанковскийСчет.Владелец, Документы.Организация) КАК Организация,
    | Документы.Организация КАК ОрганизацияПоставщик,
    | ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
    | ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
    | ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
    | Документы.Контрагент КАК Контрагент,
    | Документы.Контрагент.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
    | Документы.БанковскийСчет КАК БанковскийСчет,
    |
    | ВЫБОР КОГДА Документы.БанковскийСчет.ИностранныйБанк
    | ИЛИ Документы.БанковскийСчет.ВалютаДенежныхСредств <> Константы.ВалютаРегламентированногоУчета ТОГДА
    | ИСТИНА
    | ИНАЧЕ
    | ЛОЖЬ
    | КОНЕЦ КАК ПлатежЗаРубеж,
    | Документы.БанковскийСчет.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
    | Документы.БанковскийСчет.СВИФТБанка КАК СВИФТБанка,
    | Документы.БанковскийСчет.СВИФТБанкаДляРасчетов КАК СВИФТБанкаДляРасчетов,
    | Документы.БанковскийСчет.АдресБанка КАК АдресБанка,
    | Документы.БанковскийСчет.АдресБанкаДляРасчетов КАК АдресБанкаДляРасчетов,
    | Документы.БанковскийСчет.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
    |
    | Документы.БанковскийСчет.НомерСчета КАК НомерБанковскогоСчета,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанка
    | ТОГДА Документы.БанковскийСчет.БИКБанка
    | ИНАЧЕ КлассификаторБанковРФ.Код
    | КОНЕЦ КАК БИКБанк,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанка
    | ТОГДА Документы.БанковскийСчет.НаименованиеБанка
    | ИНАЧЕ КлассификаторБанковРФ.Наименование
    | КОНЕЦ КАК НаименованиеБанка,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанка
    | ТОГДА Документы.БанковскийСчет.КоррСчетБанка
    | ИНАЧЕ КлассификаторБанковРФ.КоррСчет
    | КОНЕЦ КАК КоррСчетБанка,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанка
    | ТОГДА Документы.БанковскийСчет.ГородБанка
    | ИНАЧЕ КлассификаторБанковРФ.Город
    | КОНЕЦ КАК ГородБанка,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанкаДляРасчетов
    | ТОГДА Документы.БанковскийСчет.БИКБанкаДляРасчетов
    | ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
    | КОНЕЦ КАК БИКБанкаДляРасчетов,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанкаДляРасчетов
    | ТОГДА Документы.БанковскийСчет.НаименованиеБанкаДляРасчетов
    | ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
    | КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанкаДляРасчетов
    | ТОГДА Документы.БанковскийСчет.КоррСчетБанкаДляРасчетов
    | ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
    | КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
    | ВЫБОР
    | КОГДА Документы.БанковскийСчет.РучноеИзменениеРеквизитовБанкаДляРасчетов
    | ТОГДА Документы.БанковскийСчет.ГородБанкаДляРасчетов
    | ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
    | КОНЕЦ КАК ГородБанкаДляРасчетов,
    | Документы.БанковскийСчет.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
    | ВЫБОР
    | КОГДА Документы.ДокументОснование ССЫЛКА Документ.ОтчетКомитенту
    | ТОГДА ИСТИНА
    | КОГДА Документы.ДокументОснование ССЫЛКА Документ.ОтчетКомиссионера
    | ТОГДА ИСТИНА
    | ИНАЧЕ Документы.ДокументОснование.ЦенаВключаетНДС
    | КОНЕЦ КАК ЦенаВключаетНДС,
    | Документы.ДокументОснование.СуммаДокумента КАК СуммаКВозврату,
    | ВЫБОР
    | КОГДА Документы.ДокументОснование.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
    | ТОГДА ЛОЖЬ
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ КАК УчитыватьНДС,
    | Документы.Валюта КАК Валюта,
    | Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
    | Документы.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
    | Документы.ЧастичнаяОплата КАК ЧастичнаяОплата,
    | Документы.НазначениеПлатежа КАК НазначениеПлатежа,
    | ВЫБОР КОГДА Документы.ДокументОснование ССЫЛКА Документ.ОтчетКомитенту
    | И Документы.ДокументОснование.СуммаВознаграждения = 0 ТОГДА
    | 0
    | КОГДА Документы.ДокументОснование ССЫЛКА Документ.ОтчетКомитенту ТОГДА // СуммаВознаграждения <> 0
    | Документы.СуммаДокумента * 100 / Документы.ДокументОснование.СуммаВознаграждения
    | КОГДА Документы.ДокументОснование.СуммаДокумента = 0 ТОГДА
    | 0
    | КОГДА (Документы.ДокументОснование ССЫЛКА Документ.ЗаказКлиента
    | ИЛИ Документы.ДокументОснование ССЫЛКА Документ.ЗаявкаНаВозвратТоваровОтКлиента)
    | И Документы.ДокументОснование.ТребуетсяЗалогЗаТару ТОГДА
    | Документы.СуммаДокумента * 100 / (Документы.ДокументОснование.СуммаДокумента + Документы.ДокументОснование.СуммаВозвратнойТары)
    | ИНАЧЕ
    | Документы.СуммаДокумента * 100 / Документы.ДокументОснование.СуммаДокумента
    | КОНЕЦ КАК ПроцентОплаты,
    | Документы.СуммаДокумента КАК СуммаДокумента,
    | Неопределено КАК Грузоотправитель,
    | Неопределено КАК Грузополучатель,
    | Документы.ИдентификаторПлатежа КАК ИдентификаторПлатежа,
    | ВЫБОР
    | КОГДА ЗаявкаНаВозвратТоваровОтКлиента.Ссылка ЕСТЬ NULL
    | ТОГДА ЛОЖЬ
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ КАК СчетКВозврату
    |ИЗ
    | Документ.СчетНаОплатуКлиенту КАК Документы
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаВозвратТоваровОтКлиента КАК ЗаявкаНаВозвратТоваровОтКлиента
    | ПО Документы.ДокументОснование = ЗаявкаНаВозвратТоваровОтКлиента.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
    | ПО Документы.Ссылка = ТаблицаОтветственныеЛица.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанковРФ КАК КлассификаторБанковРФ
    | ПО Документы.БанковскийСчет.Банк = КлассификаторБанковРФ.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанковРФ КАК КлассификаторБанковКорреспондентовРФ
    | ПО Документы.БанковскийСчет.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ Константы
    | ПО Истина
    |ГДЕ
    | Документы.Ссылка В
    | (ВЫБРАТЬ
    | ТаблицаДокументов.Ссылка
    | ИЗ
    | ТаблицаДокументов)
    |
    |УПОРЯДОЧИТЬ ПО
    | Документы.МоментВремени
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
```

Может здесь что то ни так?
---
Тут нет банковского счета контрагента. И взяться ему неоткуда.

http://prntscr.com/hqj7k5
Можете прислать мне свой измененный макет? Если вы его меняли конечно же.

http://prntscr.com/hqj86n
Я заполню вам, а вы посмотрите как нужно.
---
Вот...
---
Кстати не пойму зачем вы правите конфигурацию, если можно обойтись Внешней печатной формой
---
Я конечно извиняюсь, что я недавно начал работать в 1С, и если задаю не понятные вопросы. А Внешняя печатная форма это не Внешняя Обработка?
---
Да. Чтобы не дописывать основную конфигурацию базы есть возможность создать внешний файл и загрузить его в Администрирование - Дополнительные печатные формы и обработки.

Так проще потом обновлять базу будет
---
Измененные места я пометил символами //** и то, что убрал или добавил из типового. Можете пользоваться поиском.
Можете потом открыть Модуль менеджера счет на оплату и Обработка.ПечатьСчетовНаОплату и посмотреть что я изменил.
Возможно вам пригодится
---
Ваще большое спасибо! За помощь... Сейчас посмотрю!
---
Я не успел доделать, мне пора идти. Посмотрите, я начал там заполнять. Попробуйте так
---
Спасибо Дмитрий! Обязательно попробую.
---
Спасибо, буду добавить изменение в своем обработке.
---
Уже добавил все изменение, Ура!!! Появились банковские реквизиты Контрагента! Но там когда у контрагента несколько банковских счетов, опять получаю пустые ячейки. Но все таки, Дмитрий, Вам огромное спасибо!