Ввод документа

Содержание

Ввод на основании в 1С программно

Ввод документа

Рассмотрим простой пример программного ввода документа в 1С на основании. Допустим необходимо после проведения приходного документа «Приход» создать расходный документ «Расход» на основании данных полученных из приходного документа.

Простое создание на основании стандартным способом платформы 1С

В документе «Расход» или «Приход» нужно настроить связь на вкладке «Ввод на основании»:

Где указать с кем он связан:

Должна получиться следующая картина:

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания – попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Далее в модуле документа «Расход» нужно создать процедуру «Обработка заполнения» с помощью клика в верхнем меню:

Если в документе уже существуют данная процедура — нужно не создавать новую, а добавлять код в существующую процедуру.

И прописать программный код заполнения. Пример кода:

//Код из модуля объекта документа “Расход”. Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)                       Если ТипЗнч(ДанныеЗаполнения) = Тип(“ДокументСсылка.Приход”) Тогда                                               Склад = ДанныеЗаполнения.Склад;                         Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл                                    НоваяСтрока = Товары.Добавить();                                    НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;                                    //… заполняем другие реквизиты табличной части                         КонецЦикла;                                   КонецЕсли; КонецПроцедуры

Программный код можно также создать автоматически для этого нужно воспользоваться «Конструктором ввода на основания».

Конструктор ввода на основании

Чтобы в 1С автоматически создать процедуру, нужно нажать на кнопку «Конструктор ввода на основании»:

Где с помощью функции «Заполнить выражения» можно автоматически сопоставить название реквизитов:

Если реквизиты различаются по названию, их можно сопоставить вручную. Например, в одной табличной части у вас реквизит «Номенклатура», а в другой «Товар».

После нажатия на «Ок», 1С сама сформирует готовый программный код:

Внимание! Конструктор нельзя использовать, если процедура заполнения уже существует — вы потеряете существующий программный код.

Создание документа после записи первого документа с последующей записью созданного

Для реализации такой задачи можно использовать метод объекта Заполнить(), в параметры которого необходимо будет передать данные заполнения из документа прихода.  Метод инициирует событие ОбработкаЗаполнения() и вызов процедуры-обработчика в модуле объекта документа «Расход».

Пример кода:

//Код из модуля формы документа “Приход”. &НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)                   //Создаём новый документ             НовДокумент = Документы.Расход.СоздатьДокумент();             //Заполняем созданный документ (реквизиты документа заполняются значениями, которые совпадают по именам реквизитов)             НовДокумент.Заполнить(ТекущийОбъект.Ссылка);             //Записываем созданный документ             НовДокумент.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Оперативный);           КонецПроцедуры //Код из модуля объекта документа “Расход”. Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)                       Если ТипЗнч(ДанныеЗаполнения) = Тип(“ДокументСсылка.Приход”) Тогда                                               Склад = ДанныеЗаполнения.Склад;                         Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл                                    НоваяСтрока = Товары.Добавить();                                    НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;                                    //… заполняем другие реквизиты табличной части                         КонецЦикла;                                   КонецЕсли; КонецПроцедуры

Создание объекта  после записи с открытием управляемой формы

Для программного создания документа в 1С с открытием управляемой формы пользователю можно использовать функцию ОткрытьФорму(), в параметры которой можно передавать данные для заполнения.

Пример кода:

//Код из модуля формы документа “Приход”. &НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи) //Создаём структуру для передачи в виде параметра при открытии формы. ПараметрыФормы = Новый Структура(“Основание”, Объект.Ссылка); //Открываем форму документа расход с передачей данных для заполнения ОткрытьФорму(“Документ.Расход.ФормаОбъекта”, ПараметрыФормы); КонецПроцедуры //Код из модуля объекта документа “Расход”. Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип(“ДокументСсылка.Приход”) Тогда Склад = ДанныеЗаполнения.Склад; Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл НоваяСтрока = Товары.Добавить(); НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура; // … заполняем другие реквизиты табличной части КонецЦикла; КонецЕсли; КонецПроцедуры

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник: https://programmist1s.ru/sozdat-na-osnovanii-programmno/

