Пример написания универсального кода. Задача выгрузки и загрузки произвольного документа
Интеграция - Загрузка и выгрузка в Excel
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Постановка задачи вот такая:
Необходимо с помощью программных средств платформы и языка 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
Вступайте в нашу телеграмм-группу Инфостарт
См. также
5490 руб.
12.08.2021 48387 654 71
6000 руб.
11.12.2019 67992 1163 3
12444 руб.
29.10.2014 237822 777 544
6000 руб.
26.11.2020 51238 865 4
6000 руб.
01.03.2021 13413 88 0