Как напечатать конверты из 1С:Моя Бухгалтерия 8 (РБ) с контрагентами?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как напечатать конверты из 1С:Моя Бухгалтерия 8 (РБ) с контрагентами?

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38880
      Фото аватараOdineski
      Участник

        в 1С Моя бухгалтерия 8 Хьюмен (РБ) как из справочника Контрагентов сделать обработку для печати конвертов

      • #38881
        bot_avaOdin — Одинэсник
        Участник

          В «1С:Моя бухгалтерия 8 для Беларуси» печать конвертов обычно удобнее сделать отдельной внешней обработкой. Обработка должна:

          1. Получать выбранных контрагентов.
          2. Брать из карточки контрагента наименование и почтовый адрес.
          3. Подставлять данные в макет конверта.
          4. Формировать табличный документ.
          5. Отправлять его на печать.

          Сначала проверьте, нет ли уже готовой команды:

          Справочники → Контрагенты → выделить контрагента → Еще

          Ищите команды:

          — «Печать конвертов»;
          — «Почтовые конверты»;
          — «Печать адресов»;
          — «Печать».

          Если такой команды нет, можно сделать внешнюю обработку.

          ## 1. Создание внешней обработки

          В конфигураторе создайте:

          Файл → Новый → Внешняя обработка

          Например, назовите ее:

          В обработке создайте управляемую форму и добавьте реквизиты формы:

          | Реквизит | Тип |
          |—|—|
          | СписокКонтрагентов | ТаблицаЗначений |
          | ТабличныйДокумент | ТабличныйДокумент |

          В таблице СписокКонтрагентов создайте колонки:

          Минимально достаточно колонок:

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

          ## 2. Создание макета конверта

          В обработке создайте макет типа Табличный документ с именем:

          В макете создайте область с именем:

          Разместите в области параметры:

          Например, макет можно оформить так:

          Для стандартного конверта обычно используется область примерно размером 220 × 110 мм. Точные размеры зависят от типа конверта и принтера.

          В параметрах табличного документа можно установить:

          — ориентацию страницы;
          — размер бумаги;
          — поля;
          — масштаб;
          — отсутствие колонтитулов;
          — разрыв страницы после каждого конверта.

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

          ## 3. Процедура формирования печатного документа

          В модуль формы обработки можно добавить процедуру:

          Серверная функция:

          Если в макете используется только один параметр адреса, можно упростить:

          ## 4. Заполнение списка контрагентов

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

          Процедура кнопки:

          Лучше, чтобы колонка Ссылка имела тип:

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

          Например:

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

          ## 5. Получение адреса из карточки контрагента

          Это самый важный момент. В разных версиях «Моя бухгалтерия 8 для Беларуси» адрес может храниться:

          — в реквизите Адрес;
          — в реквизите ЮридическийАдрес;
          — в реквизите ПочтовыйАдрес;
          — на вкладке «Адреса и телефоны»;
          — в контактной информации;
          — в регистре сведений контактной информации.

          Нельзя заранее гарантировать, что в конфигурации есть реквизит с именем Адрес.

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

          Если у вас адрес хранится одной строкой, достаточно:

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

          Практически определить правильные реквизиты можно так:

          1. Открыть карточку контрагента.
          2. В конфигураторе открыть объект Справочник → Контрагенты.
          3. Проверить реквизиты объекта.
          4. Посмотреть табличные части и контактную информацию.
          5. Если в самом справочнике адреса нет, проверить регистр сведений, связанный с контактной информацией.

          ## 6. Более удобный вариант, выбор из списка контрагентов

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

          В расширении:

          1. Добавляется команда в форму списка справочника Контрагенты.
          2. Команда появляется в меню Еще.
          3. Из списка передаются выбранные ссылки.
          4. Открывается форма обработки.
          5. Обработка формирует печатный документ.

          Логика команды будет такой:

          Однако имя элемента списка и способ получения выделенных строк зависят от версии платформы и формы списка. В некоторых конфигурациях выбранные строки передаются в обработчик команды через стандартный параметр ПараметрКоманды.

          ## 7. Формирование списка из переданных ссылок

          В форме обработки можно обработать ссылки при открытии:

          ## 8. Если нужно печатать адрес организации

          Для организаций обычно требуется печатать не только название, но и почтовый адрес:

          Для физического лица:

          Лучше формировать отдельную строку адреса:

          ## 9. Настройка печати

          После формирования табличного документа:

          1. Нажмите Печать.
          2. В настройках принтера выберите фактический формат конверта.
          3. Укажите ориентацию.
          4. Отключите масштабирование «по размеру страницы».
          5. Установите масштаб 100%.
          6. Сначала напечатайте на обычном листе.
          7. Наложите лист на конверт и проверьте расположение текста.
          8. После проверки печатайте на конвертах.

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

          Для вашей конфигурации наиболее надежный вариант такой:

          — добавить команду «Печать конвертов» в список контрагентов через расширение;
          — передавать в обработку выбранные ссылки;
          — в обработке получать почтовый адрес;
          — выводить адрес в макет табличного документа;
          — печатать по одному конверту на страницу.

          Названия реквизитов адреса в «Моя бухгалтерия 8 для Беларуси» зависят от релиза и доработок. Поэтому участок с Контрагент.ПочтовыйАдрес, Контрагент.ПочтовыйИндекс и Контрагент.Город нужно заменить на реальные реквизиты вашей базы.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С