Ввод документов в СЭД: С чего начать?

Ввод документа

В терминологии разработчиков СЭД оцифровка документов носит название “document imaging” (создание цифровых образов документов), и эта функциональность является обязательной для любой современной системы электронного документооборота. К основным стадиям документооборота относятся:

  • Подготовка документов.
  • Сканирование.
  • Контроль качества сканирования.
  • Ввод документов в СЭД.
  • Индексация.

Мы сфокусируемся на первом и последнем этапе документооборота.

Подготовка информации к вводу в систему электронного документооборота

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

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

Индексация документов

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

Как правило, в делопроизводстве под индексацией понимается присвоение документу регистрационного номера и условных обозначений – ключевых слов и аббревиатур, и практически все СЭД, в том числе СЭД ТЕЗИС, поддерживают эту функциональность, предлагая возможности автоматического нумератора.

Это, разумеется, способствует стандартизации документов, однако индексация в ее «околокомпьютерном» понимании имеет несколько другое значение и предлагает больше возможностей.

Под индексацией в терминологии IT понимается процесс добавления сведений о существовании некоторой информации в поисковую систему.

В системе документооборота ТЕЗИС существует модуль распознавания текста, разработанный в сотрудничестве с ABBYY – признанным лидером российского рынка распознавания отсканированных текстов.

Кроме того, платформа CUBA, на которой строится СЭД ТЕЗИС, предлагает возможности полнотекстового поиска по загруженным в систему документам – как регистрационным карточкам, так и вложениям.

Автоматизированный ввод документов в СЭД осуществляется посредством интеграции с ABBYY Recognition Server – программным обеспечением, позволяющим осуществлять массированное распознавание документов. Как это работает? Сканированные документы загружаются в карточки СЭД ТЕЗИС как вложения в виде файлов .pdf, .tiff или .

png, то есть, в тех форматах, которые получаются на выходе у большинства современных сканеров. Сервер распознавания ABBYY автоматически преобразует изображения в электронные редактируемые форматы – PDF-документ, документ Microsoft Word или файл XML.

Затем модуль полнотекстового поиска производит индексацию – попросту говоря, запоминает, что в системе есть такой файл.

После добавления вложения делопроизводитель может вносить данные в карточку документа простым копированием распознанного текста из вложения, и ему становится доступен полнотекстовый поиск документа по его содержимому. Техническая деталь: для этого используется популярный движок Apache Lucene.

Ежедневное сканирование

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

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

Для бумажных документов из внешних источников, как правило, штрих-коды печатаются в виде наклеек. СЭД ТЕЗИС поддерживает печать двух видов кодов, широко применяющихся на территории России – штрих-кода и QR-кода.

В целом, ключ к успешному вводу документов в СЭД начинается с планирования. Важно понять, какие типы документов будут сканироваться и вводиться в СЭД, какое нужно «железо», каким образом будет проводиться индексация отсканированных документов. Кроме того, важно выбрать и протестировать СЭД, способную удовлетворить ваши разумные ожидания.

Источник: https://www.tezis-doc.ru/blog/vvod-dokumentov-v-sed-s-chego-nachat/

Способы ввода первичных документов: загрузка через excel, облачный сервис Entera.pro или ЭДО

Ввод документа

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

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

Оно уже здесь.

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

  1. Ручной ввод данных в систему учета
  2. Обмен документами с поставщиками по заранее согласованным форматам (загрузка из excel и др.)
  3. Облачные сервисы распознавания и загрузки данных (Entera.pro)
  4. Переход на электронный документооборот (ЭДО)

Ручной ввод данных в 1С

Первый способ всем хорошо знаком и пользуется популярностью у большинства бухгалтеров, однако, стоит отметить, что он уже исчерпал себя. Если спросить любого бухгалтера, в чем его проблема, то мы однозначно получим единогласный ответ — ручной ввод первички.

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

Человеческий фактор попросту уже не справляется в одного с таким объемом работы.  

Обмен документами с поставщиками в формате excel и загрузка в 1С

Более приближенный к современным технологиям способ получения документов от поставщиков — это обмен и загрузка в формате excel.

