Автозаполнение реквизитов документа

Автозаполнение реквизитов документа

Программисту на заметку: автозаполнение реквизитов документов и справочников

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

Ниже предлагается вариант реализации механизма автозаполнения реквизитов документов по заданным условиям.

1. Создаем подписку на событие «ПередЗаписьюДокумента_АвтозаполнениеРеквизитов». Источник — «ДокументОбъект», событие — «Перед записью», обработчик «ОбщегоНазначения.ПередЗаписьюДокумента_АвтозаполнениеРеквизитов»

2. Текст процедуры общего модуля «ПередЗаписьюДокумента_АвтозаполнениеРеквизитов» и вспомогательных процедур:

Процедура ПередЗаписьюДокумента_АвтозаполнениеРеквизитов(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт ИмяДокумента = Источник.Метаданные().Имя; ТипДокумента = Источник.Метаданные().Синоним; Если Источник.Метаданные().Реквизиты.Найти(«ВидОперации») <> Неопределено Тогда ВидОперации = Строка(Источник.ВидОперации); Иначе ВидОперации = «»; КонецЕсли; // предварительная проверка наличия настроек автозамены для данного типа документа и вида операции Запрос = Новый Запрос; Запрос.УстановитьПараметр(«ТипДокумента»,ТипДокумента); Запрос.УстановитьПараметр(«ВидОперации»,ВидОперации); Запрос.Текст = «ВЫБРАТЬ | ПараметрыАвтозаполненияДокументов.Ссылка |ИЗ | Справочник.ПараметрыАвтозаполненияДокументов КАК ПараметрыАвтозаполненияДокументов |ГДЕ | ПараметрыАвтозаполненияДокументов.ТипДокумента = &ТипДокумента | И ПараметрыАвтозаполненияДокументов.ВидОперации = &ВидОперации | И НЕ ПараметрыАвтозаполненияДокументов.Отключено | И НЕ ПараметрыАвтозаполненияДокументов.ПометкаУдаления»; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Количество() = 0 Тогда Возврат; КонецЕсли; // окончательная проверка наличия настроек автозамены для данного типа документа и вида операции ПараметрыАвтозаполнения = Неопределено; Пока Выборка.Следующий() Цикл УсловияВыполнены = Истина; УсловияАвтозаполнения = Выборка.Ссылка.Условия; Для каждого стр из УсловияАвтозаполнения Цикл Если Источник <> стр.Значение Тогда УсловияВыполнены = Ложь; Прервать; КонецЕсли; КонецЦикла; Если УсловияВыполнены Тогда ПараметрыАвтозаполнения = Выборка.Ссылка.Настройки; Прервать; КонецЕсли; КонецЦикла; Если Не ЗначениеЗаполнено(ПараметрыАвтозаполнения) Тогда Возврат; КонецЕсли; ПредставлениеДокумента = ТипДокумента+» № «+Источник.Номер+» от «+Формат(Источник.Дата,»ДФ=dd.MM.yyyy»); Для каждого стр из ПараметрыАвтозаполнения Цикл Если Не ЗначениеЗаполнено(стр.ТабличнаяЧасть) Тогда // заполняем значения реквизита в шапке документа ИмяРеквизита = ПолучитьИмяРеквизитаПоСинониму(,стр.Реквизит,ИмяДокумента); Если стр.Принудительно или Не ЗначениеЗаполнено(Источник) Тогда Сообщить(» «+ПредставлениеДокумента+»: выполнено «+?(ЗначениеЗаполнено(Источник),»изменение»,»автозаполнение»)+» реквизита «»»+стр.Реквизит+»»»»); Источник = стр.Значение; КонецЕсли; Иначе // заполняем значения реквизита в табличной части ИмяТабличнойЧасти = ПолучитьИмяОбъектаПоСинониму(«ТабличнаяЧасть»,стр.ТабличнаяЧасть,ИмяДокумента); ИмяРеквизита = ПолучитьИмяРеквизитаПоСинониму(ИмяТабличнойЧасти,стр.Реквизит,ИмяДокумента); Для каждого стрТЧ из Источник Цикл Если стр.Принудительно или Не ЗначениеЗаполнено(стрТЧ) Тогда Сообщить(» «+ПредставлениеДокумента+»: выполнено «+?(ЗначениеЗаполнено(стрТЧ),»изменение»,»автозаполнение»)+» реквизита «»»+стр.Реквизит+»»» табличной части «»»+стр.ТабличнаяЧасть+»»»»); стрТЧ = стр.Значение; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; КонецПроцедуры Функция ПолучитьИмяРеквизитаПоСинониму(ИмяТабличнойЧасти=»»,СинонимОбъекта,ИмяДокумента) Экспорт Если Не ЗначениеЗаполнено(ИмяТабличнойЧасти) Тогда // по синониму реквизита шапки документа находим его имя Для каждого Реквизит из Метаданные.Документы.Реквизиты Цикл Если Реквизит.Синоним = СинонимОбъекта Тогда Возврат Реквизит.Имя; КонецЕсли; КонецЦикла; Иначе // по синониму реквизита табличной части документа находим его имя Для каждого Реквизит из Метаданные.Документы.ТабличныеЧасти.Реквизиты Цикл Если Реквизит.Синоним = СинонимОбъекта Тогда Возврат Реквизит.Имя; КонецЕсли; КонецЦикла; КонецЕсли; КонецФункции

3. Создаем справочник «Параметры автозаполнения документов»

Типы значений реквизитов:

ТипДокумента — Строка(100)

ВидОперации — Строка(100)

Отключено — Булево

Реквизит — Строка(100)

Значение — ЛюбаяСсылка, Булево, Строка, Дата, Число

ТабличнаяЧасть — Строка(100)

Реквизит — Строка(100)

Значение — ЛюбаяСсылка, Булево, Строка, Дата, Число

Принудительно — Булево

Форма списка справочника:

Форма элемента справочника:

Модуль формы элемента справочника:

Перем ИмяДокумента; Процедура ПриОткрытии() ИмяДокумента = _ОбщегоНазначения.ПолучитьИмяОбъектаПоСинониму(«Документ»,ТипДокумента); ЗаполнитьСписокТиповДокументов(); КонецПроцедуры Процедура ТипДокументаПриИзменении(Элемент) ВидОперации = «»; Условия.Очистить(); Настройки.Очистить(); ИмяДокумента = _ОбщегоНазначения.ПолучитьИмяОбъектаПоСинониму(«Документ»,ТипДокумента); ЗаполнитьСписокВидовОперацийДокумента(); КонецПроцедуры Процедура ВидОперацииНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) Если ЭлементыФормы.ВидОперации.СписокВыбора.Количество() = 0 Тогда ЗаполнитьСписокВидовОперацийДокумента(); КонецЕсли; КонецПроцедуры Процедура УсловияПередНачаломДобавления(Элемент, Отказ, Копирование) Если Не ЗначениеЗаполнено(ИмяДокумента) Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры Процедура НастройкиПередНачаломДобавления(Элемент, Отказ, Копирование) Если Не ЗначениеЗаполнено(ИмяДокумента) Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры Процедура НастройкиТабличнаяЧастьНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) ЗаполнитьСписокТабличныхЧастейДокумента(); КонецПроцедуры Процедура НастройкиТабличнаяЧастьПриИзменении(Элемент) стр = ЭлементыФормы.Настройки.ТекущаяСтрока; стр.Реквизит = «»; стр.Значение = «»; КонецПроцедуры Процедура УсловияРеквизитНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) ЗаполнитьСписокРеквизитовДокумента_Условия(); КонецПроцедуры Процедура НастройкиРеквизитНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка) стр = ЭлементыФормы.Настройки.ТекущаяСтрока; ЗаполнитьСписокРеквизитовДокумента_Настройки(_ОбщегоНазначения.ПолучитьИмяОбъектаПоСинониму(«ТабличнаяЧасть»,стр.ТабличнаяЧасть,ИмяДокумента)); КонецПроцедуры Процедура УсловияРеквизитПриИзменении(Элемент) стр = ЭлементыФормы.Условия.ТекущаяСтрока; стр.Значение = «»; КонецПроцедуры Процедура НастройкиРеквизитПриИзменении(Элемент) стр = ЭлементыФормы.Настройки.ТекущаяСтрока; стр.Значение = «»; КонецПроцедуры Процедура УсловияПриАктивизацииЯчейки(Элемент) Если Элемент.ТекущаяКолонка.Имя = «Значение» Тогда стр = ЭлементыФормы.Условия.ТекущаяСтрока; Если стр = Неопределено Тогда Возврат; КонецЕсли; Если ЗначениеЗаполнено(стр.Реквизит) Тогда ЗадатьТипЗначенияРеквизита_Условия(стр); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура НастройкиПриАктивизацииЯчейки(Элемент) Если Элемент.ТекущаяКолонка.Имя = «Значение» Тогда стр = ЭлементыФормы.Настройки.ТекущаяСтрока; Если стр = Неопределено Тогда Возврат; КонецЕсли; Если ЗначениеЗаполнено(стр.Реквизит) Тогда ЗадатьТипЗначенияРеквизита_Настройки(стр); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ПередЗаписью(Отказ) // удаляем пустые строки табличной части УСЛОВИЯ ном = Условия.Количество()-1; Пока ном >= 0 Цикл Если Не ЗначениеЗаполнено(Условия.Реквизит) Тогда Условия.Удалить(ном); КонецЕсли; ном = ном — 1; КонецЦикла; // сортируем строки табличной части УСЛОВИЯ Условия.Сортировать(«Реквизит»); // проверяем наличие дублей строк табличной части УСЛОВИЯ табУсловия = Условия.Выгрузить(); табУсловия.Колонки.Добавить(«Счетчик»); табУсловия.ЗаполнитьЗначения(1,»Счетчик»); табУсловия.Свернуть(«Реквизит»,»Счетчик»); Для каждого стр из табУсловия Цикл Если стр.Счетчик > 1 Тогда Сообщить(«Обнаружены дубли строк в табличной части «»Условия отбора»» !»); Отказ = Истина; КонецЕсли; КонецЦикла; // удаляем пустые строки табличной части НАСТРОЙКИ ном = Настройки.Количество()-1; Пока ном >= 0 Цикл Если Не ЗначениеЗаполнено(Настройки.Реквизит) Тогда Настройки.Удалить(ном); КонецЕсли; ном = ном — 1; КонецЦикла; // сортируем строки табличной части НАСТРОЙКИ Настройки.Сортировать(«ТабличнаяЧасть,Реквизит»); // проверяем наличие дублей строк табличной части НАСТРОЙКИ табНастройки = Настройки.Выгрузить(); табНастройки.Колонки.Добавить(«Счетчик»); табНастройки.ЗаполнитьЗначения(1,»Счетчик»); табНастройки.Свернуть(«ТабличнаяЧасть,Реквизит»,»Счетчик»); Для каждого стр из табНастройки Цикл Если стр.Счетчик > 1 Тогда Сообщить(«Обнаружены дубли строк в табличной части «»Настройки заполнения»» !»); Отказ = Истина; КонецЕсли; КонецЦикла; Если Отказ Тогда Возврат; КонецЕсли; // проверяем наличие дублей в справочнике Запрос = Новый Запрос; Запрос.УстановитьПараметр(«ТипДокумента»,ТипДокумента); Запрос.УстановитьПараметр(«ВидОперации»,ВидОперации); Запрос.УстановитьПараметр(«Ссылка»,Ссылка); Запрос.Текст = «ВЫБРАТЬ | ПараметрыАвтозаполненияДокументов.Ссылка |ИЗ | Справочник.ПараметрыАвтозаполненияДокументов КАК ПараметрыАвтозаполненияДокументов |ГДЕ | ПараметрыАвтозаполненияДокументов.ТипДокумента = &ТипДокумента | И ПараметрыАвтозаполненияДокументов.ВидОперации = &ВидОперации | И ПараметрыАвтозаполненияДокументов.Ссылка <> &Ссылка»; Выборка = Запрос.Выполнить().Выбрать(); ЕстьСовпадения = Ложь; Пока Выборка.Следующий() Цикл УсловияОтбора = Выборка.Ссылка.Условия; Если Условия.Количество() <> УсловияОтбора.Количество() Тогда Продолжить; Иначе Если Условия.Количество() = 0 Тогда ЕстьСовпадения = Истина; КонецЕсли; КонецЕсли; Для ном = 0 по Условия.Количество()-1 Цикл Если Условия.Реквизит <> УсловияОтбора.Реквизит или Условия.Значение <> УсловияОтбора.Значение Тогда Прервать; Иначе ЕстьСовпадения = Истина; КонецЕсли; КонецЦикла; Если ЕстьСовпадения Тогда Сообщить(«В справочнике «»Параметры автозаполнения документов»» уже есть настройки для данного типа документа и вида операции с аналогичными условиями отбора !»); Отказ = Истина; Прервать; КонецЕсли; КонецЦикла; КонецПроцедуры Процедура ЗаполнитьСписокТиповДокументов() СписокТиповДокументов = Новый СписокЗначений; // заполним список доступных типов документов Для каждого эл из Метаданные.Документы Цикл СписокТиповДокументов.Добавить(эл.Синоним,эл.Синоним); КонецЦикла; ЭлементыФормы.ТипДокумента.СписокВыбора = СписокТиповДокументов; КонецПроцедуры Процедура ЗаполнитьСписокВидовОперацийДокумента() СписокВидовОперацийДокумента = Новый СписокЗначений; РеквизитВидОперации = Метаданные.Документы.Реквизиты.Найти(«ВидОперации»); Если РеквизитВидОперации <> Неопределено Тогда Реквизит = РеквизитВидОперации.Тип.ПривестиЗначение(); // заполним список возможных видов операций документа Для каждого эл из Реквизит.Метаданные().ЗначенияПеречисления Цикл СписокВидовОперацийДокумента.Добавить(эл.Синоним,эл.Синоним); КонецЦикла; КонецЕсли; ЭлементыФормы.ВидОперации.СписокВыбора = СписокВидовОперацийДокумента; Если СписокВидовОперацийДокумента.Количество() > 0 Тогда ЭлементыФормы.НадписьВидОперации.Доступность = Истина; ЭлементыФормы.ВидОперации.Доступность = Истина; Иначе ВидОперации = «»; ЭлементыФормы.НадписьВидОперации.Доступность = Ложь; ЭлементыФормы.ВидОперации.Доступность = Ложь; КонецЕсли; КонецПроцедуры Процедура ЗаполнитьСписокТабличныхЧастейДокумента() СписокТабличныхЧастейДокумента = Новый СписокЗначений; Для каждого тч из Метаданные.Документы.ТабличныеЧасти Цикл СписокТабличныхЧастейДокумента.Добавить(тч.Синоним,тч.Синоним); КонецЦикла; ЭлементыФормы.Настройки.Колонки.ТабличнаяЧасть.ЭлементУправления.СписокВыбора = СписокТабличныхЧастейДокумента; КонецПроцедуры Процедура ЗаполнитьСписокРеквизитовДокумента_Условия() РеквизитВидОперации = Метаданные.Документы.Реквизиты.Найти(«ВидОперации»); СписокРеквизитовДокумента = Новый СписокЗначений; Для каждого эл из Метаданные.Документы.Реквизиты Цикл Если эл = РеквизитВидОперации Тогда Продолжить; КонецЕсли; СписокРеквизитовДокумента.Добавить(эл.Синоним,эл.Синоним); КонецЦикла; ЭлементыФормы.Условия.Колонки.Реквизит.ЭлементУправления.СписокВыбора = СписокРеквизитовДокумента; КонецПроцедуры Процедура ЗаполнитьСписокРеквизитовДокумента_Настройки(ИмяТабличнойЧасти) РеквизитВидОперации = Метаданные.Документы.Реквизиты.Найти(«ВидОперации»); СписокРеквизитовДокумента = Новый СписокЗначений; Если Не ЗначениеЗаполнено(ИмяТабличнойЧасти) Тогда Для каждого эл из Метаданные.Документы.Реквизиты Цикл Если эл = РеквизитВидОперации Тогда Продолжить; КонецЕсли; СписокРеквизитовДокумента.Добавить(эл.Синоним,эл.Синоним); КонецЦикла; Иначе Для каждого эл из Метаданные.Документы.ТабличныеЧасти.Реквизиты Цикл СписокРеквизитовДокумента.Добавить(эл.Синоним,эл.Синоним); КонецЦикла; КонецЕсли; ЭлементыФормы.Настройки.Колонки.Реквизит.ЭлементУправления.СписокВыбора = СписокРеквизитовДокумента; КонецПроцедуры Процедура ЗадатьТипЗначенияРеквизита_Условия(стр) ИмяРеквизита = _ОбщегоНазначения.ПолучитьИмяРеквизитаПоСинониму(,стр.Реквизит,ИмяДокумента); ТипРеквизита = _ОбщегоНазначения.ПолучитьТипРеквизитаПоИмени(,ИмяРеквизита,ИмяДокумента); Если ТипЗнч(стр.Значение) <> ТипЗнч(ТипРеквизита.ПривестиЗначение()) Тогда стр.Значение = ТипРеквизита.ПривестиЗначение(); ЭлементыФормы.Условия.Колонки.Значение.ЭлементУправления.ОграничениеТипа = ТипРеквизита; ЭлементыФормы.Условия.Колонки.Значение.ЭлементУправления.Значение = ТипРеквизита.ПривестиЗначение(); КонецЕсли; КонецПроцедуры Процедура ЗадатьТипЗначенияРеквизита_Настройки(стр) ИмяТабличнойЧасти = _ОбщегоНазначения.ПолучитьИмяОбъектаПоСинониму(«ТабличнаяЧасть»,стр.ТабличнаяЧасть,ИмяДокумента); ИмяРеквизита = _ОбщегоНазначения.ПолучитьИмяРеквизитаПоСинониму(ИмяТабличнойЧасти,стр.Реквизит,ИмяДокумента); ТипРеквизита = _ОбщегоНазначения.ПолучитьТипРеквизитаПоИмени(ИмяТабличнойЧасти,ИмяРеквизита,ИмяДокумента); Если ТипЗнч(стр.Значение) <> ТипЗнч(ТипРеквизита.ПривестиЗначение()) Тогда стр.Значение = ТипРеквизита.ПривестиЗначение(); ЭлементыФормы.Настройки.Колонки.Значение.ЭлементУправления.ОграничениеТипа = ТипРеквизита; ЭлементыФормы.Настройки.Колонки.Значение.ЭлементУправления.Значение = ТипРеквизита.ПривестиЗначение(); КонецЕсли; КонецПроцедуры

