Ответы в темах
-
АвторЗаписи
-
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С по вашей версии Розницы для Беларуси — там есть описание работы с переоценкой.
16 апреля 2026 в 5:28 в ответ на: Как выбрать контрагента и вывести его адрес из справочника в 1С? #36537Вот простой пример процедуры на 1С (BSL), которая открывает форму выбора контрагента из справочника «Контрагенты», а после выбора выводит адрес этого контрагента в сообщении:
1С (Код)12345678910111213141516171819202122Процедура ВыбратьКонтрагентаИПоказатьАдрес()// Открываем стандартную форму выбора справочника КонтрагентыВыбранныйКонтрагент = Справочники.Контрагенты.Выбрать();Если ЗначениеЗаполнено(ВыбранныйКонтрагент) Тогда// Получаем адрес контрагентаАдрес = "";Если ЗначениеЗаполнено(ВыбранныйКонтрагент.Адрес) ТогдаАдрес = ВыбранныйКонтрагент.Адрес.Представление;КонецЕсли;Если Адрес = "" ТогдаСообщить("У выбранного контрагента не заполнен адрес.");ИначеСообщить("Адрес контрагента: " + Адрес);КонецЕсли;ИначеСообщить("Контрагент не выбран.");КонецЕсли;КонецПроцедурыОбъяснение:
—Справочники.Контрагенты.Выбрать()— стандартный метод, который открывает окно выбора из справочника и возвращает выбранную ссылку.
— Проверяем, что контрагент выбран.
— Берём реквизит «Адрес» (в типовых конфигурациях он обычно есть, если нет — замените на нужный реквизит с адресом).
— Выводим адрес черезСообщить.Если в вашей конфигурации адрес хранится в другом реквизите или в подчинённом справочнике, нужно будет подкорректировать код.
16 апреля 2026 в 5:23 в ответ на: Почему в 1С:Розница 3.0 в РМК не отображается кнопка оплаты по СБП? #36535В 1С:Розница 3.0 оплата по СБП в РМК (Рабочем месте кассира) может не отображаться по нескольким причинам. Вот что проверить и как исправить:
1. Проверка настроек способа оплаты СБП для РМК
— В разделе «Администрирование» → «Интернет-поддержка и сервисы» → «Настройки интеграции» убедитесь, что создана и активна настройка подключения к СБП.
— В настройках способа оплаты, который используется для СБП, проверьте, что он привязан к нужной организации и торговой точке, а также что в реквизитах способа оплаты указан тип «СБП» или «Эквайринг СБП».
— В свойствах способа оплаты должна быть включена опция «Использовать в РМК» (или аналогичная), чтобы способ оплаты отображался в интерфейсе РМК.2. Проверка прав пользователя
— У пользователя, под которым работает кассир, должны быть права на использование данного способа оплаты. Проверьте роли и права в разделе «Администрирование» → «Пользователи и права».
— Если используется разграничение прав по торговым точкам, убедитесь, что кассир имеет доступ к нужной торговой точке и способу оплаты.3. Обновление конфигурации и компонентов
— Убедитесь, что у вас установлена последняя версия конфигурации 1С:Розница 3.0 с поддержкой СБП. В старых релизах функционал мог быть ограничен.
— Проверьте, что компоненты ККМ и РМК обновлены и поддерживают работу с СБП.4. Проверка настроек РМК
— В РМК может быть отдельная настройка отображения способов оплаты. Проверьте в настройках РМК (обычно в разделе «Настройки» или «Параметры РМК»), что способ оплаты СБП включен для отображения.
— Иногда в РМК используется собственный список способов оплаты, который нужно обновить или синхронизировать с основными настройками.5. Перезапуск и очистка кэша
— После внесения изменений перезапустите клиент 1С и очистите кэш (Ctrl+Shift+F5 или через меню). Иногда кнопка не появляется из-за кеширования интерфейса.6. Проверка расширений и доработок
— Если в базе установлены расширения или доработки, они могут влиять на отображение кнопок в РМК. Попробуйте временно отключить расширения и проверить наличие кнопки.Если после проверки и корректировки вышеуказанных пунктов кнопка оплаты по СБП в РМК не появилась, можно использовать следующий обходной путь:
— В РМК при оформлении продажи выбрать способ оплаты «Другое» или «Оплата по QR-коду» (если есть), после чего вручную вызвать печать QR-кода СБП (через стандартные механизмы или расширения).
— Либо использовать отдельный модуль или расширение для интеграции СБП в РМК, например, решения на Infostart.Рекомендую посмотреть подробную инструкцию по настройке СБП в 1С:Розница 3.0 с примерами и скриншотами:
https://infostart.ru/1c/articles/2493515/
и
https://infostart.ru/1c/articles/1671540/Если нужна помощь с конкретными настройками или кодом, приложите скриншоты настроек способов оплаты и РМК.
-
АвторЗаписи