Сегодня представляется возможным договориться с контрагентами получать входящие документы в заранее согласованных форматах, например в формате excel.

Контрагент обработкой создает Excel файлы поступлений и присылает их принимающей стороне. После чего последняя внешней обработкой создает документ поступление в 1С. Так это происходит.

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

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

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

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

Все же главным недостатком остается то, что, к сожалению, далеко не всегда можно договориться с поставщиками о таком обмене документами (в excel). Остаются проблемы с сопоставлением номенклатур, настройкой внешних обработок, проверкой поступления с оригиналом документа и т.д.

Минусы:

  • Большая часть поставщиков не желает переключаться на обмен документами в цифровом формате и вкладывать в это средства;
  • Отсутствие единой формы excel документов у поставщиков;
  • Программный модуль внешней обработки документов в excel-формате поддерживается только на 1С.

Плюсы:

  • Скорость обработки документов выше, чем при ручном вводе;
  • Меньший риск допущения ошибок, чем при ручном вводе.

Облачные сервисы распознавания и загрузки данных

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

Возможно, кто-то из Вас уже слышал про автоматизацию ввода данных из документов в систему учета? Вероятно некоторые даже пробовали соответствующее ПО и довольны результатом.

Также в последние годы набирают популярность облачные системы учета: 1С фреш, Мое дело, Контур бухгалтерия… Люди доверяют облачным системам свои личные данные, такие, как данные по банковским картам, паспортные данные… Поэтому предлагаю поговорить о переходе на облачные сервисы обработки данных с первичных документов.

Как это работает на деле? Первый шаг — сфотографировать или отсканировать страницу документа, таким образом загрузив документ в сервис. Следующий шаг за Вас выполняет программа, она распознает документ, картинка преобразуется в текст.

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

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

Если Вы раньше тратили на ввод данных из документа и заведение в систему учета грубо говоря 10 минут, то тут Вы будете тратить в 5-7 раз меньше.

Плюсы:

  • Низкая вероятность ошибок при вводе данных;
  • Высокая скорость ввода данных с первички;
  • Значительная экономия времени и денег (в частности для среднего и малого бизнеса);
  • Возможность больше времени уделять приоритетным задачам;
  • Разнообразие способов загрузки документов (по электронной почте, через горячую папку, мобильное приложение или через браузер);
  • Автоматическая проверка реквизитов и правильности заполнения табличной части документов значительно снижает вероятность ошибок при подаче отчетности в налоговую;
  • Точное сопоставление номенклатуры и контрагентов из документа с соответствующими карточками ваших справочников 1С, при отсутствии таковых новые элементы создаются автоматически;
  • Отсутствие необходимости что-то менять в отношениях «покупатель-поставщик», не нужно убеждать поставщиков переходить на ЭДО. Вы у себя в организации меняете процесс с ручного на автоматический, применяя сервис.

Мы не отрицаем того, что программа полностью не освобождает бухгалтера от ручного ввода.

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

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

Приведем успешный кейс, по которому можно понять, что польза от применения сервиса по вводу первички очевидна.

Строительная компания получала многостраничную первичку с большим набором номенклатуры. Отдел бухгалтерии перестал справляться с таким объемом первички и появилась острая потребность в найме дополнительного персонала. Это показалось крайне невыгодно с экономической точки зрения, на взгляд руководителя.

Ведь компания не является корпорацией, и не располагает бездонным бюджетом, чтобы раскидываться им налево и направо. Было это совпадением или нет, мы уже никогда не узнаем. Но, как раз в тот момент компания нашла и опробовала программу по автоматическому вводу данных Entera pro. В результате, бухгалтерам удалось выполнить всю работу в 7 раз быстрее.

При этом, услуги сервиса им обошлись гораздо дешевле, чем найм дополнительного персонала.

Источник: https://entera.pro/sposoby-vvoda-pervichnyx-dokumentov-zagruzka-cherez-excel-oblachnyj-servis-entera-pro-ili-edo/

Ввод на основании

Ввод документа

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

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

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