Как это работает

При срабатывании события «ПередЗаписью» документа выполняется проверка, есть ли элементы справочника с подходящим типом документа и видом операции, если есть, выполняется проверка дополнительных условий, и затем указанные в справочнике реквизиты шапки либо табличной части документа заполняются заданным в справочнике значением.

Замечания

1. Для табличной части реквизит заполняется одновременно для всех строк

2. Предполагается, что синонимы реквизитов объектов метаданных — уникальны в пределах этого объекта

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

Один из таких механизмов, более всего востребованный в системах управления корпоративным контентом – автоматическое заполнение шаблонов файлов.

Что позволяет реализовать этот механизм и для чего он необходим в корпоративных СЭД?

Автоматическое заполнение шаблонов файлов (автозаполнение файлов) – это перенос текущих значений реквизитов из карточки документа в ранее определенные места в шаблоне прикрепленного файла.

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

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

Настройка автозаполнения типового шаблона договора в 1С:Документооборот

Рассмотрим самый простой пример настройки и реализации автозаполнения шаблонов в документообороте. Предварительно в настройках программы включим функциональную опцию «Использовать автозаполнение шаблонов файлов» в подразделе «Настройка программы-Настройка работы с файлами».

Рис.1 Включить автозаполнение

В уже созданном шаблоне типового договора нужно перейти на вкладку «Файлы».

