Здравствуйте!
Я не программист 1С, но нужда заставила, есть у нас обработка которая создает сотрудника. Но у нас появилась необходимость создавать Контрагента на основании физлица.
Подскажите, как можно, вытащить счет физлица для проставления его в основной счет контрагента. У Физлица счет заполнен.

Пробовал так: Справочники.БанковскиеСчета.НайтиПоРеквизиту(,,,ТекущаяСтрока.ФизическоеЛицо); но пишет не указано значение реквизита.
Пробовал так: ФизическоеЛицо.ОсновнойБанковский счет.

Контрагент.ОсновнойБанковскийСчет.Банк = Счет.Банк; - Пишет Поле объекта недоступно для записи (Банк)

В общем, буду благодарен, если подскажете как вытащить счет и банк физлица и вставить все это в основной счет контрагента.
---
Добрый день!
1. Для начала указывайте релиз конфигурации 1С, в которой пытаетесь писать по нужде.
2. Справочники.БанковскиеСчета.НайтиПоРеквизиту(,,,ТекущаяСтрока.ФизическоеЛицо); - не задано значение реквизита - правильно пишет ошибку. ТекущаяСтрока.ФизическоеЛицо, судя по всему - значение для поиска. Только по какому реквизиту вы его ищете?
Пример:
СтрокаНаименования = "Доллары США";
Валюты = Справочники.Валюты;
НайденнаяСсылка = Валюты.НайтиПоРеквизиту("ПолноеНаименование",
                                           СтрокаНаименования);

Контекст процедуры: НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>)
Поясняю. в данном случае Физик - владелец, т.к. полагаю Справочник "БанковскиеСчета " - подчиненный справочник.
3. Ошибка в написании:
Контрагент.ОсновнойБанковскийСчет.Банк = Счет.Банк; - Пишет Поле объекта недоступно для записи (Банк) - нельзя так писать напрямую.
Создаем Банковский счет с владельцем "контрагент" (нужный конечно). Затем вытаскиваем параметры с Найденного банковского счета физика, присваиваем текущему и записываем.
---
Вроде разобрался! Еще раз спасибо, за наводку!

```1c
    Валюта = Справочники.Валюты.НайтиПоКоду("643");
    Счет = Справочники.БанковскиеСчета.НайтиПоРеквизиту("ВалютаДенежныхСредств",Валюта,,Работник.Ссылка);

    Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
    Контрагент.Наименование = Работник.Наименование;
    Контрагент.НаименованиеПолное = Работник.Наименование;
    Контрагент.ИНН = Работник.ИНН;
    Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо;
    Контрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию("Самозанятые");
    Контрагент.Записать();

    СчетКонтрагента = Справочники.БанковскиеСчета.СоздатьЭлемент();
    СчетКонтрагента.Владелец = Контрагент.Ссылка;
    СчетКонтрагента.Наименование = Счет.Наименование;
    СчетКонтрагента.Банк = Счет.Банк;
    СчетКонтрагента.НомерСчета = Счет.НомерСчета;
    СчетКонтрагента.Записать();

    Контрагент.ОсновнойБанковскийСчет = СчетКонтрагента.Ссылка;
    Контрагент.Записать();
```

Не знаю насколько изящно, но вроде работает)
---
Добрый день!
1. Для начала указывайте релиз конфигурации 1С, в которой пытаетесь писать по нужде.
2. Справочники.БанковскиеСчета.НайтиПоРеквизиту(,,,ТекущаяСтрока.ФизическоеЛицо); - не задано значение реквизита - правильно пишет ошибку. ТекущаяСтрока.ФизическоеЛицо, судя по всему - значение для поиска. Только по какому реквизиту вы его ищете?
Пример:
СтрокаНаименования = "Доллары США";
Валюты = Справочники.Валюты;
НайденнаяСсылка = Валюты.НайтиПоРеквизиту("ПолноеНаименование",
                                           СтрокаНаименования);

Контекст процедуры: НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>)
Поясняю. в данном случае Физик - владелец, т.к. полагаю Справочник "БанковскиеСчета " - подчиненный справочник.
3. Ошибка в написании:
Контрагент.ОсновнойБанковскийСчет.Банк = Счет.Банк; - Пишет Поле объекта недоступно для записи (Банк) - нельзя так писать напрямую.
Создаем Банковский счет с владельцем "контрагент" (нужный конечно). Затем вытаскиваем параметры с Найденного банковского счета физика, присваиваем текущему и записываем.
---
Благодарю за ответ! Пишу про нужду, чтобы вдруг не удивились глупым вопросам)
У нас Бухгалтерия Предприятия 3.0.80.36
Да, пробовал получать счет так:
  Валюта = Справочники.Валюты.НайтиПоКоду("643");
  Счет = Справочники.БанковскиеСчета.НайтиПоРеквизиту("ВалютаДенежныхСредств",Валюта,,Работник.Ссылка);

Как я понял нужно создать счет контрагента и присвоить ему значения, но у меня нет справочника БанковскиеСчетаКонтрагентов, и судя по реквизиту все хранится в СправочникСсылка.БанковскиеСчета где уже есть счета физлиц
---
Добрый день! Справочник "БанковскиеСчета" один. Просто владелец один "Контрагенты", который согласно типу может принимать неколько значений - "Физлицо", "Юрлицо", "Обособленное подразделение" и т.д. Отсеить справочник "Контрагенты" можно, как Вы уже поняли по реквизиту "ЮридическоеФизическоеЛицо" со значением "ФизическоеЛицо", а там уже поле деятельности для творчества что дальше делать с полученной информацией.
---
Вроде разобрался! Еще раз спасибо, за наводку!

```1c
    Валюта = Справочники.Валюты.НайтиПоКоду("643");
    Счет = Справочники.БанковскиеСчета.НайтиПоРеквизиту("ВалютаДенежныхСредств",Валюта,,Работник.Ссылка);

    Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
    Контрагент.Наименование = Работник.Наименование;
    Контрагент.НаименованиеПолное = Работник.Наименование;
    Контрагент.ИНН = Работник.ИНН;
    Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо;
    Контрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию("Самозанятые");
    Контрагент.Записать();

    СчетКонтрагента = Справочники.БанковскиеСчета.СоздатьЭлемент();
    СчетКонтрагента.Владелец = Контрагент.Ссылка;
    СчетКонтрагента.Наименование = Счет.Наименование;
    СчетКонтрагента.Банк = Счет.Банк;
    СчетКонтрагента.НомерСчета = Счет.НомерСчета;
    СчетКонтрагента.Записать();

    Контрагент.ОсновнойБанковскийСчет = СчетКонтрагента.Ссылка;
    Контрагент.Записать();
```

Не знаю насколько изящно, но вроде работает)