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

05.11.25

Интеграция - Загрузка и выгрузка в Excel

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Универсальная выгрузка-загрузка документа
.epf 18,86Kb ver:1
1 3 050 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Бесплатно
Выгруженный документ
.xlsx 13,63Kb
4 Скачать бесплатно
Краткая информация о ходе выполнения задачи
.doc 33,50Kb
3 Скачать бесплатно

Постановка задачи вот такая:

Необходимо с помощью программных средств платформы и языка 1С разработать внешнюю обработку. Обработка должна запускаться в режиме управляемого приложения.

1. На форме обработки должны быть обеспечены следующие возможности:

  • Выбор ссылки документа произвольного типа
  • Выбор каталога, для сохранения и открытия файла
  • Команда выгрузки документа
  • Команда загрузки документа

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

3. Выгрузка должна осуществляться в формате Excel. Для этого необходимо разработать собственный формат файла выгрузки.

4. При написании обработки необходимо использовать Метаданные. Это делается для универсализации программного кода.

5. При написании обработки нельзя использовать функции ЗначениеВСтрокуВнутр(), УникальныйИдентификатор() и прочие подобные функции, выгружающие уникальные идентификаторы объектов, а также нельзя делать выгрузку и загрузку в формате XML или JSON.

6. Для проверки работоспособности рекомендуется использовать максимально заполненный данными документ.

 

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

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

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

Есть трудности с отладкой? Считаете, что напишете код, который невозможно отладить? И эта "проблема" устранится в процессе решения задачи.

 

Чем Вам поможет изучение данной обработки:

 

1. Читать. Как бы это странно не звучало.

Также в помощь серия статей "Как читать чужой код".

Доработка типовой конфигурации. Обновление доработанной типовой конфигурации

Доработка чужого кода. Code review

Разбор и доработка запросов

Программный интерфейс. Исправление чужих доработок

2. Перестанете думать, что программирование и конфигуратор - это страшные слова.

3. Разбивать большие задачи на маленькие и понятные шаги.

4. Пользоваться простыми конструкциями языка 1С и универсальными коллекциями значений.

5. Решать задачи универсально, т.е. когда на входе много неизвестных параметров.

6. Писать запросы, не используя конструктор запроса.

7. Записывать данные в Excel с использованием обычных макетов.

8. Разбираться в типах данных и их настройках. Даже в страшных регистрах расчета.

9. Читать файл Excel через COM объект. 

Как правильно читать файл Excel можно посмотреть в этой публикации:

Универсальный шаблон для загрузки данных из Excel

10. Знать особенности поиска ссылок в разных объектах метаданных.

11. Вести разработку в режиме отладчика.

 

В качестве примера, вставлю кусок кода, который формируется описание структуры документа:

 

 

Обработка имеет одно ограничение: т.к. мой профиль - ЗУП, объект ПланСчетов не обработан в коде. 

Это не сложно сделать по образцу. Конфигурация и номер релиза указан только для соблюдения формальностей.

Обработка работает на всех конфигурациях.

 

Коллеги, предлагаю поучаствовать в вебинаре по представлениям в ЗУП. Все подробности по ссылке:

Вебинар по представлениям в ЗУП.

 

Примеры моих обработок:

Пример работы с файлами odt в клиент-серверной модели работы

Просмотр регистров по НДФЛ

График вахты в ЗУП: Помощник заполнения и расчет переработок

 

Есть проблемы, потребность в обучении или вопросы по ЗУП - пишите в телегу @PabloFilatelly.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.24.68

Вступайте в нашу телеграмм-группу Инфостарт

См. также

SALE! 10%

Загрузка и выгрузка в Excel Оптовая торговля Бухгалтер Пользователь 1С v8.3 Управляемые формы 1C v8.2 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 1.х 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл эксель, документ 1С и нажимаете кнопку "Загрузить"

8000 руб.

09.11.2016    260978    1156    940    

1083

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 руб.

29.10.2014    226189    710    528    

480

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, Магнит Маркет (быв.МагнитЭкспресс), Лемана про, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:ERP Управление предприятием.

5400 руб.

12.08.2021    42576    492    71    

201

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 24.09.2025, версия 9.12 - 10.4)

19200 руб.

20.11.2015    168386    418    389    

538

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Платные (руб)

Обработки загрузки данных о продажах WildBerries предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 3.0; Розница, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3

6000 руб.

11.12.2019    62459    1062    3    

281

Загрузка и выгрузка в Excel 1С v8.3 1C:Бухгалтерия Платные (руб)

Загрузка в 1С от А до Я - настройка полной автоматической загрузки в 1С прайсов-листов поставщиков Загрузка номенклатуры, характеристик, свойств, картинок, штрихкодов, групп, видов номенклатуры. Поиск, сравнение, подбор соответствий номенклатуры поставщиков.  Загрузка прайсов в форматах Excel, csv, xml, yml, ods. Загрузка многостраничных прайсов. Умеет загружать прайсы из почты, по ссылкам, по Api. Фильтровать, отбирать, менять строки, колонки, применять формулы для цен. Самая быстрая загрузка в 1С - 100 000 товаров менее 1 минуты. Содержит отчеты - по номенклатуре, изменение цен, сравнение прайсов, товары к закупке.  Расширение имеет комплектацию из большого количества разработок!