Рис.2 Виды документовРис.3 Типовой договор

На данной вкладке находятся шаблоны файлов, которые автоматически добавляются в документ при его формировании из данного шаблона документа. Необходимо отметить, что у каждого вида документа может быть несколько шаблонов документов (например, каждый из шаблонов с определенным шаблоном файла), и в каждом шаблоне документа может быть несколько шаблонов файлов. В случае с договорами это может быть, например, шаблон самого договора, спецификация к нему, протокол разногласий и т.д. При этом для каждого шаблона файла существует индивидуальная настройка автозаполнения. При переходе по ссылке «Открыть в Настройке автозаполнения» открывается форма настроек.

Рис.4 Настройка автозаполнения

Для корректной настройки механизма автозаполнения необходимо знать, что типовое реквизитное автозаполнение, т.е. обращение к реквизитам через точку, работает только для файлов формата *.doc. Это формат Word, используемый более ранними версиями MS Office. Основной минус при использовании данного формата файлов для автозаполнения заключается в том, что в веб-клиенте такое автозаполнение не работает.

Бесплатная
консультация
экспертаНаталия Сиворина Консультант-аналитик 1С Спасибо за Ваше обращение! Специалист 1С свяжется с вами в течение 15 минут.

Более современным и универсальным форматом является *.docx. Он представляет собой специальным образом заархивированный стандартный формат XML. Для его автозаполнения используются скрипты – выражения на встроенном языке.

