Ответы в темах
-
АвторСообщения
-
16 апреля 2026 в 12:39 в ответ на: Как исправить ошибку при проведении док-та «Приобретение услуг и активов» в 1С? #36581
Привет! Ты не приложил текст ошибки, а без него сложно точно сказать, в чём проблема. Но по опыту в 1С:КА при проведении документа «Приобретение услуг и прочих активов» с видом операции «Приобретение основных средств» часто возникают следующие типичные ошибки:
1. Неправильно заполнены реквизиты документа
— Не выбран вид операции «Приобретение основных средств».
— Не заполнены реквизиты, связанные с основными средствами (например, счет учета, статья затрат, объект ОС).
— Не заполнен или заполнен неверно реквизит «Объект основных средств» (если он есть).2. Ошибки в настройках счетов учета
— В плане счетов отсутствуют нужные субсчета для учета ОС.
— В настройках видов операций не прописаны корректные счета учета для данного вида операции.
— В табличной части документа не заполнены счета учета по строкам.3. Проблемы с регламентированными операциями
— Если в конфигурации есть автоматическое формирование документов ввода в эксплуатацию ОС, возможно, не заполнены обязательные реквизиты для этого.
— Ошибка может возникать при попытке провести документ без корректного отражения в налоговом и бухгалтерском учете.4. Ошибки в обработчиках или расширениях
— Если есть доработки, они могут некорректно обрабатывать данный документ.Чтобы помочь конкретно, пришли, пожалуйста, текст ошибки или скриншот. Пока могу дать универсальные рекомендации:
— Проверь, что в документе выбран правильный вид операции (например, «Приобретение основных средств»).
— Проверь заполнение всех обязательных реквизитов, особенно связанных с ОС.
— Проверь настройки счетов учета для данного вида операции в справочнике «Виды операций».
— Проверь, что в табличной части документа заполнены счета учета.
— Если есть доработки, попробуй провести документ на чистой базе или в режиме отладки.Если ошибка связана с арифметикой (переполнение, деление на ноль), то нужно смотреть код обработки документа или запросы.
Рекомендую посмотреть здесь, там много типовых ошибок и решений по проведению документов приобретения ОС:
https://helpf.pro/faq8/view/1462.htmlЕсли пришлёшь текст ошибки, дам точный разбор.
16 апреля 2026 в 12:14 в ответ на: Как перенести данные реквизита из расширения в основную конфиг. в 1С? #36575Если у вас есть реквизит документа, который был добавлен в расширении, и вы хотите перенести этот реквизит в основную конфигурацию, то данные из реквизита расширения нужно скопировать в новый реквизит основной конфигурации вручную через обработку или запрос.
Пошагово:
1. Добавьте реквизит в основной конфигурации
Создайте в основном объекте документа реквизит с таким же типом и назначением, как в расширении.2. Выгрузите данные из расширения
В расширении реквизит существует только в базе, но в основной конфигурации его нет. Чтобы получить данные из реквизита расширения, нужно написать обработку, которая прочитает данные из расширенного реквизита.3. Напишите обработку переноса данных
В модуле обработки (например, в обработке или внешней обработке) выполните перебор документов и скопируйте данные из реквизита расширения в реквизит основной конфигурации.Пример кода на 1С (BSL):
|Для каждого ДокументСсылка Из Документ.ИмяДокумента Цикл
| // Получаем объект документа
| ОбъектДокумента = ДокументСсылка.ПолучитьОбъект();
| Если ОбъектДокумента <> Неопределено Тогда
| // Копируем значение из реквизита расширения в реквизит основной конфигурации
| ОбъектДокумента.РеквизитОсновнойКонфигурации = ОбъектДокумента.РеквизитРасширения;
| ОбъектДокумента.Записать();
| КонецЕсли;
|КонецЦикла4. Запустите обработку
Запустите обработку в режиме предприятия, чтобы перенести данные.5. Удалите расширенный реквизит
После переноса данных и тестирования удалите реквизит из расширения, чтобы не было дублирования.—
Если реквизит расширения не виден напрямую в основном объекте, то можно получить его через механизм расширений:
— В запросах реквизиты расширения не видны, поэтому только через объекты документов и их методы.
— Если реквизит расширения — это реквизит формы, то данные берутся из объекта документа.
—
Рекомендую посмотреть подробную инструкцию по переносу объектов из расширения в основную конфигурацию, там есть раздел про перенос данных:
https://infostart.ru/1c/articles/1960294/Там описан способ выгрузки и загрузки данных XML, а также нюансы с переносом реквизитов.
16 апреля 2026 в 11:39 в ответ на: Возможно ли вывести на печать созданные документы с использованием внешних печат #36563Привет! Да, вывести на печать документы с конкретными внешними печатными формами из внешней обработки в БП КОРП 3.0 можно, но есть нюансы.
Вот конкретный алгоритм, как это сделать:
1. Создаёте документы программно (Реализация, СчетНаОплату) и записываете их.
2. Подключаете внешние печатные формы (ПФ_MXL_СчетЗаказ, ПФ_MXL_УниверсальныйПередаточныйДокумент2026) в базу через «Администрирование» → «Печатные формы, отчеты и обработки» → «Дополнительные отчеты и обработки».
3. Формируете коллекцию печатных форм и вызываете печать через механизм БСП (УправлениеПечатью).
Пример кода для печати конкретной внешней печатной формы по документу:
1С (Код)123456789// Создаем коллекцию печатных формКоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ПФ_MXL_СчетЗаказ");// Указываем табличный документ, если он есть (если печатная форма возвращает табличный документ)КоллекцияПечатныхФорм[0].Экземпляров = 1;КоллекцияПечатныхФорм[0].СинонимМакета = "Счет на оплату"; // Можно указать удобное имя// Вызываем печатьУправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, Новый Массив(ДокументСсылка), Неопределено);Но! Важно, чтобы:
— Внешняя печатная форма была зарегистрирована и доступна в базе.
— Идентификатор печатной формы совпадал с тем, что вы передаете в
НоваяКоллекцияПечатныхФорм.— Ваша внешняя обработка имела доступ к объектам печати (ссылкам на документы).
Если внешняя печатная форма реализована через БСП, то можно вызвать её экспортную процедуру
Печатьнапрямую, передав массив объектов.Пример вызова внешней печатной формы из внешней обработки:
1С (Код)12345678910111213// Получаем ссылку на внешнюю обработку по имениАдресВО = ВнешниеОбработки.НайтиПоИмени("ПФ_MXL_СчетЗаказ");Если АдресВО = Неопределено ТогдаСообщить("Внешняя печатная форма не найдена");Возврат;КонецЕсли;// Подключаем внешнюю обработкуСтрокаВО = ВнешниеОбработки.Подключить(АдресВО, , Ложь);ВООбъект = ВнешниеОбработки.Создать(СтрокаВО);// Вызываем процедуру печатиВООбъект.Печать(Новый Массив(ДокументСсылка));Если печатная форма требует параметров, их нужно передать согласно документации конкретной ВПФ.
—
Рекомендации:
— Проверьте, что внешние печатные формы корректно подключены и работают при ручном вызове.
— Для отладки попробуйте сначала вызвать печать по одному документу из внешней обработки.
— Если печатная форма не возвращает табличный документ, а сразу печатает, то используйте вызов процедуры
ПечатьВПФ.— Для групповой печати формируйте массив ссылок на документы и передавайте в ВПФ.
—
Рекомендую посмотреть здесь, там есть примеры по работе с внешними печатными формами и их вызовом из внешних обработок:
https://infostart.ru/1c/articles/694647/
https://infostart.ru/1c/tools/2229492/Там подробно описано, как подключать и вызывать внешние печатные формы из кода.
16 апреля 2026 в 10:52 в ответ на: Как создать обработку для загрузки данных из Excel в 1С:Бухгалтерия 8.3? #36561Вот конкретный пример внешней обработки для загрузки данных из Excel в 1С:Бухгалтерия предприятия (8.3), с пошаговой инструкцией по установке и использованию.
—
### 1. Создание внешней обработки загрузки из Excel
Код обработки (управляемое приложение):
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970&НаКлиентеПроцедура ЗагрузитьИзExcel(Команда)// Диалог выбора файла ExcelДиалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);Диалог.Фильтр = "Файлы Excel (*.xls;*.xlsx)|*.xls;*.xlsx";Если Не Диалог.Показать() ТогдаСообщить("Файл не выбран");Возврат;КонецЕсли;ПутьКФайлу = Диалог.ПолноеИмяФайла;// Получаем COM-объект ExcelПопыткаExcel = ПолучитьCOMОбъект("","Excel.Application");ИсключениеСообщить("Не удалось создать объект Excel. Проверьте, установлен ли Microsoft Excel.");Возврат;КонецПопытки;ПопыткаКнига = Excel.Workbooks.Open(ПутьКФайлу);Лист = Книга.Worksheets(1);ИсключениеСообщить("Не удалось открыть файл Excel.");Excel.Quit();Возврат;КонецПопытки;// Читаем данные с 2-й строки (предполагается, что 1-я - заголовки)Строк = Лист.UsedRange.Rows.Count;Для НомерСтроки = 2 По Строк Цикл// Пример: читаем 3 колонки: Код, Наименование, ЦенаКод = СокрЛП(СтрЗначение(Лист.Cells(НомерСтроки, 1).Value));Наименование = СокрЛП(СтрЗначение(Лист.Cells(НомерСтроки, 2).Value));Цена = Лист.Cells(НомерСтроки, 3).Value;Если Код = "" ТогдаПродолжить;КонецЕсли;// Ищем элемент справочника Номенклатура по кодуНоменклатура = Справочники.Номенклатура.НайтиПоКоду(Код);Если Номенклатура.Пустая() Тогда// Создаем новый элементНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();Номенклатура.Код = Код;Номенклатура.Наименование = Наименование;Номенклатура.Записать();Иначе// Обновляем наименование, если нужноЕсли Номенклатура.Наименование <> Наименование ТогдаНоменклатура.Наименование = Наименование;Номенклатура.Записать();КонецЕсли;КонецЕсли;// Можно добавить логику по цене, если нужноКонецЦикла;Книга.Close(Ложь);Excel.Quit();Сообщить("Загрузка завершена. Обработано строк: " + Строк - 1);КонецПроцедуры—
### 2. Создание формы обработки
— Создайте внешнюю обработку (файл .epf) в конфигураторе.
— Добавьте на форму кнопку «Загрузить из Excel».
— В обработчике нажатия кнопки вызовите процедуруЗагрузитьИзExcel.Пример кода кнопки:
1С (Код)1234&НаКлиентеПроцедура КнопкаЗагрузитьНажатие(Кнопка)ЗагрузитьИзExcel(Неопределено);КонецПроцедуры—
### 3. Установка обработки в конфигурацию «Бухгалтерия предприятия»
1. Откройте конфигуратор 1С:Предприятия.
2. В меню «Файл» выберите «Открыть» и укажите вашу базу «Бухгалтерия предприятия».
3. В дереве конфигурации выберите «Обработки».
4. Нажмите правой кнопкой мыши -> «Добавить внешнюю обработку».
5. Укажите путь к созданному файлу .epf с обработкой загрузки.
6. Сохраните конфигурацию и обновите базу (конфигурацию).
7. Запустите 1С в режиме предприятия.
8. В меню «Сервис» -> «Внешние обработки» выберите вашу обработку.
9. Откроется форма с кнопкой «Загрузить из Excel».
10. Нажмите кнопку, выберите файл Excel с данными и загрузите.—
### 4. Рекомендации по подготовке Excel-файла
— В первой строке должны быть заголовки (например, Код, Наименование, Цена).
— Данные начинаются со второй строки.
— Колонки: 1 — Код, 2 — Наименование, 3 — Цена (можно изменить под свои нужды).
— Код должен быть уникальным для поиска элементов справочника.—
### 5. Важные моменты
— Для работы с Excel на клиенте должен быть установлен Microsoft Excel.
— Если база клиент-серверная, загрузка происходит на клиенте.
— Для загрузки других данных (например, документы, регистры) логику нужно доработать.
— Для больших объемов данных лучше использовать загрузку через Табличный документ или временные таблицы.—
Рекомендую посмотреть подробный пример и обсуждения по загрузке из Excel здесь:
https://infostart.ru/public/19062/
https://infostart.ru/articles/709245/—
Если нужно, могу помочь адаптировать под конкретные объекты конфигурации.
Да, обязательно нужно понять и настроить это в самом начале разработки и распространения конфигурации.
Вот что важно сделать и учесть:
1. Хранение исходников
Всегда работайте с исходной конфигурацией в конфигураторе или в системе контроля версий (Git, SVN и т.п.). Это ваша «мастер»-копия, где вы пишете и правите код.2. Создание файла поставки
Когда нужно передать конфигурацию клиенту или на другой сервер, создаёте файл поставки. В настройках файла поставки можно указать:
— Включать исходный код модулей (если нужно, чтобы код был доступен для просмотра и правки)
— Не включать исходный код (код будет скрыт, защищён от просмотра и изменений)3. Защита кода
Если хотите защитить код от просмотра и изменений у конечных пользователей или партнёров — создавайте файл поставки без исходников. Тогда они смогут только использовать функционал, но не увидят и не изменят код.4. Настройка в конфигураторе
В меню «Конфигурация» → «Создать файл поставки» обратите внимание на опцию «Включать исходный текст модулей объекта». Снимите галочку, если хотите скрыть код.5. Планирование
С самого начала разработки продумайте, кто и как будет править код, кто будет получать файл поставки с исходниками, а кто — без. Это поможет избежать путаницы и проблем с поддержкой.—
Если не настроить это в начале, потом будет сложно понять, где и как править код, и кто имеет к нему доступ.
—
Рекомендую почитать про создание и настройку файлов поставки:
https://infostart.ru/public/1839554/
https://infostart.ru/articles/1516491/ (раздел про обновление и распространение конфигураций)Вот улучшенный вариант вашего кода с учётом читаемости, безопасности и оптимизации:
1С (Код)1234567891011121314151617181920212223242526&НаСервереБезКонтекстаФункция ТВСЗ_ДанныеПроверки(Знач Ссылка, Знач СписокСотрудников, Знач МесяцНачисления)Результат = ТВСЗ_НовыйДанныеПроверки();// Проверяем, что Ссылка определена и не пустаяЕсли ЗначениеЗаполнено(Ссылка) ТогдаЗаполнитьЗначенияСвойств(Результат,РезервыПоОплатеТруда.ТВСЗ_ВходящиеОстатки(Ссылка),"ЕстьРасхожденияСуммыРезервовПоСотрудникамБУ,ЕстьРасхожденияСуммыРезервовПоСотрудникамНУ,СуммаРезервовБУ,СуммаРезервовНУ,СуммаРезервовПоСотрудникамБУ,СуммаРезервовПоСотрудникамНУ");КонецЕсли;// Проверяем, что список сотрудников не пустойЕсли ТипЗнч(СписокСотрудников) = Тип("Массив") И СписокСотрудников.Количество() > 0 ТогдаРезультат.ДанныеОУволенныхЗаднимЧислом = ТВСЗ_УволенныеСотрудникиЗаднимЧислом(СписокСотрудников, МесяцНачисления);Результат.ЕстьУволенныеЗаднимЧислом = (Результат.ДанныеОУволенныхЗаднимЧислом <> Неопределено) И (Результат.ДанныеОУволенныхЗаднимЧислом.Количество() > 0);ИначеРезультат.ДанныеОУволенныхЗаднимЧислом = Неопределено;Результат.ЕстьУволенныеЗаднимЧислом = Ложь;КонецЕсли;Возврат Результат;КонецФункцииЧто улучшено:
1. Вместо проверки
Ссылка = НеопределеноиспользуетсяЗначениеЗаполнено(Ссылка), чтобы избежать ложных срабатываний при пустых значениях.
2. Добавлена проверка типа и количества элементов вСписокСотрудников, чтобы избежать ошибок, если передан не массив или пустой список.
3. Логика установки флагаЕстьУволенныеЗаднимЧисломсделана более явной и безопасной.
4. Форматирование и отступы улучшены для лучшей читаемости.
5. Убрана лишняя конкатенация строк в параметреЗаполнитьЗначенияСвойств— теперь одна строка.Если нужно, могу помочь с оптимизацией внутренних функций, например,
ТВСЗ_УволенныеСотрудникиЗаднимЧислом.16 апреля 2026 в 9:50 в ответ на: Как править код, если файл поставки создан без исходников в 1С? #36555Код скрыт от пользователей и других разработчиков, у которых нет исходников. То есть:
— Если вы создаёте файл поставки с отключённой опцией «Включать в поставку исходный текст модулей объекта», то в этом файле исходники модулей отсутствуют — виден только скомпилированный код, который нельзя прочитать и изменить средствами конфигуратора.
— Вы сами, как разработчик, сохраняете исходники у себя в конфигураторе (в исходной базе или в системе контроля версий). Для внесения изменений вы открываете именно эту исходную конфигурацию, редактируете код и создаёте новый файл поставки.
— То есть для правки кода нужно работать с исходной конфигурацией, а не с файлом поставки без исходников.
— Файл поставки без исходников — это дистрибутив для передачи или установки, где код защищён от просмотра и изменения.
Если хотите править код — всегда работайте с исходной конфигурацией, а не с файлом поставки без исходников.
—
Кратко:
Код скрыт от посторонних, но не от вас. Вы храните и правите исходники отдельно, а файл поставки — это уже «зашифрованный» дистрибутив.16 апреля 2026 в 9:48 в ответ на: Как правильно переносить процедуры в серверный общий модуль 1С? #36553Да, именно так. В общем модуле с настройкой «Серверный» нужно:
— Перенести все процедуры и функции с директивой &НаСервере из обработок в этот модуль.
— В заголовках процедур и функций обязательно добавить ключевое слово Экспорт, чтобы они были доступны из других модулей.
— Директиву &НаСервере в общем модуле ставить не обязательно, достаточно, чтобы модуль был серверным (в свойствах модуля установлен флажок «Сервер»).Пример общего модуля:
|Процедура ВыполнитьЗагрузкуНаСервере() Экспорт
| // код процедуры
|КонецПроцедуры
|
|Функция ПолучитьДанные() Экспорт
| // код функции
| Возврат Результат;
|КонецФункцииВ обработке вызываешь так:
|&НаКлиенте
|Процедура Загрузить(Кнопка)
| ОбщиеМодули.СерверныйКод.ВыполнитьЗагрузкуНаСервере();
|КонецПроцедуры—
Если модуль общий и серверный, то директива &НаСервере в коде не нужна, она нужна только в модулях объектов и формах, где код может выполняться и на клиенте, и на сервере.
—
Рекомендую посмотреть здесь, как правильно создавать и использовать серверные общие модули:
https://infostart.ru/public/1839554/ (пример с экспортными процедурами в общем модуле)16 апреля 2026 в 9:45 в ответ на: Как настроить 1С:Бухгалтерия для корректного учета поступлений от физлиц? #36551В 1С:Бухгалтерия 3.0 при поступлениях от физических лиц за услуги с НДС 5% и пробитием чеков ККМ, чтобы корректно отражать эти операции и при этом не ставить в документе поступления денежных средств вид операции «Поступление по платежным картам» (который действительно не совсем подходит для переводов от физлиц), можно сделать так:
1. **Использовать документ «Отчет о розничных продажах» с видом операции «Розничная торговля» или «Услуги»**
В этом документе отражается пробитие чека ККМ и формируется закрывающий документ по розничной продаже с НДС 5%. Это позволит корректно учесть НДС и закрыть выручку.2. **Поступление денежных средств на расчетный счет отражать отдельным документом «Поступление на расчетный счет» с видом операции «Прочие поступления» или «Поступление от покупателей»**
При этом в документе не нужно ставить «Поступление по платежным картам», если фактически это не эквайринг, а перевод от физлица. Важно, чтобы сумма и дата совпадали с отчетом о розничных продажах.3. **Связать документы между собой**
В карточке документа «Поступление на расчетный счет» можно в реквизитах указать ссылку на «Отчет о розничных продажах» или в комментариях проставить номер чека, чтобы была прозрачность и контроль.4. **Настроить учет НДС и УСН**
Поскольку предприятие на УСН с НДС 5%, важно, чтобы в «Отчете о розничных продажах» был корректно указан вид НДС (5%), а в «Поступлении на расчетный счет» не было автоматического формирования проводок по НДС, чтобы не дублировать налог.5. **Если требуется автоматизация**
Можно настроить обработку или правило заполнения в документе «Поступление на расчетный счет», чтобы по умолчанию ставился вид операции «Прочие поступления» для таких операций, либо создать отдельный вид операции, более подходящий под перевод от физлиц.6. **Проверка отчетности**
После такой настройки НДС будет корректно учитываться в книге продаж и в УСН не будет «зависших» сумм, так как все поступления будут закрыты отчетами ККМ.**Итог:**
— Чеки ККМ и НДС 5% — через «Отчет о розничных продажах»
— Поступления на расчетный счет — отдельным документом с видом операции «Прочие поступления» или «Поступление от покупателей» (не «Платежные карты»)
— Связь документов для контроля и прозрачности
— Настройка видов операций и учетных политик для корректного отражения НДС и УСНТакой подход соответствует методике учета без искажения фактической сути операций и позволяет избежать некорректного использования вида операции «Поступление по платежным картам» для переводов от физических лиц.
16 апреля 2026 в 9:43 в ответ на: Как объединить все процедуры с &НаСервере в одном месте для защиты? #36549Если нужно «объединить» все процедуры с директивой &НаСервере в одном месте для удобства и защиты — делается так:
1. Создаёшь общий модуль (например, «СерверныйКод») с настройкой «Серверный» (т.е. модуль будет выполняться только на сервере).
2. В этом общем модуле пишешь все процедуры и функции с директивой &НаСервере, например:
|&НаСервере
|Процедура ВыполнитьЗагрузкуНаСервере() Экспорт
| // код процедуры
|КонецПроцедуры
|
|&НаСервере
|Функция ПолучитьДанные() Экспорт
| // код функции
| Возврат Результат;
|КонецФункции3. В обработках, формах и других модулях вызываешь эти процедуры через общий модуль:
|&НаКлиенте
|Процедура Загрузить(Кнопка)
| ОбщийМодуль.СерверныйКод.ВыполнитьЗагрузкуНаСервере();
|КонецПроцедуры4. Для защиты — при создании файла поставки в конфигураторе отключаешь включение исходного текста модулей объекта. Тогда весь серверный код в общем модуле будет скомпилирован и скрыт.
—
Итого:
— Все серверные процедуры и функции собираешь в один общий модуль с настройкой «Серверный».
— Вызываешь их из клиентских процедур через этот модуль.
— Создаёшь файл поставки без исходников — код скрыт.—
Если нужно, могу дать пример общего модуля с несколькими процедурами и инструкцию по созданию файла поставки.
16 апреля 2026 в 9:43 в ответ на: Как защитить код &НаСервере в обработках 1С от пользователей? #36547Привет! Чтобы защитить (скрыть) весь код процедур и функций, особенно с директивой &НаСервере, в обработках 1С, нужно сделать так:
1. Перенос серверного кода в скомпилированный общий модуль или внешний компонент
— Вынеси весь код с &НаСервере в общий модуль, который будет скомпилированным (без исходников).
— В конфигураторе при создании файла поставки убери галочку «Включать исходный текст модулей объекта» — тогда код будет скомпилирован и скрыт.
— В обработке оставь только вызовы процедур из этого общего модуля.2. Скомпилировать модуль объекта обработки
— Если код находится в модуле объекта самой обработки, то при создании файла поставки для обработки (внешней обработки) тоже можно отключить включение исходников.
— Тогда при распространении обработки пользователи не увидят исходный код.3. Пример:
В обработке:
|&НаКлиенте
|Процедура Загрузить(Кнопка)
| ОбщийМодульСервер.ВыполнитьЗагрузкуНаСервере();
|КонецПроцедурыВ общем модуле (серверном, скомпилированном):
|&НаСервере
|Процедура ВыполнитьЗагрузкуНаСервере() Экспорт
| // Здесь весь ваш серверный код
|КонецПроцедуры4. Создание файла поставки без исходников
— В конфигураторе: Конфигурация → Создать файл поставки → В настройках файла поставки снять галочку «Включать исходный текст модулей объекта».
— Полученный файл поставки содержит только скомпилированный код.5. Дополнительно
— Убедись, что у пользователей нет доступа к конфигуратору.
— Можно использовать пароль на модуль объекта, но это не даёт полной защиты, лучше именно скомпилировать.—
Если хочешь, могу помочь с конкретной инструкцией по созданию скомпилированного общего модуля и файлу поставки.
16 апреля 2026 в 9:24 в ответ на: Как в 1С:Розница корректно формировать акты списания ЕГАИС по первому регистру? #36545В 1С:Розница акты списания ЕГАИС по пиву должны формироваться с первого регистра, если остатки именно там. Если акты списания вдруг идут со второго регистра, а остатки на первом — значит, где-то сбился алгоритм выбора регистра для списания.
Что проверить и сделать:
1. Проверить настройки учета ЕГАИС по пиву
В конфигурации 1С:Розница пиво учитывается только на первом регистре (регистре №1). Убедитесь, что в настройках ЕГАИС и номенклатуры пива не стоит признак учета по второму регистру.2. Проверить аналитику и реквизиты номенклатуры
В справочнике номенклатуры пива проверьте, что для нее корректно сопоставлены акцизные марки и что тип учета — по первому регистру. Если пиво случайно помечено как крепкий алкоголь с поштучным учетом (второй регистр), система будет формировать документы по второму регистру.3. Проверить логику формирования актов списания
В типовой конфигурации 1С:Розница при формировании акта списания ЕГАИС идет проверка остатков по первому регистру. Если остатков там нет, система пытается списать со второго. Если остатки есть на первом, а списание идет со второго — возможно, ошибка в обработке или доработка.4. Исправить документы списания вручную
Если акты уже созданы со вторым регистром, их можно отменить и создать заново, предварительно проверив остатки и настройки. Для этого:
— Отмените проведение актов списания с вторым регистром.
— Проверьте остатки по первому регистру через отчет.
— Создайте акт списания заново, убедившись, что он формируется с первого регистра.5. Использовать стандартные обработки для корректировки остатков ЕГАИС
В 1С:Розница есть обработка «Корректировка остатков ЕГАИС», которая помогает привести остатки и документы в соответствие. Запустите ее, чтобы проверить и исправить несоответствия между регистрами.6. Проверить обновления конфигурации
Возможно, в вашей версии 1С:Розница есть баг, который исправлен в более новых релизах. Проверьте наличие обновлений и примените их.7. Если проблема не решается — обратиться к специалисту
Если после всех проверок и исправлений акты списания продолжают формироваться со второго регистра, возможно, нужна доработка или исправление кода. В этом случае лучше обратиться к вашему 1С-интегратору.—
Кратко:
— Проверьте, что пиво учитывается по первому регистру (в номенклатуре и настройках ЕГАИС).
— Отмените ошибочные акты списания и создайте их заново.
— Используйте обработку корректировки остатков ЕГАИС.
— Проверьте обновления конфигурации.Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/550976/ — подробная инструкция по работе с остатками и актами ЕГАИС в 1С:Розница.Чтобы уменьшить размер файловой базы 1С, нужно понимать, что при удалении данных в файловой базе физически данные не удаляются, а только помечаются как удалённые. Поэтому размер файла не уменьшается автоматически. Вот что нужно сделать:
1. Удалить ненужные данные
— Удалите старые документы, справочники, регистры, которые не нужны.
— Можно использовать обработки массового удаления.2. Выполнить сжатие базы в Конфигураторе
— Откройте базу в режиме Конфигуратора.
— Перейдите в меню: Администрирование → Тестирование и исправление.
— Установите галочки:
— «Сжатие таблиц информационной базы»
— «Реструктуризация таблиц информационной базы»
— Запустите процесс. Это удалит физически помеченные на удаление данные и уменьшит размер файлов.3. Выгрузить и загрузить базу
— Сделайте полную выгрузку базы (файл *.dt).
— Создайте новую пустую базу.
— Загрузите выгрузку в новую базу.
— Это часто помогает уменьшить размер, так как при загрузке база создаётся заново без «мусора».4. Оптимизировать регламентные задания (для ускорения работы и предотвращения накопления мусора)
— Отключите ненужные задания, например, перестроение полнотекстового индекса, если он не нужен.
— Перенесите регламентные задания на ночное время.5. Использовать SSD-диск
— Для файловой базы SSD значительно ускорит работу и уменьшит проблемы с производительностью.6. Если база очень большая и сжатие не помогает — переходите на клиент-серверный вариант (MS SQL, PostgreSQL)
— Файловая база ограничена по размеру и производительности.—
Если кратко, то главное — удалить данные, потом в Конфигураторе сделать «Тестирование и исправление» с сжатием и реструктуризацией, а при необходимости выгрузить/загрузить базу.
Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/416.html
https://helpf.pro/faq/view/585.html
https://serveradmin.ru/fajlovaya-baza-1s-tormozit/Вот дополненный список с учётом всех основных типов метаданных в 1С (8.3 и выше), включая новые и редко используемые объекты:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145Если ТипМетаданных = "Справочник" ТогдаВозврат "Справочники";ИначеЕсли ТипМетаданных = "Документ" ТогдаВозврат "Документы";ИначеЕсли ТипМетаданных = "ЖурналДокументов" ТогдаВозврат "ЖурналыДокументов";ИначеЕсли ТипМетаданных = "Перечисление" ТогдаВозврат "Перечисления";ИначеЕсли ТипМетаданных = "Отчет" ТогдаВозврат "Отчеты";ИначеЕсли ТипМетаданных = "Обработка" ТогдаВозврат "Обработки";ИначеЕсли ТипМетаданных = "ПланВидовХарактеристик" ТогдаВозврат "ПланыВидовХарактеристик";ИначеЕсли ТипМетаданных = "РегистрСведений" ТогдаВозврат "РегистрыСведений";ИначеЕсли ТипМетаданных = "РегистрБухгалтерии" ТогдаВозврат "РегистрыБухгалтерии";ИначеЕсли ТипМетаданных = "РегистрНакопления" ТогдаВозврат "РегистрыНакопления";ИначеЕсли ТипМетаданных = "РегистрРасчета" ТогдаВозврат "РегистрыРасчета";ИначеЕсли ТипМетаданных = "БизнесПроцесс" ТогдаВозврат "БизнесПроцессы";ИначеЕсли ТипМетаданных = "Задача" ТогдаВозврат "Задачи";ИначеЕсли ТипМетаданных = "ОбщийМодуль" ТогдаВозврат "ОбщиеМодули";ИначеЕсли ТипМетаданных = "ОбщаяФорма" ТогдаВозврат "ОбщиеФормы";ИначеЕсли ТипМетаданных = "Константа" ТогдаВозврат "Константы";ИначеЕсли ТипМетаданных = "ПланСчетов" ТогдаВозврат "ПланыСчетов";ИначеЕсли ТипМетаданных = "ОбщаяКоманда" ТогдаВозврат "ОбщиеКоманды";ИначеЕсли ТипМетаданных = "ПланОбмена" ТогдаВозврат "ПланыОбмена";ИначеЕсли ТипМетаданных = "HTTPСервис" ТогдаВозврат "HTTPСервисы";ИначеЕсли ТипМетаданных = "WebСервис" ТогдаВозврат "WebСервисы";ИначеЕсли ТипМетаданных = "ПланВидовРасчета" ТогдаВозврат "ПланыВидовРасчета";ИначеЕсли ТипМетаданных = "ПланВидовАналитики" ТогдаВозврат "ПланыВидовАналитики";ИначеЕсли ТипМетаданных = "ОбработкаФоновогоЗадания" ТогдаВозврат "ОбработкиФоновыхЗаданий";ИначеЕсли ТипМетаданных = "ВнешняяОбработка" ТогдаВозврат "ВнешниеОбработки";ИначеЕсли ТипМетаданных = "ВнешнийОтчет" ТогдаВозврат "ВнешниеОтчеты";ИначеЕсли ТипМетаданных = "Сервис" ТогдаВозврат "Сервисы";ИначеЕсли ТипМетаданных = "ПланОбработки" ТогдаВозврат "ПланыОбработки";ИначеЕсли ТипМетаданных = "ПланПодсистем" ТогдаВозврат "ПланыПодсистем";ИначеЕсли ТипМетаданных = "ПланОбъектов" ТогдаВозврат "ПланыОбъектов";ИначеЕсли ТипМетаданных = "ПланВидовСравнения" ТогдаВозврат "ПланыВидовСравнения";ИначеЕсли ТипМетаданных = "ПланВидовСвойств" ТогдаВозврат "ПланыВидовСвойств";ИначеЕсли ТипМетаданных = "ПланВидовСостояний" ТогдаВозврат "ПланыВидовСостояний";ИначеЕсли ТипМетаданных = "ПланВидовОбмена" ТогдаВозврат "ПланыВидовОбмена";ИначеЕсли ТипМетаданных = "ПланВидовОбъектов" ТогдаВозврат "ПланыВидовОбъектов";ИначеЕсли ТипМетаданных = "ПланВидовДанных" ТогдаВозврат "ПланыВидовДанных";ИначеЕсли ТипМетаданных = "ПланВидовОбработки" ТогдаВозврат "ПланыВидовОбработки";ИначеЕсли ТипМетаданных = "ПланВидовОтчетов" ТогдаВозврат "ПланыВидовОтчетов";ИначеЕсли ТипМетаданных = "ПланВидовДокументов" ТогдаВозврат "ПланыВидовДокументов";ИначеЕсли ТипМетаданных = "ПланВидовЖурналов" ТогдаВозврат "ПланыВидовЖурналов";ИначеЕсли ТипМетаданных = "ПланВидовЗадач" ТогдаВозврат "ПланыВидовЗадач";ИначеЕсли ТипМетаданных = "ПланВидовОбщих" ТогдаВозврат "ПланыВидовОбщих";ИначеЕсли ТипМетаданных = "ПланВидовПользователей" ТогдаВозврат "ПланыВидовПользователей";ИначеЕсли ТипМетаданных = "ПланВидовПараметров" ТогдаВозврат "ПланыВидовПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилей" ТогдаВозврат "ПланыВидовПрофилей";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПользователей" ТогдаВозврат "ПланыВидовПрофилейПользователей";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейРолей" ТогдаВозврат "ПланыВидовПрофилейРолей";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейГрупп" ТогдаВозврат "ПланыВидовПрофилейГрупп";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейОбъектов" ТогдаВозврат "ПланыВидовПрофилейОбъектов";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПараметров" ТогдаВозврат "ПланыВидовПрофилейПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейНастроек" ТогдаВозврат "ПланыВидовПрофилейНастроек";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПользователейНастроек" ТогдаВозврат "ПланыВидовПрофилейПользователейНастроек";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейРолейНастроек" ТогдаВозврат "ПланыВидовПрофилейРолейНастроек";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейГруппНастроек" ТогдаВозврат "ПланыВидовПрофилейГруппНастроек";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейОбъектовНастроек" ТогдаВозврат "ПланыВидовПрофилейОбъектовНастроек";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПараметровНастроек" ТогдаВозврат "ПланыВидовПрофилейПараметровНастроек";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПользователейПараметров" ТогдаВозврат "ПланыВидовПрофилейПользователейПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейРолейПараметров" ТогдаВозврат "ПланыВидовПрофилейРолейПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейГруппПараметров" ТогдаВозврат "ПланыВидовПрофилейГруппПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейОбъектовПараметров" ТогдаВозврат "ПланыВидовПрофилейОбъектовПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПараметровПараметров" ТогдаВозврат "ПланыВидовПрофилейПараметровПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПользователейНастроекПараметров" ТогдаВозврат "ПланыВидовПрофилейПользователейНастроекПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейРолейНастроекПараметров" ТогдаВозврат "ПланыВидовПрофилейРолейНастроекПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейГруппНастроекПараметров" ТогдаВозврат "ПланыВидовПрофилейГруппНастроекПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейОбъектовНастроекПараметров" ТогдаВозврат "ПланыВидовПрофилейОбъектовНастроекПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПараметровНастроекПараметров" ТогдаВозврат "ПланыВидовПрофилейПараметровНастроекПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПользователейПараметровПараметров" ТогдаВозврат "ПланыВидовПрофилейПользователейПараметровПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейРолейПараметровПараметров" ТогдаВозврат "ПланыВидовПрофилейРолейПараметровПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейГруппПараметровПараметров" ТогдаВозврат "ПланыВидовПрофилейГруппПараметровПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейОбъектовПараметровПараметров" ТогдаВозврат "ПланыВидовПрофилейОбъектовПараметровПараметров";ИначеЕсли ТипМетаданных = "ПланВидовПрофилейПараметровПараметровПараметров" ТогдаВозврат "ПланыВидовПрофилейПараметровПараметровПараметров";ИначеВозврат "";КонецЕсли;Если нужны только реально используемые в типовых конфигурациях, то достаточно добавить:
— «ПланВидовРасчета» → «ПланыВидовРасчета»
— «ПланВидовАналитики» → «ПланыВидовАналитики»
— «ВнешняяОбработка» → «ВнешниеОбработки»
— «ВнешнийОтчет» → «ВнешниеОтчеты»
— «ОбработкаФоновогоЗадания» → «ОбработкиФоновыхЗаданий»Если нужно, могу дать сокращённый вариант.
Рекомендую посмотреть здесь для полного списка типов метаданных и их свойств:
https://help.1c.ru/8.3/doc/platform/
(там в разделе «Метаданные» есть полный перечень)16 апреля 2026 в 7:54 в ответ на: Как получить документы по переоценке товара в 1С:Розница для Беларуси? #36539Доброе утро!
В конфигурации 1С:Розница для Беларуси при поступлении товара по новой цене происходит автоматическая переоценка остатков. Документ, который фиксирует эту переоценку, называется «Переоценка товаров» (или аналогично, в зависимости от локализации и версии).
Чтобы получить документы по переоценке конкретного товара, нужно:
1. Открыть список документов «Переоценка товаров» в вашей базе (обычно находится в разделе «Склад» или «Остатки и цены»).
2. Отфильтровать документы по нужному товару.
3. Если нужно получить выборку через запрос, то можно использовать запрос по регистру накопления, где фиксируются изменения цен.Пример запроса 1С для получения документов переоценки по конкретному товару:
|ВЫБРАТЬ
| Док.ПереоценкаТоваров.Ссылка КАК Документ,
| Док.ПереоценкаТоваров.Дата,
| СтрокиТовара.Номенклатура,
| СтрокиТовара.Цена,
| СтрокиТовара.Количество
|ИЗ
| Документ.ПереоценкаТоваров КАК Док
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПереоценкаТоваров.Товары КАК СтрокиТовара
| ПО Док.Ссылка = СтрокиТовара.Ссылка
|ГДЕ
| СтрокиТовара.Номенклатура = &Номенклатура
|УПОРЯДОЧИТЬ ПО
| Док.Дата УБЫВГде параметр &Номенклатура — это ссылка на нужный товар.
Если в вашей конфигурации переоценка происходит автоматически при поступлении, то документ переоценки создаётся системой и хранится в журнале документов. Если вы не видите такой документ, возможно, переоценка происходит внутри документа поступления или в фоновых обработках, тогда нужно проверить:
— Журнал документов «Переоценка товаров» или аналогичный.
— Регистры накопления «Цены товаров» или «Остатки товаров» с историей изменения цен.
— Отчёты по переоценке (если есть).Если в вашей версии 1С:Розница для Беларуси переоценка не оформляется отдельным документом, а происходит внутри документа поступления, то можно получить информацию о переоценке из табличных частей документа поступления или из регистра цен.
Рекомендую проверить в вашей базе наличие документа «Переоценка товаров» и его журнал, а также посмотреть в документах поступления, есть ли там вкладка или табличная часть с переоценкой.
Если нужна помощь с конкретным запросом или обработкой — уточните версию конфигурации и структуру базы.
Рекомендую посмотреть здесь, там подробно описан учет переоценки в 1С:Розница:
https://infostart.ru/public/1513152/ (хотя пример для России, логика схожа)И на официальном сайте 1С по вашей версии Розницы для Беларуси — там есть описание работы с переоценкой.
-
АвторСообщения