42000 руб.

25.07.2010    49980    153    105    

219
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gybson 05.11.25 10:31 Сейчас в теме
А про загрузку то где? В какие базы можно загружать, как организацию ищет и т.п.
4. biimmap 2081 05.11.25 11:21 Сейчас в теме
(1) внизу публикации есть ответ на Ваш вопрос. Базы любые, но план счетов не обработан.

Поиск ссылок зависит от объекта метаданных. В коде обработки содержатся комментарии очень подробные.
10. gybson 05.11.25 12:11 Сейчас в теме
(4) т.е. загрузки фактически нет, так как это для обучения
14. biimmap 2081 05.11.25 12:58 Сейчас в теме
(10) Зачем этот вопрос? Почему нет? На форме есть кнопка "Загрузить", в постановке задачи написано, что файл должен назад загружаться, в описании есть вот такой текст:

9. Читать файл Excel через COM объект.

Как правильно читать файл Excel можно посмотреть в этой публикации:

Универсальный шаблон для загрузки данных из Excel

10. Знать особенности поиска ссылок в разных объектах метаданных.


Не вводите себя и окружающих в заблуждение. Прочитайте внимательно описание. Задача решена полностью, а не частично. Для того, чтоб понять как подбираются ссылки нужно смотреть код обработки. Там зеленым цветом всё описано и на этапе выгрузки, и на этапе загрузки.
15. gybson 05.11.25 13:02 Сейчас в теме
(14) это слишком расплывчатое описание чтобы потратить 3к

Задача выгрузки и была всегда тривиальной
16. biimmap 2081 05.11.25 13:11 Сейчас в теме
(15) Постановка задачи описана четко! Навыки, которые можно получить также сформулированы понятно!
Главное внимательно изучать описание.

По сути я уже ответил на Ваш вопрос. Каждая ссылка ищется по своим правилам и выгружаемая информация также зависит от объекта метаданных. Детали Вы увидите в коде. Там много комментариев.

3К в нашей сфере не такая и большая сумма. Вы знаний получите сильно больше чем на 3К. Ни на одних курсах такой код писать не учат! А все эти курсы стоят сильно больше чем 3К.

А дальше каждый сам решает, скачивать или нет. Я не первый день на сайте. Мои публикации обычно и отличаются качеством материала.

можно посмотреть например вот такую статью: https://infostart.ru/1c/articles/1875017/
2. Asmody 05.11.25 11:02 Сейчас в теме
Информация должна быть исчерпывающей
- эдак по ссылкам можно половину ИБ выгрузить...
3. biimmap 2081 05.11.25 11:17 Сейчас в теме
(2) если в цикле по документам и по видам документов, то да😄. Можно и всю выгрузить.
5. aximo 2514 05.11.25 11:44 Сейчас в теме
Много всяких интересных выгрузок загрузок написано - https://infostart.ru/1c/tools/2498969/

Так же одна из них, выгрузка одинаковая - загрузчики разные, все через json
6. biimmap 2081 05.11.25 11:50 Сейчас в теме
(5)
Много всяких интересных выгрузок загрузок написано


на сколько я понимаю, это коммерческие продукты для решения конкретной задачи.
Данная публикация про обучение. здесь нет коммерческой задачи, которая была решена
7. aximo 2514 05.11.25 11:54 Сейчас в теме
(6) есть и коммерческие, есть и не коммерческие.... на текущий день существует куча всяких обменов, которые по своей скорости и корректности превосходят конвертацию
8. biimmap 2081 05.11.25 11:58 Сейчас в теме
(7)
которые по своей скорости и корректности превосходят конвертацию


Я её вообще на дух не переношу! Из-за того какая она кривая написал свой перенос данных с нуля через COM и Excel.
https://infostart.ru/1c/tools/2435200. Это описание идей

https://infostart.ru/1c/tools/2068196. А это как устроен движок
9. aximo 2514 05.11.25 12:03 Сейчас в теме
(8) я много работал с конвертацией, но считаю, что это глубоко-устаревший инструмент. После того как появились веб-сервисы...
11. gybson 05.11.25 12:15 Сейчас в теме
(9) веб-сервисы не решают задачи связанные с конвертацией данных. Если объекты в базах различаются, то можно называть конвертацию данных как угодно, даже веб-сервисом или кроликом, любые слова придумать, но физику не обманешь словами.
12. aximo 2514 05.11.25 12:24 Сейчас в теме
(11) не решают, но хорошо работают со структурированной информацией типа json.

Json + вебсервис
13. gybson 05.11.25 12:54 Сейчас в теме
(12) с json работают библиотеки
Для отправки сообщения требуется регистрация/авторизация