Рис.5 Скрипты

Пример скрипта для автозаполнения реквизита ФИО сотрудника выглядит так:

Если НЕ Файл.Пустая() И НЕ Файл.ВладелецФайла = Неопределено И НЕ Файл.ВладелецФайла.Пустая() И НЕ Файл.ВладелецФайла.Ссылка = Неопределено И НЕ Файл.ВладелецФайла.Ссылка.Пустая() Тогда Для Каждого ДопРеквизит Из Файл.ВладелецФайла.Ссылка.ДополнительныеРеквизиты Цикл Если (Строка(ДопРеквизит.Свойство) = «Работник») Или (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДопРеквизит.Свойство, «Заголовок») = «Работник») Тогда РезультатОбработки = ДопРеквизит.Значение; КонецЕсли; КонецЦикла;КонецЕсли;

Для заполнения данными из карточки документа шаблон файла предварительно необходимо соответствующим образом разметить.

Рис.6 Автозаполнение

После разметки автозаполняемых реквизитов шаблона файла и подготовки соответствующих скриптов автозаполнения проверим полученный результат. Для этого по команде «Проверить настройку заполнения» откроем подходящий существующий документ данного вида.

Рис.7 Проверка автозаполненияРис.8 Заполненный документ

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

Рис.9 Настройка шаблона

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