Рассмотрим работу механизма ввода на основании на следующем примере: Организация оказывает услуги пассажирского такси. Заказы покупателей регистрируются в документе «Заказ». Заказ может быть формируется диспетчером. Документ «Заказ» содержит следующую информацию:

  1. имя клиента
  2. адрес клиента
  3. адрес откуда
  4. адрес куда
  5. время подачи
  6. желаемый класс автомобиля
  7. список желаемых опций

Имя клиента, его адрес и телефон хранятся в справочнике «Клиенты». В данном примере будет реализован ввод документа на основании справочника. С целью упрощения примера справочник будет только один – «Клиенты», вся остальная информация будет вводиться вручную.

Создание объектов конфигурации

Справочник “Клиенты”:

Документ «Заказ»:

Реализация

В свойствах документа «Заказ» перейдем на закладку «Ввод на основании»:

Нажмем кнопку «Редактировать элемент списка» и выберем из списка справочник «Клиенты»:

Далее запустим конструктор ввода на основании нажатием на кнопку “Конструктор ввода на основании”:

В открывшемся окне нужно сопоставить поля справочника с реквизитами документа заказа. Это можно сделать, нажав кнопку «Заполнить выражения» и тогда система попытается сама определить, какие поля необходимо скопировать:

Поле адреса нужно сопоставлять вручную, выбрав поле «АдресОткуда» в нижней части, а затем двойным щелчком на реквизите «Адрес» в реквизитах объекта обоснования:

По нажатию «ОК» система генерирует следующий код в модуле документа «Заказ» в процедуре ОбработкаЗаполнения:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) = Тип(“СправочникСсылка.Клиенты”) Тогда // Заполнение шапки АдресОткуда = ДанныеЗаполнения.Адрес; Клиент = ДанныеЗаполнения.Ссылка; Телефон = ДанныеЗаполнения.Телефон; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры

Процедура ОбработкаЗаполнения вызывается в ряде случаев, таких как ввод нового документа интерактивно и ввод на основании.

В данном случае, если переменная ДанныеЗаполнения является ссылкой на справочник клиентов, выполняется заполнение реквизитов документа. Код обработчика можно модифицировать. Предположим, что клиенты чаще всего хотят подачу такси в течение 15-20 минут.

Тогда в код обработчика можно добавить инициализацию реквизита «ВремяПодачи». Также удалим комментарии, созданные конструктором:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип(“СправочникСсылка.Клиенты”) Тогда АдресОткуда = ДанныеЗаполнения.Адрес; Клиент = ДанныеЗаполнения.Ссылка; Телефон = ДанныеЗаполнения.Телефон; ВремяПодачи = ТекущаяДата() + 900; // 15 * 60 секунд КонецЕсли; КонецПроцедуры

 Запустим приложение в режиме отладки и проверим, как работает ввод на основании. Добавим пару записей в справочник клиентов:

Откроем одну из них. В окне будет доступна кнопка «Создать на основании», по нажатию которой откроется список с опцией выбора «Заказ»:

При выборе «Заказ» система создает пустой документ и заполняет поля в процедуре ОбработкаЗаполнения:

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

Теперь предположим, что у клиентов могут быть опции, которые всегда присутствуют в заказе данного клиента. Например, «Некурящий водитель». Тогда их можно задавать в справочнике клиентов и копировать в документ заказа. Расширим справочник «Клиенты» табличной частью «Опции»:

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

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип(“СправочникСсылка.Клиенты”) Тогда // Заполнение шапки АдресОткуда = ДанныеЗаполнения.Адрес; Клиент = ДанныеЗаполнения.Ссылка; Телефон = ДанныеЗаполнения.Телефон; ВремяПодачи = ТекущаяДата() + 900; // 15 * 60 секунд Для Каждого ТекСтрока Из ДанныеЗаполнения.Опции Цикл НоваяЗапись = Опции.Добавить(); НоваяЗапись.Опция = ТекСтрока.Опция; НоваяЗапись.Количество = ТекСтрока.Количество; КонецЦикла; КонецЕсли; КонецПроцедуры

 Запустим конфигурацию в режиме отладки и посмотрим, что получилось. Добавим опции клиенту:

Сохраним данные и создадим заказ на основании записи справочника:

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

Источник: https://infostart.ru/1c/articles/333200/

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.