Здравствуйте.

Изучаю обработки в 1С рознице.

В данный момент интересует очень простая, но в тоже время очень познавательная для меня функция быстрого заполнения реквизитов организации.

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

НСИ - Реквизиты организации:
Возможность выбора: [Юридическое лицо] / [Индивидуальный предприниматель] > Чекбокс или Радиокнопкой

Если [Юридическое лицо], то
Пункты для заполнения:
[Наименование в программе] > [Текстовое поле]
[Система налогообложения] > [Выпадающий список]
[ИНН] > [Текстовое поле]

Если [Индивидуальный предприниматель], то
Пункты для заполнения:
[Наименование в программе] > [Текстовое поле]
[ФИО] > [Текстовое поле]
[Система налогообложения] > [Выпадающий список]
[ИНН] > [Текстовое поле]

Если какие-то данные уже заполнены, то их нужно вывести в этих полях.
В дальнейшем, по аналогии, нужно будет добавить другие пункты настроек. (склады/магазины/виды номенклатуры).

Подскажите, как такое сделать?
---
```1c
    Процедура ЗаписатьНаСервере()
    ТекущаяОрганизация = Справочники.Организации.НайтиПоНаименованию("ИП Иванов И. И.");

    ОрганизацияОбъект = ТекущаяОрганизация.ПолучитьОбъект();

    ОрганизацияОбъект.ИНН = РеквизитИНН;
    //ОрганизацияОбъект= ТекущаяОрганизация.ПолучитьОбъект(); Эту строку переносим вверх

    ОрганизацияОбъект.Записать();
    КонецПроцедуры
```
---
Заполнение реквизитов на вашей форме:

```1c
    ТекущаяОрганизация = Справочники.Организации.НайтиПоНаименованию("ааа");
    Реквизит1 = ТекущаяОрганизация.Наименование;
    Реквизит2 = ТекущаяОрганизация.ИНН;
```

Заполнение реквизитов справочника

```1c
    ТекущаяОрганизация.ИНН = Реквизит2;

    ОрганизацияОбъект = ТекущаяОрганизация.ПолучитьОбъект();
    ОрганизацияОбъект.Записать();
```
---
Как мне сделать условие ООО или ИП?
И от него уже плясать с данными
---
```1c
    Если ТекущаяОрганизация.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда

    ИначеЕсли ТекущаяОрганизация.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ИндивидуальныйПредприниматель Тогда

    КонецЕсли;
```
---
Вроде не сложно, но не получается пока корректно получить данные из справочников.

Можете приложить элементарную обработку, чтобы получить хотя бы ИНН организации?
И возможность записать ИНН в базу.
---
На форме создаете реквизит с таким же типом значения, что и у реквизита справочника. Например ИНН это строка. Значит создаете на форме строковый реквизит. В процедуре ПриСозданииНаСервере() пишем код:

```1c
    ТекущаяОрганизация = Справочники.Организации.НайтиПоНаименованию("ааа");
    РеквизитИНН = ТекущаяОрганизация.ИНН; //Тут РеквизитИНН это и есть наш реквизит на форме
```

Данный код выполнится при открытии формы обработки. Если в вашей конфигурации всего одна организация, то можно получать ее таким образом.
---
```1c
    &НаСервере
    Процедура ПрочитатьНаСервере()
    ТекущаяОрганизация = Справочники.Организации.НайтиПоНаименованию("ИП Иванов И. И.");
    РеквизитИНН = ТекущаяОрганизация.ИНН;
    КонецПроцедуры

    &НаКлиенте
    Процедура Прочитать(Команда)
    ПрочитатьНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура ЗаписатьНаСервере()
    ТекущаяОрганизация = Справочники.Организации.НайтиПоНаименованию("ИП Иванов И. И.");
    ТекущаяОрганизация.ИНН = РеквизитИНН;
    ОрганизацияОбъект = ТекущаяОрганизация.ПолучитьОбъект();
    ОрганизацияОбъект.Записать();
    КонецПроцедуры

    &НаКлиенте
    Процедура Записать(Команда)
    ЗаписатьНаСервере();
    КонецПроцедуры
```

При нажатии на кнопку "Прочитать", в ПолеИНН успешно появляется.
А вот при нажатии на кнопку "Записать", выскакивает ошибка: "Поле объекта недоступно для записи (ИНН)"
---
```1c
    Процедура ЗаписатьНаСервере()
    ТекущаяОрганизация = Справочники.Организации.НайтиПоНаименованию("ИП Иванов И. И.");

    ОрганизацияОбъект = ТекущаяОрганизация.ПолучитьОбъект();

    ОрганизацияОбъект.ИНН = РеквизитИНН;
    //ОрганизацияОбъект= ТекущаяОрганизация.ПолучитьОбъект(); Эту строку переносим вверх

    ОрганизацияОбъект.Записать();
    КонецПроцедуры
```
---
Спасибо. Всё получилось. Дальше постараюсь сам разобраться.