Автоматическое заполнение реквизитов контрагента в программе «1С:Бухгалтерия 8»

С выходом программного продукта «1С:Бухгалтерия 8» редакции 3.0.35.25 система стала способна автоматически заполнять реквизиты контрагентов. Единственное, что необходимо указать вручную – это идентификационный номер налогоплательщика (ИНН). Данное нововведение позволяет экономить время сотрудников бухгалтерии, а также помогает оперативно получить актуальные данные о контрагенте, сразу внести их в программу и избежать каких-либо ошибок при вводе информации.
Новая версия программы предоставляет возможность автозаполнения реквизитов контрагента на основании сведений, доступных в ЕГРЮЛ/ЕГРИП. Чтобы воспользоваться этой функцией, необходимо войти в справочник Контрагенты и начать создание нового контрагента. Единственное поле, в которое нужно внести данные – это строка ИНН, после чего простого нажатия клавиши Enter на клавиатуре или кнопки Заполнить реквизиты по ИНН будет достаточно для запуска процесса автозаполнения.

Все необходимые реквизиты контрагента будут заполнены автоматически, если соблюдены два условия:

  1. Поле ИНН заполнено корректно;
  2. Информация о контрагенте доступна в едином государственном реестре.

Если в едином государственном реестре юридических лиц есть данные по организации, будут заполнены следующие реквизиты:

  • код причины постановки на учет (КПП);
  • наименование (краткая и полная форма);
  • юридический адрес;
  • основное контактное лицо (в это поле нужно внести данные руководителя организации);
  • контактный телефон.

Если заполняются реквизиты индивидуального предпринимателя, будут внесены данные в поля Наименование и Полное наименование.
Функция автоматического заполнения реквизитов позволяет создавать новых контрагентов из любого справочника или документа «1С:Бухгалтерии 8». Чтобы воспользоваться этой возможностью, необходимо ввести ИНН в поле наименования контрагента. Если в базе данных программы отсутствует информация по контрагенту с таким ИНН, система предложит пользователю добавить нового контрагента. При создании карточки контрагента будет открыта форма с уже заполненными полями.

Для того, чтобы обеспечить корректную работу функции автоматического заполнения реквизитов контрагента, необходимо действующее подключение к интернету и активный договор информационно-технологического сопровождения (1С:ИТС).


Добавить комментарий

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