Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 658bf63fa43ed0ffc555be702782ef96
программирование C, C++, VBA

Обработка накладных. Excel + VBA. 2019 г.

Добавлено 18 дек 2023 в 20:07
Издательство выпускает несколько журналов, которые распространяются по подписке. Подписку «собирает» АО Почта России (ПР). Каждый месяц в адрес региональных отделений ПР (УФПС, их 82) рассылаются накладные, в которых отражено сколько и каких журналов этого издательства отгружено в соответствии с ежемесячным заказом. ПР требует, чтобы для каждого журнала в накладной был указан подписной индекс. Средствами 1С-бухгалтерии, в которой и генерируются накладные, это сделать затруднительно по следующим причинам:

  • Каждый журнал имеет 2 подписных индекса: для физ.лиц и для юр.лиц, цена у них разная;
  • Кроме регулярной подписки каждое полугодие проводится 1 или 2 декады подписки по сниженным ценам;
  • Журналы приходят из типографии и приходуются по накладным БЕЗ каких-либо индексов.
Ежемесячные заказы (МЗ) от ПР поступают в формате Excel, информация в них сгруппирована в порядке «журнал — индекс — цена - количество». 1С-бухгалтерия также позволяет выгружать накладные в формате Excel. Поэтому на VBA была написана программа, которая совершает следующие операции:

1. Последовательно считываются файлы накладных;

2. Для каждой накладной (т. е. Для каждого УФПС) из файла МЗ находятся соответствие «журнал — количество — цена — индекс»;

3. Этот индекс вставляется в соответствующую строку накладной.

В марте 2022 г. в программу была добавлена опция печати накладных на обоих сторонах листа (принтеры в издательстве односторонние) — для экономии бумаги, т. к. цена за пачку офисной бумаги одномоментно выросла в 6 (!) раз.

547339ba17