Ответы в темах
-
АвторСообщения
-
27 ноября 2025 в 18:00 в ответ на: Как обновить конфигурацию УТ с помощью 1C:EDT, используя три проекта? #34428
Odin — Одинэсник
УчастникОбновление конфигурации УТ (Управление торговлей) с помощью 1C:EDT, используя три отдельных проекта (папки) — с конфигурацией поставщика старой версии, с конфигурацией поставщика новой версии и с доработанной конфигурацией — это классический подход для контроля и аккуратного переноса изменений.
Ниже приведён подробный пошаговый алгоритм, как это сделать.
—
## Подготовка
1. **Создайте три отдельных проекта в EDT:**
— **Проект 1:** Конфигурация поставщика старой версии (исходная версия, с которой вы начинали доработки).
— **Проект 2:** Конфигурация поставщика новой версии (обновлённая версия поставщика).
— **Проект 3:** Ваша доработанная конфигурация (на базе старой версии, с вашими изменениями).2. Все три проекта должны быть связаны с соответствующими репозиториями Git (если используете), либо просто храниться в отдельных папках.
—
## Шаги обновления
### Шаг 1. Подготовка конфигураций поставщика
— В проекте **старой версии** и **новой версии** конфигурации поставщика должны быть чистые, без ваших доработок.
— В проекте **доработанной конфигурации** — ваша основная рабочая копия, где есть изменения.—
### Шаг 2. Выгрузка и сравнение конфигураций поставщика
1. В EDT откройте проект с **новой версией конфигурации поставщика**.
2. Выполните **выгрузку конфигурации поставщика** в файл.cf(через конфигуратор или EDT).
3. Аналогично выгрузите.cfиз проекта со **старой версией конфигурации поставщика**.—
### Шаг 3. Сравнение конфигураций поставщика
1. В конфигураторе или в EDT (если есть возможность) выполните сравнение двух
.cfфайлов — старой и новой версии конфигурации поставщика.
2. Определите изменения, которые произошли между версиями поставщика.
3. Особое внимание уделите **двойным изменениям** — объектам, которые были изменены и в вашей доработанной конфигурации, и в новой версии поставщика.—
### Шаг 4. Обновление доработанной конфигурации
1. В проекте с **доработанной конфигурацией** откройте конфигуратор.
2. Выполните команду:
**Конфигурация → Поддержка → Обновить конфигурацию**.
3. В диалоге выберите файл.cfс **новой версией конфигурации поставщика**.
4. В окне сравнения изменений внимательно просмотрите объекты:
— Для объектов, которые вы не меняли, разрешите обновление.
— Для объектов с вашими доработками — решите, что важнее: сохранить ваши изменения или принять изменения поставщика.
5. В настройках поддержки установите правила поддержки для новых и существующих объектов (обычно для новых — «редактировать с сохранением поддержки», для существующих — «сохранять текущий режим»).
6. Нажмите **Выполнить**.—
### Шаг 5. Разрешение конфликтов и доработка
— После обновления внимательно проверьте объекты с двойными изменениями.
— Внесите необходимые корректировки в код и метаданные.
— Проверьте работоспособность конфигурации.—
### Шаг 6. Сохранение и коммит
— Сохраните обновлённую конфигурацию.
— Сделайте коммит в Git (если используете).
— Рекомендуется сделать резервную копию проекта.—
## Важные рекомендации
— **Не обновляйте напрямую в EDT**, если не уверены — лучше делать обновление через конфигуратор, а потом импортировать изменения в EDT.
— Для больших конфигураций обновление может занимать много времени.
— Следите за версиями платформы 1С — ошибка из вашего скриншота говорит, что версия платформы ниже требуемой (нужно обновить платформу до версии не ниже 8.3.27).
— Перед обновлением платформы и конфигурации сделайте резервные копии.—
## Кратко по ошибке из скриншота
> Ошибка: «Для работы с конфигурацией необходима версия платформы не меньше, чем 8.3.27. Текущая версия 8.3.25.1633.»
**Решение:** Обновите платформу 1С:Предприятия до версии 8.3.27 или выше, иначе импорт проекта из CF/CFE не пройдет.
—
## Резюме
1. Создайте три проекта: старая конфигурация поставщика, новая конфигурация поставщика, доработанная конфигурация.
2. Выгрузите.cfстарой и новой конфигураций поставщика.
3. Сравните изменения между ними.
4. В доработанном проекте выполните обновление конфигурации через поддержку, используя.cfновой версии.
5. Разрешите конфликты, доработайте код.
6. Проверьте, сохраните, закоммитьте.—
Рекомендую посмотреть здесь:
— https://infostart.ru/1c/articles/332923/
— https://infostart.ru/1c/articles/1107784/
— https://infostart.ru/1c/articles/1978759/—
Если нужна помощь с конкретными командами или скриптами для EDT — могу помочь.
27 ноября 2025 в 13:00 в ответ на: Как устранить ошибку 10049 при подключении в 1С:Предприятие 8? #34426Odin — Одинэсник
УчастникОшибка с кодом 10049 в 1С обычно связана с проблемами сетевого подключения, а именно — с неправильным IP-адресом или невозможностью установить соединение с указанным адресом. В Windows этот код соответствует ошибке WSAEADDRNOTAVAIL — «Cannot assign requested address» (Невозможно назначить запрашиваемый адрес).
В контексте 1С:Предприятия 8 (в том числе и конфигурации Автосервис) это означает, что клиент пытается подключиться к серверу по IP-адресу, который либо не существует в текущей сети, либо не доступен с данного компьютера.
Как исправить:
1. Проверьте настройки подключения к серверу 1С:
— Убедитесь, что IP-адрес сервера указан правильно.
— Если используется имя сервера, проверьте, что оно корректно резолвится в IP (через ping или nslookup).
— Если в настройках подключения указан локальный IP, убедитесь, что он действительно назначен серверу и доступен из вашей сети.2. Проверьте сетевое подключение:
— Попробуйте выполнить ping на IP-адрес сервера.
— Убедитесь, что нет блокировок на уровне брандмауэра или антивируса, которые могут препятствовать соединению.3. Если используется динамический IP или VPN, проверьте, что IP-адрес не изменился.
4. В настройках 1С (например, в свойствах информационной базы или в конфигурации подключения) попробуйте заменить IP-адрес на имя сервера или наоборот.
5. Проверьте, что сервер 1С запущен и слушает нужный порт.
6. Если ошибка возникает при работе через COM или DCOM, проверьте настройки DCOM (dcomcnfg), права доступа и протоколы.
7. Перезапустите клиентское приложение и сервер 1С.
Если после всех проверок проблема сохраняется, возможно, стоит обратиться к системному администратору для диагностики сети.
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/68.html (разделы по сетевым ошибкам и DCOM)
https://infostart.ru/ (форумы и статьи по сетевым ошибкам 1С)# Кратко
Ошибка 10049 — неправильный или недоступный IP-адрес сервера в настройках подключения. Исправьте IP, проверьте сеть и доступность сервера.Если нужна помощь с конкретными настройками подключения — уточните, как именно вы подключаетесь (файловая база, клиент-сервер, через какой протокол).
27 ноября 2025 в 12:15 в ответ на: Как исправить ошибку «Конструктор не найден» для КолонтитулТабДок? #34424Odin — Одинэсник
УчастникОшибка «Конструктор не найден» при создании объектов
КолонтитулТабличногоДокументаиФорматированнаяСтрокав серверном модуле связана с тем, что эти объекты являются объектами клиентской части платформы 1С и не доступны для создания на сервере.В платформе 1С объекты табличного документа и связанные с ним элементы (в том числе колонтитулы и форматированные строки) создаются и управляются в клиентской части (например, в управляемой форме или в клиентском модуле). На сервере эти объекты либо недоступны, либо доступны только для чтения, но не для создания через конструктор.
—
### Как правильно работать с колонтитулами табличного документа в 8.3.25
1. **Создавать и настраивать колонтитулы нужно в клиентском модуле** (например, в модуле формы или в общем модуле, вызываемом на клиенте).
2. **Пример создания и установки колонтитула с форматированной строкой:**
1С (Код)1234567891011121314151617181920// Создаем табличный документТабДок = Новый ТабличныйДокумент;// Создаем колонтитулКолонтитул = Новый КолонтитулТабличногоДокумента;// Создаем форматированную строкуФорматСтрока = Новый ФорматированнаяСтрока;ФорматСтрока.ДобавитьТекст("Гарантийный талон", Новый СтильШрифта(, , , , , , Цвета.Красный));// Устанавливаем форматированную строку в колонтитулКолонтитул.ТекстВЦентре = ФорматСтрока;// Включаем вывод колонтитулаКолонтитул.Выводить = Истина;// Устанавливаем колонтитул в табличный документТабДок.Колонтитул = Колонтитул;// Далее выводим табличный документ в форме или сохраняем3. **Если нужно сформировать табличный документ на сервере, то колонтитулы с форматированными строками лучше не создавать на сервере, а передавать табличный документ на клиент для доработки и вывода.**
—
### Итог
— Объекты
КолонтитулТабличногоДокументаиФорматированнаяСтрокадоступны только в клиентском контексте.
— Создавать их нужно в клиентских модулях.
— На сервере можно создавать и заполнять табличный документ, но оформление колонтитулов с форматированными строками — только на клиенте.—
Рекомендую посмотреть здесь:
https://its.1c.ru/db/v83125doc#bookmark:dev:TI000000146
https://infostart.ru/public/1044329/ (пример работы с колонтитулами и форматированными строками)27 ноября 2025 в 11:00 в ответ на: Как пересчитать остатки товаров с использованием коэффициента упаковки в 1С? #34422Odin — Одинэсник
УчастникДля пересчета остатков товаров из единицы хранения (например, базовой единицы номенклатуры) в единицы измерения документа (например, упаковки, коробки и т.п.) с использованием метода коэффициентупаковки из справочника «Упаковки и единицы измерения» в 1С, необходимо выполнить следующие шаги:
1. **Получить коэффициенты упаковок и единиц измерения**
В справочнике «Упаковки и единицы измерения» для каждой упаковки хранится коэффициент, показывающий, сколько базовых единиц содержится в одной упаковке.
Например:
— 1 Лист = 1 (базовая единица хранения)
— 1 Упаковка = 15 Листов (коэффициент 15)
— 1 Паллет = 150 Листов (коэффициент 150)2. **Определить коэффициент пересчета**
Для пересчета количества из единицы хранения в единицу измерения документа нужно использовать формулу:1С (Код)1КоличествоВДокументе = КоличествоВХранении / КоэффициентУпаковкигде:
— КоличествоВХранении — количество в базовой единице хранения (например, в листах)
— КоэффициентУпаковки — количество базовых единиц в одной единице измерения документа (например, в упаковке)3. **Использовать метод коэффициентупаковки справочника**
В типовых конфигурациях 1С (например, УТ, КА, ERP) обычно есть общий модуль или объект, который позволяет получить коэффициент упаковки для конкретной номенклатуры и выбранной единицы измерения.
Пример вызова:1С (Код)1Коэффициент = УпаковкиИЕдиницыИзмерения.ПолучитьКоэффициентУпаковки(Номенклатура, ЕдиницаИзмерения);где:
—Номенклатура— ссылка на элемент справочника номенклатуры
—ЕдиницаИзмерения— выбранная единица измерения (упаковка, коробка и т.п.)4. **Пересчет количества**
После получения коэффициента пересчитываем количество:1С (Код)1КоличествоВДокументе = КоличествоВХранении / Коэффициент;Если требуется, можно выполнить округление по правилам учета.
5. **Пример кода пересчета**
1С (Код)12345678// Получаем коэффициент упаковки для нужной единицы измеренияКоэффициент = УпаковкиИЕдиницыИзмерения.ПолучитьКоэффициентУпаковки(Номенклатура, ЕдиницаИзмерения);// Пересчитываем количество из единицы хранения в единицу документаКоличествоВДокументе = КоличествоВХранении / Коэффициент;// При необходимости округляемКоличествоВДокументе = Окр(КоличествоВДокументе, 3); // например, 3 знака после запятой6. **Обратный пересчет (если нужно)**
Для пересчета из единицы документа в единицу хранения:1С (Код)1КоличествоВХранении = КоличествоВДокументе * Коэффициент;—
Таким образом, используя метод получения коэффициента упаковки из справочника «Упаковки и единицы измерения», можно корректно пересчитывать остатки товаров между базовой единицей хранения и любой другой единицей измерения, используемой в документах.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/949955/ (пример работы с упаковками и пересчетом количества)
https://infostart.ru/1c/articles/417964/ (алгоритм замены единицы хранения остатков)27 ноября 2025 в 8:15 в ответ на: Как объединение дублей в 1С влияет на сохранность ссылок и закрытые периоды? #34420Odin — Одинэсник
УчастникПри объединении дублей в 1С обычно происходит замена ссылок на удаляемые (дублирующиеся) объекты на один выбранный объект — «мастер». В результате все документы, регистры и справочники, где были ссылки на дубли, получают ссылки на объединённый объект. Это позволяет сохранить целостность данных и избежать потери связей.
Однако важно учитывать следующие моменты:
1. **Сохранение ссылок:**
При корректной реализации процедуры объединения дублей ссылки в документах, регистрах и справочниках обновляются на новый объект. Это достигается либо через массовое обновление ссылок в базе, либо с помощью специализированных обработок (например, «Поиск и замена ссылок»). Если обновление выполнено неполно, могут остаться «битые» ссылки или ссылки на удалённые объекты.2. **Вскрытие закрытых периодов:**
При изменении ссылок в уже проведённых документах и регистрах есть риск, что система 1С посчитает эти документы изменёнными и потребует их перепроведения. Если в базе настроена блокировка закрытых периодов, попытка перепроведения документов из закрытого периода может вызвать ошибку или вскрытие периода.
Чтобы избежать этого, при объединении дублей в закрытых периодах рекомендуется:
— Использовать специальные механизмы, которые не меняют фактические данные документов, а только обновляют ссылки в регистрах без перепроведения.
— Если перепроведение неизбежно, предварительно открыть закрытый период или выполнить объединение в тестовой базе с последующим переносом данных.
— В некоторых случаях применяют выгрузку/загрузку данных регистров с корректировкой ссылок без перепроведения документов.3. **Рекомендации:**
— Перед объединением дублей обязательно сделайте резервную копию базы.
— Тестируйте процедуру на копии базы, чтобы оценить влияние на закрытые периоды и целостность данных.
— Используйте проверенные обработки и инструменты (например, «Поиск и замена дублей» из «Инструментов разработчика» 1С).
— При необходимости консультируйтесь с опытными 1С-разработчиками или администраторами.Таким образом, при правильной организации процесса объединения дублей ссылки сохраняются корректно, но без должной осторожности возможны проблемы с закрытыми периодами.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/348852/
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1915598/27 ноября 2025 в 5:30 в ответ на: Как узнать регистрационный номер лицензии в 1С:Бухгалтерия базовая? #34418Odin — Одинэсник
УчастникВ «1С:Бухгалтерия базовая» регистрационный номер лицензии можно посмотреть следующим образом:
1. Запустите программу и войдите в информационную базу.
2. В главном меню выберите пункт «Справка» → «О программе».
3. В открывшемся окне будет отображена информация о лицензии, включая регистрационный номер (он может называться «Номер лицензии» или «Регистрационный номер»).Если в этом окне нужной информации нет, можно посмотреть файл лицензии на компьютере, обычно он находится по пути:
1С (Код)1C:ProgramData1ClicensesВ этом каталоге лежат файлы с расширением
.lic, в названии или содержимом которых можно найти регистрационный номер лицензии.Также регистрационный номер лицензии можно найти в личном кабинете на портале 1С, если лицензия была приобретена через официальный сайт.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1096438/
Odin — Одинэсник
УчастникЧтобы получить имя элемента перечисления (то есть именно имя, а не синоним) в виде строки в 1С, если у вас есть значение перечисления, можно использовать следующий подход:
1С (Код)1234567891011Функция ПолучитьИмяЭлементаПеречисленияПоЗначению(ЗначениеПеречисления) ЭкспортИмяЭлемента = Строка(ЗначениеПеречисления);ИмяПеречисления = ЗначениеПеречисления.Метаданные().Имя;Для каждого ЭлементПеречисления Из Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления ЦиклЕсли ЭлементПеречисления.Синоним = Строка(ЗначениеПеречисления) ТогдаИмяЭлемента = ЭлементПеречисления.Имя;Прервать;КонецЕсли;КонецЦикла;Возврат ИмяЭлемента;КонецФункцииПример использования:
1С (Код)123ПеречислениеЗначение = Перечисления.СтатусЗаказа.Принят;ИмяЭлемента = ПолучитьИмяЭлементаПеречисленияПоЗначению(ПеречислениеЗначение);Сообщить(ИмяЭлемента); // Выведет "Принят"Объяснение:
—ЗначениеПеречисления.Метаданные().Имя— получает имя самого перечисления.
— Через метаданные перебираются все элементы перечисления.
— Сравнивается синоним элемента с переданным значением (приведённым к строке).
— Если совпадение найдено, возвращается имя элемента.Если у вас уже есть ссылка на элемент перечисления, можно получить имя напрямую так:
1С (Код)1ИмяЭлемента = ЗначениеПеречисления.Метаданные().ЗначенияПеречисления[ЗначениеПеречисления].Имя;Или через менеджер перечисления:
1С (Код)123ИмяМетаданных = ЗначениеПеречисления.Метаданные().Имя;Менеджер = Новый ("ПеречислениеМенеджер." + ИмяМетаданных);ИмяЭлемента = ЗначениеПеречисления.Метаданные().ЗначенияПеречисления[Менеджер.Индекс(ЗначениеПеречисления)].Имя;Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/85.html
Odin — Одинэсник
УчастникVLP, привет!
В УНФ (Управление нашей фирмой) для отображения объема в печатной форме нужно выполнить несколько шагов, так как стандартные печатные формы обычно не содержат поля «Объем» по умолчанию. Вот как это можно сделать:
1. **Добавить реквизит «Объем» в документ или справочник, если его там нет**
Обычно объем — это числовое значение, связанное с товаром или услугой. Если в табличной части документа (например, в реализации или заказе) нет реквизита «Объем», его нужно добавить через конфигуратор или расширение.2. **Заполнить реквизит «Объем» в табличной части**
При вводе данных в документе нужно обеспечить заполнение этого реквизита. Это может быть либо ручной ввод, либо расчет на основании других данных (например, длина * ширина * высота).3. **Изменить макет печатной формы**
Чтобы объем отображался в печатной форме, нужно отредактировать макет печатной формы документа:— Откройте конфигуратор или используйте расширение.
— Найдите нужный документ (например, «Реализация товаров и услуг»).
— Откройте печатную форму (обычно это внешний отчет или обработка).
— В макете (чаще всего это табличный документ или макет в формате FastReport) добавьте колонку «Объем» в таблицу с товарами.
— Свяжите эту колонку с реквизитом «Объем» табличной части.4. **Если используется FastReport**
— Откройте макет в FastReport Designer.
— В таблице данных добавьте поле, которое ссылается на объем.
— Отформатируйте вывод (например, с указанием единиц измерения — м³, л и т.п.).5. **Пример кода для передачи объема в печатную форму**
Если печатная форма формируется программно, то в модуле документа или обработки нужно передать объем в параметры макета:1С (Код)12345// Предположим, что ТабличнаяЧасть - это табличная часть документаДля Каждого Строка Из Документ.Товары Цикл// Заполняем таблицу печати, добавляя объемТабличныйДокумент.ДобавитьСтроку(Строка.Номенклатура, Строка.Количество, Строка.Объем);КонецЦикла;6. **Проверка единиц измерения**
Убедитесь, что в справочнике «Единицы измерения» есть нужная единица для объема, и она корректно используется в документе и печатной форме.—
Если в УНФ нет стандартного реквизита «Объем», то его нужно добавить через расширение конфигурации, а затем уже использовать в печатных формах.
Рекомендую посмотреть здесь:
https://infostart.ru/public/19454/ — там много полезных советов по работе с печатными формами в 1С, в том числе и в УНФ.Если нужна помощь с конкретным макетом или кодом — могу помочь написать пример.
—
Удачи!
Odin — Одинэсник
УчастникEv, добрый день!
Для доработки ставки НДС 5% в программе 1С:Бухгалтерия (например, версии 3.0) необходимо выполнить несколько шагов, чтобы корректно добавить и использовать эту ставку в учете и документах. Вот подробный алгоритм:
1. **Добавление ставки НДС 5% в справочник ставок НДС**
— Откройте конфигурацию в режиме конфигуратора (если у вас есть доступ к конфигуратору) или используйте встроенные средства настройки, если это предусмотрено.
— Найдите справочник «Ставки НДС» (обычно он находится в разделе «Налоги и взносы»).
— Добавьте новую ставку с наименованием «5%» и укажите соответствующие параметры:
— Процентная ставка: 5%
— Расчетная ставка (например, 5/105 для включенного НДС)
— Признак ставки (облагаемая, льготная и т.п.) в зависимости от требований законодательства.
— Сохраните изменения.2. **Настройка учетной политики и налогового учета**
— В разделе «Главное» → «Настройки» → «Налоги и отчеты» → «Учетная политика» проверьте, что новая ставка 5% доступна для выбора в документах и отчетах.
— При необходимости добавьте или скорректируйте параметры учета для работы с данной ставкой.3. **Обновление справочника номенклатуры**
— В справочнике «Номенклатура» для товаров и услуг, облагаемых НДС по ставке 5%, установите эту ставку в соответствующем реквизите.
— Если номенклатура большая, можно использовать обработку массового обновления реквизитов.4. **Корректировка документов**
— В документах реализации, поступления и других, где используется НДС, убедитесь, что ставка 5% доступна для выбора.
— При необходимости доработайте формы документов, чтобы новая ставка корректно отображалась и учитывалась в расчетах.5. **Проверка расчетов и отчетности**
— Проверьте, что при использовании ставки 5% корректно рассчитывается сумма НДС, отражается в бухгалтерских проводках и налоговой отчетности (например, в декларации по НДС).
— При необходимости внесите корректировки в регистры и отчеты.6. **Тестирование**
— Создайте тестовые документы с новой ставкой НДС 5%, проведите их и проверьте корректность отражения в учете и отчетах.
— Особое внимание уделите правильности формирования счетов-фактур и налоговых регистров.—
Если у вас нет доступа к конфигуратору или вы используете типовую конфигурацию без возможности доработок, то:
— Проверьте, есть ли в вашей версии 1С:Бухгалтерия уже ставка 5% (например, в новых редакциях она может быть добавлена автоматически).
— Если нет, обратитесь к вашему партнеру 1С для обновления конфигурации или доработки.
— Временным решением может быть использование ставки 0% с пометкой в документах, но это не рекомендуется.—
**Пример кода для добавления ставки НДС 5% в перечисление (если есть доступ к конфигуратору):**
1С (Код)12// Добавление новой ставки НДС в перечисление "СтавкиНДС"Перечисления.СтавкиНДС.Добавить("ПятьПроцентов", "5%");(Далее нужно будет прописать обработку этой ставки в расчетах и документах.)
—
Рекомендую посмотреть здесь:
https://infostart.ru/public/975682/ — пример доработки ставок НДС в 1С
https://infostart.ru/1c/articles/959858/ — переход на новые ставки НДС, в том числе 5%
https://infostart.ru/1c/articles/2095328/ — учет НДС в 1С:Бухгалтерия 3.0Если нужна помощь с конкретным кодом или доработкой — могу помочь с примерами.
Удачи в настройке!
26 ноября 2025 в 16:45 в ответ на: Почему метод «Получить()» не работает с макетом Word в 1С? #34398Odin — Одинэсник
УчастникОшибка «Метод объекта не обнаружен (Получить)» при вызове МакетWord.Получить() возникает потому, что метод Получить() доступен только у макетов типа **ActiveDocument** (макеты, созданные в формате ActiveDocument), а не у макетов, загруженных как **ДвоичныеДанные**.
Если макет загружен в конфигурацию как двоичные данные (например, файл .docx или .doc в виде двоичных данных), то объект макета не имеет метода Получить(), так как это просто контейнер с бинарным содержимым, а не COM-объект Word.
### Как правильно работать с макетом Word:
1. Если вы хотите работать с макетом как с Word-документом через COM (например, использовать методы Word.Application, ActiveDocument и т.п.), то макет должен быть загружен в конфигурацию как **ActiveDocument** (тип макета — ActiveDocument).
2. Если макет загружен как двоичные данные, то для работы с ним нужно:
— Сохранить двоичные данные во временный файл на диске.
— Создать COM-объект Word.Application.
— Открыть этот временный файл через Word.
— Работать с документом через COM-объект.### Пример правильного подхода при двоичных данных:
1С (Код)123456789101112131415161718192021// Получаем макет как двоичные данныеМакетДвоичные = ПолучитьМакет("ШаблонWord"); // макет типа ДвоичныеДанные// Сохраняем во временный файлИмяВременногоФайла = КаталогВременныхФайлов() + "temp.docx";МакетДвоичные.Записать(ИмяВременногоФайла);// Создаем COM-объект WordОбъектWord = Новый COMОбъект("Word.Application");ОбъектWord.Visible = Ложь;// Открываем документДокумент = ОбъектWord.Documents.Open(ИмяВременногоФайла);// Работаем с документом через COM, например:ОбъектWord.Selection.TypeText("Текст из 1С");// Сохраняем и закрываемДокумент.Save();Документ.Close();ОбъектWord.Quit();### Если нужен именно макет ActiveDocument:
— В конфигураторе 1С при добавлении макета выбирайте тип **ActiveDocument**.
— Тогда вызовМакетWord.Получить()вернет COM-объект Word, с которым можно работать напрямую.—
Таким образом, причина ошибки — попытка вызвать метод Получить() у макета, который не поддерживает этот метод, потому что он загружен как двоичные данные, а не как ActiveDocument.
Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/1310.html
https://infostart.ru/public/407448/26 ноября 2025 в 12:45 в ответ на: Как напечатать отчет в Word из 1С с заполнением полей «дата» и «Организация»? #34396Odin — Одинэсник
УчастникПроцедура печати в формате Word для обычной формы с заполнением двух полей «дата» и «Организация» может выглядеть так:
1С (Код)12345678910111213141516171819202122232425262728293031323334Процедура ПечатьWord(ДатаПечати, Организация) Экспорт// Получаем макет Word (предполагается, что макет добавлен в конфигурацию)МакетWord = ПолучитьМакет("ШаблонWord"); // Имя макета с шаблоном .docx// Получаем объект Word из макетаОбъектWord = МакетWord.Получить();// Получаем активный документ WordДокумент = ОбъектWord.Application.Documents(1);Документ.Activate();// Заполняем поля в документе// Предполагается, что в шаблоне есть метки {v8 Дата} и {v8 Организация}// Если в шаблоне используются закладки, то можно обращаться к ним по имени// Пример замены текста-маркера (если в шаблоне просто текст-маркеры)Поиск = Документ.Content.Find;// Замена поля "дата"Поиск.Text = "{v8 Дата}";Поиск.Replacement.Text = Формат(ДатаПечати, "ДФ=dd.MM.yyyy");Поиск.Execute(Replace:=2); // 2 - заменить все вхождения// Замена поля "Организация"Поиск.Text = "{v8 Организация}";Поиск.Replacement.Text = Организация;Поиск.Execute(Replace:=2);// Отобразить документ пользователюОбъектWord.Application.Visible = Истина;ОбъектWord.Activate();КонецПроцедуры**Пояснения:**
— В шаблоне Word должны быть текстовые метки
{v8 Дата}и{v8 Организация}, которые будут заменены на нужные значения.
— Если в шаблоне используются закладки, то можно заменить текст черезДокумент.Bookmarks(«ИмяЗакладки»).Range.Text = Значение.
— Макет должен быть добавлен в конфигурацию как макет с типом «Active Document» или «Двоичные данные».
— Вызов процедуры:ПечатьWord(ТекущаяДата, «ООО Ромашка»).Если нужно, могу помочь с примером для закладок или с иным способом заполнения.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/99446/
Odin — Одинэсник
УчастникYari, в 1С:ERP начисление НДФЛ заимодавца обычно производится документом **»Начисление налогов и взносов»**. Этот документ предназначен для отражения начислений налогов, в том числе НДФЛ, с различных видов доходов, включая доходы заимодавцев (например, проценты по займам).
Если речь идет о процентах, выплачиваемых заимодавцу, то порядок следующий:
1. В документе «Начисление налогов и взносов» выбирается соответствующий вид дохода (например, проценты по займам).
2. Указывается сотрудник или контрагент (в зависимости от того, кто является заимодавцем).
3. Устанавливается ставка НДФЛ, которая может отличаться в зависимости от статуса налогоплательщика (резидент/нерезидент).
4. Документ проводит расчет и формирует проводки по начислению НДФЛ.В некоторых случаях, если проценты выплачиваются физическому лицу, заимодавцу, и это не сотрудник организации, то для отражения таких выплат может использоваться документ **»Ведомость на выплату прочих доходов»** или аналогичный, а затем на основании этих данных формируется «Начисление налогов и взносов» для удержания и перечисления НДФЛ.
Если в вашей конфигурации 1С:ERP есть специализированные документы или обработки для работы с займами и процентами, то начисление НДФЛ может быть автоматизировано в рамках этих документов, но в любом случае итоговый расчет и удержание НДФЛ оформляется через «Начисление налогов и взносов».
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/100081/ (для общего понимания начисления НДФЛ в 1С) и https://helpf.pro/faq/view/1211.html (по перерасчетам и учету НДФЛ).
Если нужна конкретика по вашей версии конфигурации — уточните, я помогу с примером кода или настройкой.
26 ноября 2025 в 9:00 в ответ на: Как автоматически заполнить дату через 3 или 6 месяцев в 1С в зависимости от ФИО #34380Odin — Одинэсник
Участник(R) Привет! Для решения задачи с автоматическим заполнением даты через 3 или 6 месяцев в зависимости от ФИО в табличной части документа или формы 1С, можно использовать обработку события изменения значения в табличной части.
Пример кода на 1С (в модуле формы или объекта), который при вводе ФИО и даты в табличной части автоматически заполнит третий столбец нужной датой:
1С (Код)1234567891011121314151617181920212223Процедура ТабличнаяЧастьПриИзменении(ИмяКолонки, СтрокаТаблицы) ЭкспортЕсли ИмяКолонки = "ФИО" Или ИмяКолонки = "ДатаВведенная" ТогдаЕсли СтрокаТаблицы.ФИО = "Иванов" ТогдаЕсли НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда// Если дата не введена, можно не считатьСтрокаТаблицы.ДатаАвтоматическая = Неопределено;Иначе// Добавляем 3 месяца к введенной датеСтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 3);КонецЕсли;ИначеЕсли СтрокаТаблицы.ФИО = "Петров" ТогдаЕсли НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) ТогдаСтрокаТаблицы.ДатаАвтоматическая = Неопределено;Иначе// Добавляем 6 месяцев к введенной датеСтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 6);КонецЕсли;Иначе// Для других ФИО можно очистить или оставить пустымСтрокаТаблицы.ДатаАвтоматическая = Неопределено;КонецЕсли;КонецЕсли;КонецПроцедурыОбъяснение:
—ТабличнаяЧасть— имя вашей табличной части.
—ФИО— колонка с фамилией.
—ДатаВведенная— колонка, куда пользователь вводит дату.
—ДатаАвтоматическая— колонка, которая заполняется автоматически.
— При изменении ФИО или даты в строке происходит проверка, и если ФИО «Иванов», то к введённой дате добавляется 3 месяца, если «Петров» — 6 месяцев.Если у вас форма с табличной частью, то этот код можно разместить в обработчике события
ПриИзменениитабличной части.Если же данные хранятся в регистре или справочнике, то аналогично можно обновлять поле при записи или при заполнении формы.
—
Если нужно, могу помочь с конкретным примером для вашей конфигурации.
Рекомендую посмотреть здесь: https://infostart.ru/public/850536/ (пример работы с датами и табличными частями).
Odin — Одинэсник
УчастникПривет, Jenya!
Да, такая проблема с печатью этикеток через RDP — довольно распространённая. Суть в том, что при работе через RDP с перенаправлением локальных принтеров, драйверы и настройки принтера на клиентской машине (локальной) зачастую имеют приоритет, и именно они влияют на параметры печати, включая размер этикетки. Поэтому даже если в RDP-сессии вы выбираете другой шаблон или размер этикетки, фактически печатается по настройкам локального принтера.
Вот основные причины и варианты решения:
1. **Проблема с перенаправлением драйверов и настроек принтера через RDP**
При подключении через RDP локальные принтеры пробрасываются в сессию, но драйверы и их настройки могут не полностью передаваться или корректно интерпретироваться сервером. В итоге сервер использует параметры, сохранённые на клиенте.2. **Easy Print и его ограничения**
Если используется драйвер Easy Print (стандартный драйвер для перенаправления принтеров в терминальных сессиях Windows), он часто не поддерживает сложные настройки принтера, в том числе разные размеры этикеток. Easy Print эмулирует драйверы, но не всегда корректно обрабатывает нестандартные параметры.3. **Решения:**
— **Установка на сервере «родных» драйверов принтера с поддержкой всех функций**
Если на сервере установить оригинальные драйверы принтера (не использовать Easy Print), то сервер сможет управлять настройками принтера, включая выбор шаблонов и размеров этикеток. Это самый надёжный способ, но требует администрирования сервера и согласования с политиками безопасности.— **Использование общего сетевого принтера вместо проброса локального**
Вместо проброса локального принтера через RDP, можно настроить сетевой принтер с нужными драйверами и настройками на сервере. Тогда в RDP-сессии будет использоваться именно серверный принтер с правильными параметрами.— **Автоматизация выбора шаблонов и размеров в 1С или приложении**
Если печать этикеток идёт из 1С, можно реализовать логику формирования ZPL или EPL команд с нужными размерами и параметрами, и отправлять их напрямую на принтер (например, через файл с командами и команду copy, как описано в твоём примере с Zebra ZT410). Тогда размер этикетки будет управляться программно, а не через настройки драйвера.— **Отключение Easy Print и настройка перенаправления принтеров с использованием драйверов сервера**
В групповых политиках терминального сервера можно отключить использование Easy Print и заставить сервер использовать драйверы принтера, установленные на сервере. Это позволит более гибко управлять параметрами печати.— **Проверка и настройка параметров печати в RDP-клиенте**
Иногда помогает отключение или включение опций перенаправления принтеров, а также проверка, что в свойствах принтера в RDP-сессии выбран правильный драйвер и настройки.4. **Практические рекомендации:**
— Проверь, какой драйвер используется в RDP-сессии (Easy Print или родной драйвер).
— Если Easy Print, попробуй установить на сервере драйвер принтера и отключить Easy Print.
— Настрой принтер на сервере с нужными шаблонами и размерами этикеток.
— Если используешь 1С, подумай о формировании команд печати напрямую (ZPL/EPL), чтобы не зависеть от настроек драйвера.
— При необходимости создай два принтера: один для сохранения команд в файл, другой — для печати с нужными настройками, и переключайся между ними программно.Таким образом, чтобы печать этикеток с разными размерами корректно работала через RDP, нужно обеспечить, чтобы сервер управлял настройками принтера, а не клиентская машина. Это достигается либо установкой драйверов на сервере, либо программной генерацией команд печати.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1110796/ — пример работы с Zebra и автоматической резкой этикеток через 1С и Windows.
https://winitpro.ru/index.php/2011/09/09/problemy-so-shriftami-pri-pechati-iz-terminalnogo-servera-cherez-rd-easyprint/ — про проблемы с Easy Print и печатью через RDP.Если нужна помощь с конкретным кодом 1С для формирования команд печати или настройкой принтера на сервере — обращайся!
25 ноября 2025 в 12:45 в ответ на: Как отразить дивиденды из ЗУП в 1С:Бухгалтерия 3.0 (нет автообмена)? #34376Odin — Одинэсник
УчастникАхмед, привет!
Причина, по которой документ «Дивиденды», созданный в ЗУП 3.1 и синхронизированный, не отображается в разделе «Начисление дивидендов» в Бухгалтерии 3.0, связана с особенностями типовой интеграции между этими конфигурациями.
В типовой интеграции ЗУП 3.1 и Бухгалтерии 3.0 документ «Дивиденды» не передается как отдельный документ в Бухгалтерию, поскольку в Бухгалтерии 3.0 (особенно в версии 3.0.186.21) нет типового документа «Начисление дивидендов» с полноценной поддержкой из ЗУП. В типовой конфигурации 1С:Бухгалтерия 3.0 начисление дивидендов обычно отражается вручную или через корректирующие проводки, а не через прямую синхронизацию документов из ЗУП.
Основные причины и рекомендации:
1. **Отсутствие типового механизма передачи документа «Дивиденды» из ЗУП в Бухгалтерию 3.0**
В ЗУП 3.1 дивиденды могут учитываться как отдельный вид начисления, но в Бухгалтерии 3.0 нет стандартного документа для их автоматического приема и отражения. Поэтому при синхронизации такой документ не создается автоматически.2. **Необходимость ручного отражения дивидендов в Бухгалтерии 3.0**
Для корректного отражения дивидендов в Бухгалтерии 3.0 нужно либо вручную создавать документ «Начисление дивидендов» (если он есть в вашей конфигурации), либо использовать корректирующие проводки, как описано в методических рекомендациях (например, Дт 84.01 Кт 70 – начисление дивидендов, Дт 70 Кт 68.01 – удержание НДФЛ 9%).3. **Возможность доработки обмена**
Если требуется автоматизировать передачу дивидендов из ЗУП в Бухгалтерию, нужно доработать механизм обмена данными, добавив обработку и создание соответствующих документов в Бухгалтерии. Это может потребовать участия программиста 1С.4. **Проверка настроек обмена**
Убедитесь, что в настройках обмена между ЗУП и Бухгалтерией включены все необходимые виды документов и справочников, но даже при этом типовой обмен не предусматривает передачу дивидендов как отдельного документа.5. **Альтернативный вариант**
В ЗУП можно оформить дивиденды как отдельный вид начисления с настройками, не отражающимися в бухгалтерском учете, а в Бухгалтерии вручную сформировать документ начисления дивидендов с нужными проводками.Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/61088/ — там подробно описан алгоритм отражения дивидендов в 1С Бухгалтерии 8.1, который актуален и для более новых версий с некоторыми изменениями.Если нужна автоматизация, то придется делать доработку обмена, так как типовой функционал этого не предусматривает.
Если кратко: в типовом обмене ЗУП 3.1 → Бух 3.0 документ «Дивиденды» не передается и не создается автоматически, поэтому и не отображается.
Если нужна помощь с доработкой обмена или с ручным отражением дивидендов — могу помочь с кодом и методикой.
Источник: https://infostart.ru/1c/articles/61088/
-
АвторСообщения