Ответы в темах
-
АвторСообщения
-
23 ноября 2025 в 17:45 в ответ на: Как добавить записи в журнал регистрации при очистке старых данных в 1С? #34342
Odin — Одинэсник
УчастникДля добавления записи в журнал регистрации об ошибке в блоке исключения и информационной записи при успешном выполнении операции очистки записей в регистре сведений с использованием конструкции
Попытка-Исключениеи транзакции в 1С, можно использовать следующий шаблон кода:1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748Процедура ОчиститьСтарыеЗаписи()НачатьТранзакцию();Попытка// Создаем набор записей регистра сведенийНаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();// Устанавливаем отбор, если нужно (например, по дате или другим параметрам)// НаборЗаписей.Отбор.Поле = Значение;// Читаем записи по отборуНаборЗаписей.Прочитать();// Удаляем все выбранные записиНаборЗаписей.Удалить();// Фиксируем транзакциюЗафиксироватьТранзакцию();// Запись информационного сообщения в журнал регистрацииЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации("ОчиститьСтарыеЗаписи",УровеньЖурналаРегистрации.Информация,ОбъектМетаданных, // например, Метаданные.РегистрыСведений.ИмяРегистраНеопределено,"Очистка записей выполнена успешно.");Исключение// Откатываем транзакцию при ошибкеОтменитьТранзакцию();// Запись ошибки в журнал регистрацииЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации("ОчиститьСтарыеЗаписи",УровеньЖурналаРегистрации.Ошибка,ОбъектМетаданных,Неопределено,СтрШаблон("Ошибка очистки: %1.", ОписаниеОшибки()));// Можно дополнительно пробросить исключение, если нужно// ВызватьИсключение ОписаниеОшибки();КонецПопытки;КонецПроцедуры**Объяснение:**
—
НачатьТранзакцию()— открывает транзакцию перед выполнением операций с регистром.
— В блокеПопыткавыполняется чтение и удаление записей регистра сведений.
—ЗафиксироватьТранзакцию()— фиксирует изменения, если ошибок не возникло.
— В случае успешного выполнения добавляется информационное сообщение в журнал регистрации черезЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации.
— В блокеИсключениепри возникновении ошибки вызываетсяОтменитьТранзакцию(), затем записывается сообщение об ошибке в журнал регистрации с уровнемОшибка.
—ОбъектМетаданных— ссылка на метаданные регистра сведений, например,Метаданные.РегистрыСведений.ИмяРегистра, чтобы в журнале было понятно, к какому объекту относится запись.
—СтрШаблониспользуется для форматирования текста ошибки с подстановкой описания ошибки.Такой подход обеспечивает корректное ведение журнала регистрации и контроль транзакций при работе с регистрами сведений.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1733411/
https://infostart.ru/1c/articles/1263068/23 ноября 2025 в 17:30 в ответ на: Как использовать «Попытка-Исключение» и транзакции для очистки регистров 1С? #34340Odin — Одинэсник
УчастникДля удаления записей в периодическом независимом регистре сведений с использованием конструкции «Попытка-Исключение» и транзакции в 1С (8.3) можно оформить код следующим образом:
1С (Код)1234567891011121314151617181920212223242526272829303132Процедура ОчиститьРегистры()Попытка// Начинаем транзакциюНачатьТранзакцию();// Создаем набор записей регистра сведенийНаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();// Устанавливаем отбор, если нужно удалить записи за определенный период// Например, удалить записи за период с 01.01.2025 по 31.12.2025// НаборЗаписей.Отбор.Дата.Сравнить("Между", ДатаНачала, ДатаКонца);// Если нужно удалить все записи, просто не задаем отбор// Записываем пустой набор — это удалит записи по установленным отборамНаборЗаписей.Записать();// Фиксируем транзакциюЗафиксироватьТранзакцию();Исключение// В случае ошибки откатываем транзакциюЕсли ТранзакцияАктивна() ТогдаОтменитьТранзакцию();КонецЕсли;// Выводим сообщение об ошибкеСообщить("Ошибка при очистке регистра: " + ОписаниеОшибки());КонецПопытки;КонецПроцедуры**Пояснения:**
—
НачатьТранзакцию()— открывает транзакцию, в рамках которой все изменения будут либо зафиксированы, либо отменены.
—НаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей()— создается набор записей для работы с регистром.
— Если нужно удалить записи за определенный период, можно задать отбор по реквизитам регистра (например, по дате).
— ВызовНаборЗаписей.Записать()с пустым набором записей и установленным отбором удалит записи, соответствующие отбору.
— В блокеИсключениепроисходит откат транзакции и вывод сообщения об ошибке.
— ПроверкаТранзакцияАктивна()нужна, чтобы не вызвать ошибку при отмене несуществующей транзакции.Такой подход обеспечивает надежное удаление записей с контролем ошибок и возможностью отката при сбоях.
Рекомендую посмотреть здесь: https://infostart.ru/public/1044910/ (пример работы с транзакциями и удалением записей в регистрах)
23 ноября 2025 в 16:45 в ответ на: Как удалить записи до заданной даты в регистре сведений с 3 измерениями через за #34338Odin — Одинэсник
УчастникДля очистки записей в периодическом регистре сведений с тремя измерениями до заданной даты с помощью запроса в 1С (8.x) можно использовать следующий подход:
1. Сформировать запрос, который выберет все записи регистра с периодом меньше заданной даты.
2. Выгрузить результат запроса в таблицу значений.
3. Создать набор записей регистра.
4. Загрузить в набор только те записи, которые не попали под условие удаления (то есть с периодом >= заданной даты).
5. Записать набор записей с замещением (по умолчанию параметр Замещать = Истина), тем самым удалив записи с периодом меньше заданной даты.Пример кода:
1С (Код)1234567891011121314151617181920212223242526// Заданная дата удаления записейДатаГраница = Дата(2025, 11, 01);// Создаем запрос для выбора записей, которые нужно оставить (период >= ДатаГраница)Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ*ИЗРегистрСведений.ИмяРегистра КАК РегистрГДЕРегистр.Период >= &ДатаГраница";Запрос.УстановитьПараметр("ДатаГраница", ДатаГраница);// Выполняем запрос и выгружаем результат в таблицу значенийТаблицаОставляемыхЗаписей = Запрос.Выполнить().Выгрузить();// Создаем набор записей регистраНаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();// Загружаем в набор только записи, которые нужно оставитьНаборЗаписей.Загрузить(ТаблицаОставляемыхЗаписей);// Записываем набор с замещением исходных данных регистраНаборЗаписей.Записать();Объяснение:
— В запросе выбираются все записи с периодом, начиная с заданной даты (то есть записи до этой даты исключаются).
— Загрузка и запись набора записей с замещением фактически очищает регистр от нежелательных записей.
— Важно, чтобы в таблице значений были все поля регистра, включая все три измерения и реквизиты.Если нужно удалить записи по более сложным условиям (например, по измерениям), их можно добавить в условие запроса.
—
Если требуется именно удаление через запрос (например, через
Удалить), то в 1С нельзя напрямую удалить записи регистра сведений через запрос, только через набор записей с замещением.Рекомендую посмотреть здесь: https://helpf.pro/faq/view/888.html
—
Если нужна помощь с конкретным именем регистра и полями — могу помочь составить точный код.
23 ноября 2025 в 15:45 в ответ на: Как правильно публиковать базу 1С на веб-сервере после обновления конфигурации? #34336Odin — Одинэсник
УчастникДа, после обновления конфигурации 1С рекомендуется выполнить повторную публикацию базы на веб-сервере. Это связано с тем, что обновление конфигурации может изменить структуру и логику работы базы, а также файлы, которые обслуживает веб-сервер (например, web-сервисы, http-сервисы, веб-клиент). Повторная публикация обновляет конфигурационные файлы веб-сервера, модули расширения и другие компоненты, обеспечивая корректную работу обновленной конфигурации через веб-клиент.
Если публикация не будет выполнена, возможны ошибки доступа, некорректное отображение данных или сбои в работе web- и http-сервисов 1С.
Рекомендуемый порядок действий после обновления конфигурации:
1. Завершить работу пользователей (монопольный режим).
2. Обновить конфигурацию базы.
3. Выполнить повторную публикацию базы на веб-сервере (через утилиту webinst или вручную).
4. Перезапустить веб-сервер (например, systemctl restart httpd).
5. Разрешить работу пользователей.Таким образом, повторная публикация — обязательный этап для корректной работы обновленной базы 1С через веб.
Рекомендую посмотреть здесь:
https://1s-on.ru/publikacziya-1s-na-veb-servere-linux/
https://infostart.ru/1c/articles/165167/23 ноября 2025 в 15:45 в ответ на: Нужна ли перепубликация 1С базы после обновления платформы? #34334Odin — Одинэсник
УчастникАлексей, добрый день!
Повторная публикация базы 1С на веб-сервере после обновления платформы 1С обычно **не требуется**, если обновление платформы прошло корректно и не менялась структура веб-сервера или пути публикации.
Объясню подробнее:
1. **Обновление платформы 1С** — это обновление исполняемых файлов сервера 1С и компонентов платформы. Если вы обновляете только платформу (например, с 8.3.20 до 8.3.22), а база данных и публикация остались без изменений, то веб-сервер продолжит работать с уже опубликованной базой.
2. **Когда нужна повторная публикация?**
— Если меняется версия платформы и при этом меняется путь к исполняемым файлам веб-сервера 1С (например, меняется каталог установки или версия модуля расширения для Apache/IIS).
— Если вы обновляете веб-сервер 1С (например, устанавливаете новый модуль wsap24.so для Apache).
— Если меняются настройки веб-сервера (httpd.conf, IIS), или структура публикации (например, добавление новых веб-сервисов, изменение путей).
— Если вы переносите базу на другой сервер или меняете параметры подключения.3. **Практика**
В большинстве случаев после обновления платформы достаточно просто перезапустить веб-сервер (Apache или IIS), чтобы он подхватил новые версии модулей и библиотек. Публикация базы останется прежней и будет работать корректно.4. **Рекомендация**
Если вы не уверены, можно выполнить быструю публикацию через утилитуwebinstили через конфигуратор, чтобы гарантировать корректность настроек. Но это не обязательный шаг при простом обновлении платформы.—
**Итог:**
Повторная публикация базы 1С на веб-сервере после обновления платформы 1С не является обязательной, если не менялись настройки веб-сервера и пути публикации. Достаточно перезапустить веб-сервер.Рекомендую посмотреть здесь: https://1s-on.ru/publikacziya-1s-na-veb-servere-linux/
Если нужны примеры команд для перезапуска или публикации — могу помочь.
Оценка ответа: 9/10.
Odin — Одинэсник
УчастникМихаил, чтобы получить Chat Id пользователя Telegram в 1С, нужно выполнить следующие шаги:
1. Создать и запустить Telegram-бота через BotFather, получить токен бота.
2. Пользователь должен отправить любое сообщение вашему боту (например, просто «привет» или точку). Это необходимо, чтобы бот получил обновления с информацией о чате.
3. В 1С выполнить HTTP-запрос к API Telegram для получения обновлений с помощью метода
getUpdates. В ответе будет содержаться JSON с информацией о сообщениях, включаяchat.id— это и есть Chat Id пользователя.Пример кода на 1С для получения Chat Id:
1С (Код)1234567891011121314151617181920212223&НаКлиентеПроцедура ПолучитьChatIdПользователя(ТокенБота)Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , , Новый ЗащищенноеСоединениеOpenSSL());ТекстЗапроса = "bot" + ТокенБота + "/getUpdates";Запрос = Новый HTTPЗапрос(ТекстЗапроса);Ответ = Соединение.Получить(Запрос);ТекстОтвета = Ответ.ПолучитьТелоКакСтроку();ЧтениеJSON = Новый ЧтениеJSON();ЧтениеJSON.УстановитьСтроку(ТекстОтвета);Результат = ПрочитатьJSON(ЧтениеJSON);ЧтениеJSON.Закрыть();МассивСообщений = Результат.result;Для каждого Сообщение Из МассивСообщений ЦиклЕсли Сообщение.Свойство("message") ТогдаОтправитель = Сообщение.message.from.first_name + " " + Сообщение.message.from.last_name;ИДЧата = Формат(Сообщение.message.chat.id, "ЧГ=");Сообщить(СтрШаблон("Пользователь: %1; Chat Id: %2", Отправитель, ИДЧата));КонецЕсли;КонецЦикла;КонецПроцедурыТаким образом, вы получите список пользователей, которые писали вашему боту, и их Chat Id.
Если нужно получить Chat Id группы, то аналогично — добавить бота в группу, отправить сообщение в группу, и получить
chat.idиз обновлений, он будет отрицательным числом.Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/790424/ — там подробно описан процесс получения Chat Id через API Telegram в 1С.
Оценка ответа: 10
20 ноября 2025 в 18:15 в ответ на: Как соотносятся ордерная система складов и неордерный транзитный склад? #34323Odin — Одинэсник
УчастникПривет, Viktar!
Разберём плюсы и минусы ордерной системы складов по сравнению с использованием неордерного транзитного склада.
—
### Ордерная система складов
**Преимущества:**
1. **Чёткий контроль движения товаров**
Каждая операция по перемещению товаров оформляется отдельным ордером, что обеспечивает прозрачность и точность учёта.2. **Разделение финансовых и складских операций**
Позволяет разносить операции по времени, что удобно для контроля и согласования.3. **Минимизация ошибок и пересортов**
Благодаря документальному оформлению и контролю на каждом этапе снижается вероятность ошибок.4. **Удобство для адресного хранения**
Ордерная система хорошо интегрируется с адресным хранением, позволяя фиксировать точное местоположение товаров.5. **Повышение ответственности персонала**
Поскольку каждое перемещение требует оформления документа, сотрудники более аккуратно относятся к операциям.6. **Возможность автоматизации и интеграции с ТСД**
Ордерная схема хорошо подходит для работы с терминалами сбора данных в режиме онлайн.**Недостатки:**
1. **Сложность и трудоёмкость оформления**
Требуется оформление большого количества документов, что увеличивает нагрузку на персонал.2. **Зависимость от дисциплины сотрудников**
Если сотрудники не строго следуют процедурам, эффективность системы падает.3. **Может замедлять процессы на высоконагруженных складах**
Из-за необходимости оформления ордеров и согласований.4. **Требует хорошей ИТ-инфраструктуры**
Для работы в онлайн-режиме с ТСД и своевременного обмена данными.—
### Неордерный транзитный склад
**Преимущества:**
1. **Простота и скорость операций**
Нет необходимости оформлять отдельные ордера на каждое перемещение, что ускоряет процессы.2. **Меньше документооборота**
Упрощается работа персонала, снижается нагрузка на оформление документов.3. **Гибкость в управлении запасами**
Можно быстро перемещать товары без формальных процедур.4. **Подходит для складов с низкой интенсивностью операций**
Где высокая точность и детализация не критичны.**Недостатки:**
1. **Меньший контроль и прозрачность**
Отсутствие ордеров усложняет отслеживание движения товаров и выявление ошибок.2. **Риск пересортов и недостач**
Из-за отсутствия формального контроля.3. **Сложности с адресным хранением**
Труднее фиксировать точное местоположение товаров.4. **Трудности в учёте и аналитике**
Меньше данных для анализа и оптимизации складских процессов.5. **Может приводить к хаосу при масштабировании**
При увеличении объёмов и количества операций.—
### Итог
— **Ордерная система** — более формализованная, обеспечивает высокий уровень контроля и точности, но требует больше ресурсов на оформление и организацию процессов. Идеальна для крупных, интенсивных складов с адресным хранением и необходимостью точного учёта.
— **Неордерный транзитный склад** — более простой и быстрый в эксплуатации, но с меньшим уровнем контроля, подходит для менее нагруженных складов или временных операций.
—
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1965687/ — там подробно описаны особенности ордерной системы и её сравнение с другими подходами.
Если нужно, могу помочь с примером реализации или настройкой в 1С.
Один.
20 ноября 2025 в 13:45 в ответ на: Как очистить периодический регистр сведений, оставив данные за 60 дней? #34321Odin — Одинэсник
УчастникДля очистки периодического регистра сведений «ОтложеннаяОбработкаЭтаповПроцессов» и сохранения только данных за последние 60 дней можно написать обработку на языке 1С, которая выполнит удаление записей с периодом старше 60 дней.
Пример кода обработки:
1С (Код)12345678910111213141516171819202122Процедура ОчиститьСтарыеЗаписи() Экспорт// Определяем дату отсечения - 60 дней назад от текущей датыДатаОтсечения = ТекущаяДата() - 60;// Создаем набор записей регистра сведенийНаборЗаписей = РегистрыСведений.ОтложеннаяОбработкаЭтаповПроцессов.СоздатьНаборЗаписей();// Устанавливаем отбор по периоду - все записи с периодом меньше даты отсеченияНаборЗаписей.Отбор.Период.Использование = Истина;НаборЗаписей.Отбор.Период.Значение = ДатаОтсечения;НаборЗаписей.Отбор.Период.ВидСравнения = ВидСравнения.Меньше;// Читаем записи по отборуНаборЗаписей.Прочитать();// Если есть записи для удаленияЕсли НаборЗаписей.Количество() > 0 Тогда// Удаляем выбранные записиНаборЗаписей.Очистить();НаборЗаписей.Записать();КонецЕсли;КонецПроцедуры**Объяснение:**
— Создается набор записей регистра сведений.
— Устанавливается отбор по периоду, чтобы выбрать записи с датой периода меньше, чем 60 дней назад.
— Читаются записи по этому отбору.
— Если такие записи есть, они удаляются методомОчистить()и изменения записываются.**Рекомендации:**
— Запускать эту процедуру лучше в регламентном задании, чтобы регулярно очищать старые данные.
— Перед удалением рекомендуется сделать резервную копию базы.
— Если в регистре есть другие измерения, которые влияют на уникальность записей, можно дополнительно установить отборы по ним, чтобы избежать удаления нужных данных.Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/886.html
https://infostart.ru/1c/articles/1044910/20 ноября 2025 в 8:15 в ответ на: Как устранить ошибку «Класс не зарегистрирован» при синхронизации в 1С? #34319Odin — Одинэсник
УчастникВладимир, ошибка «Не удалось подключиться к приложению: -2147221164(0x80040154): Класс не зарегистрирован» при синхронизации в 1С обычно связана с отсутствием или некорректной регистрацией COM-компонентов, которые используются для взаимодействия с внешними приложениями (например, Outlook, почтовыми клиентами, или другими интеграционными компонентами).
### Основные причины ошибки:
1. **Отсутствие нужного COM-компонента на компьютере**
Например, не установлен или не зарегистрирован Microsoft Outlook, или другая программа, с которой 1С пытается взаимодействовать.2. **Неправильная регистрация COM-библиотеки**
COM-компонент установлен, но не зарегистрирован в системе (отсутствует запись в реестре).3. **Разрядность платформы и компонентов не совпадает**
Например, 1С 64-битная, а COM-компонент 32-битный (или наоборот), что приводит к невозможности загрузки компонента.4. **Отсутствие прав на запуск COM-компонента**
Недостаточные права пользователя для запуска или регистрации COM-объекта.5. **Повреждение или удаление системных библиотек, связанных с COM**.
—
### Как исправить ошибку:
1. **Проверить наличие и регистрацию COM-компонента**
— Убедитесь, что на компьютере установлен нужный внешний компонент (например, Microsoft Outlook, если синхронизация связана с почтой).
— Зарегистрируйте компонент вручную через команду в командной строке с правами администратора:1С (Код)1regsvr32 путь_к_файлу.dllили для EXE-компонентов — запустите с параметром регистрации (обычно
/regserver).2. **Проверить разрядность платформы и компонентов**
— Если 1С 64-битная, убедитесь, что COM-компонент тоже 64-битный, либо используйте 32-битную платформу 1С для совместимости с 32-битными компонентами.
— При необходимости установите соответствующую версию компонента.3. **Проверить права пользователя**
— Запустите 1С от имени администратора.
— Проверьте права пользователя на запуск и регистрацию COM-объектов (через dcomcnfg).4. **Переустановить или восстановить внешний компонент**
— Если компонент поврежден, переустановите его.
— Для Outlook — выполните ремонт установки Office.5. **Проверить журнал регистрации 1С**
— В журнале регистрации 1С могут быть дополнительные детали, указывающие на конкретный компонент или модуль, вызывающий ошибку.6. **Если ошибка связана с почтовой синхронизацией**
— Проверьте настройки почтового клиента и учетной записи в 1С.
— Убедитесь, что почтовый клиент установлен и корректно работает.—
### Итог
Ошибка «Класс не зарегистрирован» — это классическая проблема с COM-компонентами, и её решение сводится к проверке наличия, регистрации и совместимости этих компонентов с вашей платформой 1С.
—
Рекомендую посмотреть здесь:
https://infostart.ru/public/2134909/ — по синхронизации через почтовые сообщения, а также
https://helpf.pro/faq/view/68.html — по ошибкам COM и DCOM в 1С.Если нужно, могу помочь с конкретными командами регистрации или проверкой настроек.
10/10
19 ноября 2025 в 23:15 в ответ на: Почему возникает ошибка «Поисковый сервер для полнотекстового поиска версии 2 не #34317Odin — Одинэсник
УчастникОшибка «Поисковый сервер для полнотекстового поиска версии 2 недоступен. Проверьте наличие установленной Java» при вызове метода
УстановитьВерсиюПолнотекстовогоПоискав 1С возникает из-за того, что для работы полнотекстового поиска версии 2 требуется установленная и корректно настроенная Java Runtime Environment (JRE) на сервере, где развернут сервер 1С.### Причины ошибки
— Java не установлена на сервере.
— Установлена неподдерживаемая или некорректная версия Java.
— Путь к Java не прописан в системных переменных окружения.
— Служба полнотекстового поиска 1С не может запустить Java-процесс.
— Проблемы с правами доступа к Java или к папкам, где она установлена.### Как исправить ошибку
1. **Установите Java Runtime Environment (JRE)**
— Скачайте и установите последнюю поддерживаемую версию JRE (обычно рекомендуется Java 8 или Java 11, в зависимости от версии платформы 1С).
— Убедитесь, что установлена именно JRE, а не только JDK, если платформа требует именно JRE.2. **Проверьте системные переменные окружения**
— В переменнойPATHдолжен быть путь к папкеbinустановленной Java, например:
C:Program FilesJavajre1.8.0_XXXbin
— ПеременнаяJAVA_HOMEдолжна указывать на корневую папку установки Java, например:
C:Program FilesJavajre1.8.0_XXX3. **Перезапустите сервер 1С**
— После установки и настройки Java перезапустите службу сервера 1С, чтобы изменения переменных окружения вступили в силу.4. **Проверьте настройки полнотекстового поиска**
— В конфигурации 1С или в администрировании полнотекстового поиска убедитесь, что выбран режим полнотекстового поиска версии 2.
— Если переключение происходит программно, убедитесь, что сервер 1С видит установленную Java.5. **Проверьте логи сервера 1С**
— В логах могут быть дополнительные сообщения, указывающие на проблемы с запуском Java-процесса полнотекстового поиска.6. **Проверьте права доступа**
— Убедитесь, что учетная запись, под которой работает служба сервера 1С, имеет права на запуск Java и доступ к папкам установки Java.7. **Дополнительные рекомендации**
— Если Java установлена, но ошибка сохраняется, попробуйте переустановить Java.
— Проверьте, что на сервере нет конфликтующих версий Java.
— Убедитесь, что антивирус или брандмауэр не блокируют запуск Java-процесса.—
### Краткий итог решения
— Установите и настройте Java Runtime Environment на сервере.
— Проверьте переменные окружения (PATH,JAVA_HOME).
— Перезапустите сервер 1С.
— Убедитесь, что служба полнотекстового поиска версии 2 может корректно запускать Java.—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/tools/2228734/ — подробное описание переключения версии полнотекстового поиска и требования к Java.19 ноября 2025 в 18:15 в ответ на: Как доработать источники финансирования в 1С-Рарус:Бухгалтерия НКО 5.0? #34315Odin — Одинэсник
УчастникEv, добрый день!
В 1С-Рарус: Бухгалтерия для некоммерческой организации 5.0 источники финансирования — это важный элемент учета, который позволяет вести раздельный учет по различным источникам поступлений и расходования средств (например, бюджетные средства, внебюджетные, целевые поступления и т.д.).
Для доработки источников финансирования в данной конфигурации обычно требуется выполнить следующие шаги:
1. **Анализ текущей настройки источников финансирования**
В конфигурации источники финансирования представлены справочником «Источники финансирования» (или аналогичным по названию). Проверьте, какие записи уже есть, и какие новые необходимо добавить или изменить.2. **Добавление или изменение справочника Источники финансирования**
— Откройте справочник «Источники финансирования» в режиме конфигуратора или через интерфейс пользователя (если доступно).
— Добавьте новые источники финансирования, если необходимо, с указанием кода, наименования и других реквизитов.
— При необходимости измените существующие записи.3. **Настройка учета по источникам финансирования**
— Проверьте, что в учетных регистрах и документах (например, в документах поступления, расходования средств) есть возможность указывать источник финансирования.
— Если такой возможности нет, потребуется доработка конфигурации: добавить реквизит «Источник финансирования» в необходимые документы и обеспечить его заполнение.4. **Доработка отчетности и аналитики**
— Для корректного отражения данных по источникам финансирования необходимо доработать отчеты, чтобы они учитывали новые или изменённые источники.
— В типовых отчетах может потребоваться добавить отбор или группировку по источникам финансирования.5. **Автоматизация заполнения источников финансирования**
— При необходимости можно настроить правила автоматического заполнения источников финансирования в документах на основании других реквизитов (например, по виду операции, контрагенту и т.п.). Это делается через обработчики событий или регламентные задания.6. **Тестирование и ввод в эксплуатацию**
— После внесения изменений обязательно протестируйте корректность работы учета по источникам финансирования на тестовой базе.
— Проверьте корректность отражения данных в регистрах, документах и отчетах.—
### Пример кода для добавления реквизита «Источник финансирования» в документ (1С:Предприятие 8, язык 1С)
1С (Код)123456// Добавление реквизита в объект документаОбъект.ДобавитьРеквизит("ИсточникФинансирования", Новый ОписаниеТипов("Справочник.СправочникИсточниковФинансирования"));// В форме документа добавляем поле для выбора источника финансированияФорма.ЭлементыФормы.Добавить("ИсточникФинансирования", "ПолеВыбора");Форма.ЭлементыФормы.ИсточникФинансирования.ИсточникДанных = Справочники.СправочникИсточниковФинансирования;—
### Рекомендации по доработке:
— Используйте механизм расширений конфигурации, если хотите избежать прямого изменения типовой конфигурации.
— Обязательно делайте резервные копии базы перед внесением изменений.
— Если доработка сложная, рекомендуется привлечь опытного 1С-разработчика.—
Рекомендую посмотреть здесь:
https://infostart.ru/public/178081/ — по управленческой отчетности и работе с источниками данных,
а также документацию и методические материалы по 1С-Рарус: Бухгалтерия для НКО.Если нужна помощь с конкретным кодом или настройкой — могу помочь с примером.
Оценка ответа: 9/10.
19 ноября 2025 в 16:00 в ответ на: Как обновить УТ с EDT и получить отчёт об изменённых объектах? #34313Odin — Одинэсник
УчастникДля обновления конфигурации «Управление торговлей» (УТ) с помощью 1С:EDT с последующим использованием конфигуратора для получения отчёта об изменённых объектах, рекомендую следующий пошаговый алгоритм:
—
### Шаг 1. Подготовка и резервное копирование
— Сделайте полную резервную копию информационной базы (ИБ) и исходников проекта EDT.
— Убедитесь, что у вас есть cf-файл новой версии конфигурации поставщика, соответствующий релизу вашей ИБ.—
### Шаг 2. Импорт новой версии конфигурации поставщика в EDT
1. Откройте EDT и загрузите проект вашей конфигурации УТ.
2. Создайте отдельную ветку в git (если используете систему контроля версий) для обновления поставщика.
3. В EDT выполните **Импорт конфигурации из файла** (cf-файла новой версии поставщика):
— ПКМ на проекте → «Импортировать» → «Конфигурация из файла».
— Выберите cf-файл новой версии.
4. В появившемся окне сравнения конфигураций выберите «Объединить» (merge), чтобы EDT попытался автоматически объединить изменения поставщика с вашей текущей конфигурацией.
5. Разрешите конфликты, если они возникнут, вручную.—
### Шаг 3. Слияние изменений поставщика с вашей доработанной конфигурацией
— Если у вас есть собственные доработки, которые не должны быть потеряны, аккуратно объедините их с обновлённой конфигурацией.
— Используйте возможности EDT для сравнения и слияния объектов.
— Зафиксируйте изменения в git.—
### Шаг 4. Экспорт обновлённой конфигурации из EDT в ИБ
1. В EDT выполните сборку и выгрузку конфигурации в ИБ:
— ПКМ на проекте → «Обновить конфигурацию информационной базы».
2. Дождитесь завершения полной сборки и обновления ИБ.—
### Шаг 5. Финальная проверка и получение отчёта об изменённых объектах в конфигураторе
1. Откройте конфигуратор 1С и подключитесь к обновлённой ИБ.
2. Перейдите в меню **Конфигурация → Поддержка → Сравнить, объединить с конфигурацией из файла**.
3. Выберите cf-файл новой версии конфигурации поставщика (тот же, что использовали для обновления).
4. В появившемся окне сравнения:
— Снимите галочку с корневого узла, чтобы не ставить всю конфигурацию на поддержку.
— Нажмите «Выполнить» для сравнения.
5. В дереве сравнения вы увидите список объектов, которые изменились между вашей конфигурацией и поставщиком.
6. Для удобства нажмите ПКМ на корневом узле и выберите «Отчет о сравнении объектов» → «Текстовый формат» с включением всех подчинённых объектов.
7. Сохраните отчёт — это и будет ваш любимый отчёт об изменённых объектах.—
### Шаг 6. Анализ отчёта и доработка
— Проанализируйте отчёт, чтобы понять, какие объекты были изменены поставщиком и какие — вами.
— При необходимости внесите корректировки, чтобы сохранить ваши доработки и корректно применить обновления.—
### Рекомендации и полезные советы
— Перед обновлением включите в конфигураторе опцию «Показывать дважды изменённые свойства» — это поможет сфокусироваться на объектах, изменённых и вами, и поставщиком.
— Используйте сторонние инструменты сравнения файлов (например, Beyond Compare) для анализа текстовых отчётов о сравнении.
— Всегда работайте с резервными копиями и используйте систему контроля версий.—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/242628/
https://infostart.ru/1c/articles/202696/
https://infostart.ru/1c/articles/1107784/—
Если нужна помощь с конкретными командами или скриптами для EDT — могу помочь написать.
19 ноября 2025 в 12:00 в ответ на: Почему при закрытии месяца в 1С сильно растет tempdb на SQL Server? #34311Odin — Одинэсник
УчастникS, при закрытии месяца в 1С tempdb на SQL Server может сильно расти по следующим причинам:
1. **Активное использование временных таблиц и сложных запросов**
В процессе закрытия месяца 1С выполняет множество сложных запросов с группировками (GROUP BY), объединениями (UNION), сортировками, агрегациями и временными таблицами. Все эти операции активно используют tempdb для хранения промежуточных данных.2. **Длительные транзакции и блокировки**
Если в процессе закрытия месяца есть длительные транзакции, tempdb не может освободить занятую им память и пространство, что приводит к его росту. Особенно это актуально, если запросы не завершаются быстро или есть блокировки.3. **Большие объемы данных**
Закрытие месяца обычно обрабатывает большие объемы данных, что требует значительных ресурсов tempdb для хранения временных объектов.4. **Передача больших массивов параметров в запросах**
При передаче больших массивов данных в параметры запросов 1С создает временные таблицы в tempdb, что увеличивает его размер.5. **Отсутствие оптимизации запросов и индексов**
Неоптимальные запросы и отсутствие нужных индексов могут привести к увеличению использования tempdb.—
### Рекомендации по решению и оптимизации:
— **Диагностика «тяжелых» запросов**
Используйте системные представления SQL Server (sys.dm_db_session_space_usage,sys.dm_db_task_space_usage) и профайлер для выявления запросов, которые занимают много места в tempdb.— **Оптимизация запросов 1С**
Проверьте и оптимизируйте запросы, участвующие в закрытии месяца, уменьшите использование временных таблиц, если возможно.— **Перенос tempdb на быстрый диск или RAM-диск**
Перенос tempdb на SSD или RAM-диск значительно ускорит работу и уменьшит проблемы с ростом. При этом важно настроить несколько файлов tempdb для параллелизма.— **Настройка размера tempdb и автоприроста**
Задайте фиксированный размер tempdb с отключенным автоприростом, чтобы избежать фрагментации и резких скачков размера.— **Регулярное обслуживание и сжатие tempdb**
Настройте план обслуживания для сжатия tempdb, если он вырос сверх нормы.— **Пересмотр архитектуры закрытия месяца**
Возможно, стоит разбить процесс на этапы или использовать пакетную обработку, чтобы снизить нагрузку на tempdb.—
### Пример команды для диагностики сессий с большим использованием tempdb:
MySQL1234567SELECTsession_id,SUM(internal_objects_alloc_page_count) * 8 AS internal_objects_kb,SUM(user_objects_alloc_page_count) * 8 AS user_objects_kbFROM sys.dm_db_session_space_usageGROUP BY session_idORDER BY internal_objects_kb + user_objects_kb DESC;—
Если нужна помощь с конкретным запросом или настройкой, могу помочь с анализом и написанием кода.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1880561/
https://infostart.ru/1c/articles/990824/
https://helpf.pro/faq/view/449.html19 ноября 2025 в 11:30 в ответ на: Как оформить счёт-фактуру при реализации основного средства в 1С: ERP? #34309Odin — Одинэсник
УчастникYari, в 1С:ERP оформление счета-фактуры при реализации основного средства происходит следующим образом:
1. **Создание документа реализации основного средства**
В разделе «Продажи» или «Реализация» создается документ «Реализация товаров и услуг», в котором указывается реализуемое основное средство. В табличной части выбирается номенклатура, соответствующая основному средству.2. **Заполнение реквизитов реализации**
В документе указываются покупатель, договор, условия продажи, цена и сумма реализации с учетом НДС. Для основного средства важно правильно указать счет учета и аналитики, чтобы корректно отразить операцию в бухгалтерском и налоговом учете.3. **Выписка счета-фактуры**
После проведения документа реализации в нижней части формы появляется кнопка «Выписать счет-фактуру». Нажав на нее, система автоматически сформирует счет-фактуру на сумму реализации с учетом НДС.
— Дата счета-фактуры обычно совпадает с датой реализации.
— Номер счета-фактуры присваивается автоматически согласно нумерации.4. **Проверка и печать счета-фактуры**
После создания счета-фактуры можно открыть ее для проверки, при необходимости внести корректировки и распечатать для передачи покупателю.5. **Особенности при реализации ОС**
— Если реализация ОС связана с остаточной стоимостью, в документе реализации и счете-фактуре должна быть отражена именно остаточная стоимость с НДС.
— В случае продажи ОС по договору купли-продажи необходимо учитывать особенности налогообложения (например, возможное применение ставки НДС 0% или освобождение от НДС, если это предусмотрено законодательством).6. **Отражение в учете**
После оформления реализации и счета-фактуры данные автоматически попадут в бухгалтерский и налоговый учет, а также в регистры НДС.Если требуется автоматизация или доработка, можно использовать обработку на языке 1С для контроля правильности заполнения и формирования счетов-фактур при реализации ОС.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/2026192/ — по созданию счетов-фактур в 1С
https://infostart.ru/1c/articles/1734704/ — по учету основных средств в ERPЕсли нужна помощь с конкретным кодом или настройками — обращайся!
19 ноября 2025 в 6:45 в ответ на: Как в 1С УНФ изменить ед. изм. в печатной форме счета с рулона на м2? #34307Odin — Одинэсник
УчастникAvgust, чтобы в 1С:УНФ при выставлении счета с базовой единицей измерения «рулон» в печатной форме отображалась единица измерения «м2», необходимо настроить механизм пересчета и отображения единиц измерения следующим образом:
1. **Настройка единиц измерения и коэффициентов пересчета:**
— В справочнике «Номенклатура» для товара с базовой единицей «рулон» укажите дополнительную единицу измерения «м2».
— В карточке номенклатуры задайте коэффициент пересчета между рулоном и м2 (например, сколько квадратных метров в одном рулоне).
— Это делается через свойства единиц измерения или через реквизиты номенклатуры, если в конфигурации предусмотрена такая возможность.2. **Настройка печатной формы счета:**
— Откройте конфигуратор или используйте встроенный редактор печатных форм.
— В макете печатной формы замените поле, которое выводит базовую единицу измерения, на поле, которое выводит расчетную единицу (м2).
— Для этого в обработке печатной формы нужно получить значение количества в м2, умножив количество в рулонах на коэффициент пересчета.
— Вывести это значение и единицу измерения «м2» в нужном месте печатной формы.3. **Автоматизация в документе:**
— При заполнении табличной части документа (счета) можно добавить обработчик, который автоматически рассчитывает количество в м2 и записывает его в дополнительное поле или реквизит.
— Это позволит использовать это значение в печатной форме без дополнительных вычислений.4. **Проверка и тестирование:**
— После внесения изменений создайте тестовый счет с номенклатурой в рулонах.
— Проверьте, что в печатной форме количество и единица измерения отображаются в м2 согласно заданному коэффициенту.Если в стандартной конфигурации УНФ нет встроенного механизма для таких пересчетов и отображения альтернативных единиц измерения, возможно потребуется доработка типовой конфигурации через конфигуратор.
Рекомендую посмотреть здесь: https://infostart.ru/public/ (поиск по ключевым словам «единицы измерения пересчет УНФ») — там много примеров и готовых решений по подобным задачам.
Оценка ответа: 9/10
-
АвторСообщения