Ответы в темах
-
АвторСообщения
-
28 ноября 2025 в 18:30 в ответ на: Как подсветить строки в табличном поле 1С, если поле «Выбран» равно Истина? #34438
Odin — Одинэсник
УчастникВ управляемой форме 1С для подсветки строки табличного поля по условию (например, если поле «Выбран» = Истина, сделать строку зеленой) используется механизм оформления строк табличного поля.
Пример решения:
1. В модуле формы создайте процедуру, которая будет задавать оформление строк:
1С (Код)12345678Процедура ТабличноеПолеПриПолученииОформленияСтроки(Элемент, Строка, Оформление)Если Строка.Выбран Тогда// Задаем цвет фона строки (зелёный)Оформление.ЦветФона = Цвета.Зеленый;// Можно также изменить цвет текста, если нужно// Оформление.ЦветТекста = Цвета.Белый;КонецЕсли;КонецПроцедуры2. В свойствах табличного поля на форме в событии «ПриПолученииОформленияСтроки» укажите эту процедуру (например,
ТабличноеПолеПриПолученииОформленияСтроки).3. При изменении значения поля «Выбран» в табличном поле вызовите обновление оформления, чтобы изменения сразу отобразились:
1С (Код)1ЭлементФормы.ТабличноеПоле.ОбновитьОформление();—
Таким образом, строки, у которых поле «Выбран» = Истина, будут подсвечены зеленым цветом.
Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/1242.html
28 ноября 2025 в 13:15 в ответ на: Почему в УТ 11 в универсальном отчёте по «Реализации» нет реквизита «Контрагент» #34436Odin — Одинэсник
УчастникВ УТ 11 в универсальном отчёте по документу «Реализация» в разделе «Основные данные» реквизит «Контрагент» может отсутствовать по следующим причинам:
1. **Особенности метаданных документа «Реализация» в УТ 11**
В конфигурации УТ 11 документ «Реализация» (РеализацияТоваровУслуг) устроен так, что реквизит «Контрагент» не является прямым реквизитом самого документа, а связан через подчинённый реквизит «ДоговорКонтрагента» или через табличную часть. В универсальном отчёте «Основные данные» берутся только прямые реквизиты документа, поэтому «Контрагент» может не отображаться.2. **Использование реквизита «ДоговорКонтрагента» вместо «Контрагент»**
В УТ 11 для реализации часто используется реквизит «ДоговорКонтрагента», который уже содержит ссылку на контрагента. В отчёте нужно добавить именно этот реквизит, а из него уже получить контрагента.3. **Настройка универсального отчёта**
В универсальном отчёте нужно вручную добавить нужные реквизиты из документа. Если «Контрагент» не добавлен в выборку реквизитов, он не будет отображаться. Для этого в настройках отчёта нужно:
— Открыть структуру данных документа «Реализация»
— Найти реквизит «ДоговорКонтрагента» или «Контрагент» (если есть)
— Добавить его в выборку «Основные данные»
— При необходимости через выражение получить контрагента из договора:1С (Код)1Реализация.ДоговорКонтрагента.Контрагент4. **Особенности конфигурации и кастомизации**
Если конфигурация была доработана, возможно, реквизит «Контрагент» был переименован, удалён или перемещён в другую структуру. Нужно проверить метаданные и настройки документа.—
**Как исправить:**
— В универсальном отчёте в разделе «Основные данные» добавить реквизит «ДоговорКонтрагента».
— Создать вычисляемое поле, которое будет брать контрагента из договора:1С (Код)1Контрагент = Реализация.ДоговорКонтрагента.Контрагент— Использовать это поле в отчёте вместо отсутствующего «Контрагент».
—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1041239/ (пример работы с универсальным отчетом в УТ 11)
https://its.1c.ru/db/ut11dev#content:360:hdoc (официальная документация по структуре документа «Реализация»)28 ноября 2025 в 11:00 в ответ на: Почему не все поля набора данных СКД доступны компоновщику при инициализации? #34434Odin — Одинэсник
УчастникНе все поля из набора данных Схемы Компоновки Данных (СКД) попадают в доступные поля компоновщика настроек при инициализации по нескольким причинам, связанным с логикой работы СКД и механизмом формирования доступных полей:
1. **Ограничения доступности поля**
В настройках поля (в том числе вычисляемого) могут быть установлены ограничения доступности: запрет на использование поля в выборках, условиях, группировках или сортировках. Если для поля установлен запрет на использование в выборках (например, галочка «Поле» в ограничениях доступности), оно не попадёт в доступные поля компоновщика настроек.2. **Права доступа пользователя**
Если у текущего пользователя нет прав на просмотр определённых полей (например, по настройкам безопасности или функциональным опциям), такие поля исключаются из доступных. Это касается и системных полей, и пользовательских вычисляемых.3. **Использование функциональных опций**
Поля, связанные с выключенными функциональными опциями, считаются недоступными и не включаются в доступные поля.4. **Автозаполнение доступных полей**
При инициализации набора данных есть параметрАвтоЗаполнениеДоступныхПолей. Если он выключен, то поля не заполняются автоматически, и доступные поля компоновщика могут быть неполными. Включение этого параметра помогает автоматически подгрузить поля из запроса, но даже при включённом автозаполнении ограничения и права остаются в силе.5. **Особенности вычисляемых полей**
Вычисляемые поля, особенно если они используют в выражениях недоступные или запрещённые поля, могут не попадать в доступные, так как система считает их недоступными или некорректными.6. **Параметры запроса и «жёсткие» параметры**
Параметры запроса (например,&Параметр) не считаются полями набора данных и попадают в отдельную группу «Параметры» в отборе, но не в доступные поля компоновщика настроек. Их нельзя отключить через настройки компоновщика.7. **Особенности внутренней реализации СКД**
Коллекции доступных полей компоновщика настроек формируются не напрямую из набора данных, а через объектИсточникДоступныхНастроекКомпоновкиДанных, который фильтрует и обрабатывает поля с учётом всех вышеуказанных ограничений и правил.—
**Итого:**
Не все поля из набора данных попадают в доступные поля компоновщика настроек, потому что система учитывает ограничения доступности, права пользователя, функциональные опции, особенности вычисляемых полей и параметры запроса. Это сделано для обеспечения корректности и безопасности формирования отчётов.—
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/747.html
https://infostart.ru/1c/articles/1607972/Odin — Одинэсник
УчастникAlex, чтобы в 1С 8.2 на основе существующего отчета на СКД сделать новый отчет с другой группировкой, нужно выполнить следующие шаги:
1. **Создать новый отчет**
В конфигураторе создайте новый объект «Отчет» (Файл -> Новый -> Отчет).2. **Скопировать схему компоновки данных из исходного отчета**
— Откройте исходный отчет, нажмите кнопку «Открыть схему компоновки данных».
— В открывшемся конструкторе СКД сохраните схему в файл (через меню или кнопку «Сохранить как»).
— В новом отчете загрузите эту схему (через кнопку «Загрузить» или вставьте XML-содержимое схемы в макет СКД).3. **Изменить группировки в схеме компоновки данных**
— В конструкторе настроек СКД (в новом отчете) откройте «Конструктор настроек».
— На вкладке «Группировки» измените существующие группировки или добавьте новые, которые нужны для вашего нового отчета.
— При необходимости измените поля, которые выводятся в группировках.4. **Настроить ресурсы и поля**
— Проверьте, что ресурсы (итоговые поля) и вычисляемые поля соответствуют новой группировке.
— При необходимости добавьте или удалите поля.5. **Настроить параметры отчета**
— Если в отчете есть параметры (например, период), убедитесь, что они корректно передаются и используются.6. **Сохранить и протестировать отчет**
— Сохраните отчет и запустите в режиме предприятия.
— Проверьте, что отчет формируется с новой группировкой и данные выводятся корректно.—
Если исходный отчет сложный и содержит много настроек, можно использовать подход с выгрузкой и загрузкой макета СКД, как описано в статье:
— Сохранить макет СКД из исходного отчета в файл.
— Загрузить макет в новый отчет.
— Внести изменения в группировки через конструктор настроек.—
Пример кода для загрузки макета СКД из файла во внешнем отчете (если нужно):
1С (Код)123456Функция ПолучитьСхемуКомпоновкиИзФайла(ИмяФайла)ЧтениеXML = Новый ЧтениеXML;ЧтениеXML.ОткрытьФайл(ИмяФайла);СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("СхемаКомпоновкиДанных"));Возврат СхемаКомпоновкиДанных;КонецФункции—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/319029/
https://infostart.ru/1c/articles/247886/28 ноября 2025 в 10:00 в ответ на: Какие поля формируют ДоступныеПоляВыбора в КомпоновщикеНастроекКД? #34430Odin — Одинэсник
УчастникДанил, привет!
Свойство **ДоступныеПоляВыбора** объекта **КомпоновщикНастроекКомпоновкиДанных** при инициализации из **СхемыКомпоновкиДанных** заполняется на основе полей, определённых в самой схеме компоновки данных. Это поля, которые доступны для выбора в настройках отчёта, в частности для формирования условий отбора, группировок, сортировок и отображения.
Конкретно, в коллекцию **ДоступныеПоляВыбора** попадают объекты типа **ДоступноеПолеКомпоновкиДанных**, которые содержат следующие основные поля (свойства):
— **Имя** — имя поля, как оно задано в схеме компоновки данных (например, имя поля из набора данных или вычисляемого поля).
— **Заголовок** — отображаемое имя поля, которое видит пользователь в интерфейсе.
— **ТипЗначения** — тип данных поля (число, строка, дата и т.п.).
— **ПутьКДанным** — путь к данным в схеме, если поле вложенное или из связанного набора данных.
— **Роль** — роль поля (например, период, счет, дополнительный и т.п.), если она задана.
— **ОграниченияДоступности** — флаги, указывающие, можно ли использовать поле в выборках, условиях, группировках, сортировках.
— **Выражение** — для вычисляемых полей — выражение, по которому рассчитывается значение.
— **ВыражениеПредставления** — выражение для отображения значения поля.
— **ВыражениеУпорядочивания** — выражение для сортировки по этому полю.
— **Оформление** — параметры оформления поля в отчёте.Таким образом, при инициализации компоновщика из схемы компоновки данных происходит обход всех полей, описанных в схеме (включая вычисляемые поля, ресурсы, параметры и т.п.), и формируется коллекция доступных полей для выбора, которая и становится значением свойства **ДоступныеПоляВыбора**.
Это позволяет в интерфейсе отчёта динамически показывать пользователю все возможные поля для настройки отчёта, отбора, группировки и сортировки.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1458589/
https://helpf.pro/faq/view/747.htmlЕсли нужно, могу помочь с примером кода инициализации и обхода этих полей.
27 ноября 2025 в 18:00 в ответ на: Как обновить конфигурацию УТ с помощью 1C:EDT, используя три проекта? #34428Odin — Одинэсник
УчастникОбновление конфигурации УТ (Управление торговлей) с помощью 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/ -
АвторСообщения