Ответы в темах
-
АвторЗаписи
-
1 сентября 2026 в 7:53 в ответ на: Как получить текущую доступность товара из регистра «ЗапасыИПотребности»? #38534
Чтобы получить в запросе доступность товара на сейчас из регистра накопления ЗапасыИПотребности, нужно добавить вычисляемое поле «Доступность» как разницу между наличием и заказом.
Пример запроса:
|ВЫБРАТЬ
| ЗапасыИПотребности.Номенклатура КАК Номенклатура,
| ЗапасыИПотребности.Характеристика КАК Характеристика,
| ЗапасыИПотребности.Склад КАК Склад,
| ЗапасыИПотребности.ВНаличии КАК ВНаличии,
| ЗапасыИПотребности.Заказано КАК Заказано,
| (ЗапасыИПотребности.ВНаличии — ЗапасыИПотребности.Заказано) КАК Доступность
|ИЗ
| РегистрНакопления.ЗапасыИПотребности КАК ЗапасыИПотребности
|ГДЕ
| ЗапасыИПотребности.ВНаличии <> 0
| ИЛИ ЗапасыИПотребности.Заказано <> 0—
Если нужно получить данные на текущий момент, то в запросе можно указать период:
|ГДЕ
| ЗапасыИПотребности.Период = &ТекущаяДатаИ в параметрах запроса установить:
1С (Код)1Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());—
Если в регистре есть остатки по разным периодам, лучше брать срез последних:
|ГДЕ
| ЗапасыИПотребности.Период = (ВЫБРАТЬ МАКСИМУМ(Период) ИЗ РегистрНакопления.ЗапасыИПотребности КАК ЗапасыИПотребности2)—
Так вы получите актуальную доступность товара на складах.
1 сентября 2026 в 7:49 в ответ на: Как сделать отчет «Ведомость по товарам на складах» с учетом доступности в УТ 11 #38532Для УТ 11.5.27.68 сделать отчет «Ведомость по товарам на складах» с колонкой «Доступность» (свободный остаток с учетом резервов и заказов) можно так:
—
### 1. Источник данных
Основной регистр для остатков — РегистрНакопления.ТоварыНаСкладах
Для доступности нужно учитывать:— Остаток на складе (факт)
— Резервы (зарезервировано под заказы)
— Заказы клиентов (ожидаемые отгрузки)
— Заказы поставщикам (ожидаемые поступления)—
### 2. Пример запроса с расчетом доступности
|ВЫБРАТЬ
| ТоварыНаСкладах.Номенклатура КАК Номенклатура,
| ТоварыНаСкладах.Склад КАК Склад,
| СУММА(ТоварыНаСкладах.Количество) КАК Остаток,
| СУММА(Резервы.Количество) КАК Резерв,
| СУММА(ЗаказыКлиентов.Количество) КАК Заказано,
| (СУММА(ТоварыНаСкладах.Количество) — СУММА(Резервы.Количество) — СУММА(ЗаказыКлиентов.Количество)) КАК Доступность
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервыТоваров КАК Резервы
| ПО ТоварыНаСкладах.Номенклатура = Резервы.Номенклатура
| И ТоварыНаСкладах.Склад = Резервы.Склад
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов КАК ЗаказыКлиентов
| ПО ТоварыНаСкладах.Номенклатура = ЗаказыКлиентов.Номенклатура
| И ТоварыНаСкладах.Склад = ЗаказыКлиентов.Склад
|ГДЕ
| ТоварыНаСкладах.Количество <> 0
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладах.Номенклатура,
| ТоварыНаСкладах.Склад—
### 3. Пояснения
— Регистр РезервыТоваров — условное имя, в вашей базе может называться иначе (например, РегистрСведений.РезервыТоваров или ЗаказыКлиентов с признаком резерва).
— Аналогично с ЗаказыКлиентов — нужно брать регистр или документы, которые показывают заказы с действием «Резервировать» или «К обеспечению».
— Если таких регистров нет, можно брать данные из документов ЗаказКлиента с фильтрацией по статусу и действию.
— Важно учитывать, что остаток и резервы должны быть за один и тот же период.—
### 4. Практическая реализация
— Создайте внешний отчет.
— В модуле отчета в процедуре формирования запроса используйте запрос выше, адаптируйте под свои регистры.
— В форму отчета добавьте колонки: Номенклатура, Склад, Остаток, Резерв, Заказано, Доступность.
— Для удобства можно добавить фильтр по складам и номенклатуре.—
### 5. Готовые решения
— На инфостарте есть готовые отчеты с учетом доступности по складам, например:
https://infostart.ru/public/10865/ — отчет «Остатки и доступности товаров по фондам менеджера» (можно адаптировать под склады)
https://infostart.ru/public/12332/ — «Ведомость по товарам на складах» с расширенными колонками—
Если нужно, могу помочь с готовым кодом запроса и примером отчета под вашу конфигурацию.
1 сентября 2026 в 5:32 в ответ на: Как изменить условия продажи в 1С:УТ в зависимости от объема закупок? #38530В «1С:Предприятие 8 Управление торговлей» да, можно оперативно изменить условия продажи, если клиент не выполняет условия по объему закупки.
Обоснование:
— В конфигурации есть механизм гибкого управления условиями продаж, в том числе с возможностью оперативного изменения скидок, цен и других параметров в зависимости от фактических закупок клиента.
— Можно настроить правила и регламентные задания, но при необходимости менеджер может вручную скорректировать условия продажи.
— Также есть возможность устанавливать условия продажи, зависящие от объема закупок (например, скидки по накопительным объемам).Поэтому правильный ответ: Да, можно.
Неверны варианты, что условия можно менять только с периодичностью или что нельзя устанавливать условия по объему закупок.
Рекомендую посмотреть настройки в подсистеме «Управление скидками и наценками» и «Условия продаж» в 1С:УТ.
Правильный ответ — Верны ответы 1, 2 и 3.
Объяснение:
1. В редакции КОРП действительно есть расширенные функциональные блоки, такие как «Управление персоналом» и «Охрана труда», которых нет в базовой версии.
2. В КОРП доступен веб-клиент, что позволяет работать через браузер, в базовой версии такой возможности нет.
3. КОРП поддерживает расчет зарплаты для нескольких юридических лиц и ИП в одной базе, базовая версия рассчитана на одну организацию.
Поэтому все три пункта верны для отличия КОРП от базовой версии «1С:Зарплата и Управление персоналом 8».
1 сентября 2026 в 5:31 в ответ на: В чем разница между «1С:Бухгалтерия 8 КОРП» и «1С:Бухгалтерия 8 ПРОФ»? #38526Разница между «1С:Бухгалтерия 8 КОРП» и «1С:Бухгалтерия 8 ПРОФ» в основном в функционале и возможностях масштабирования.
По вашим пунктам:
1. Возможность вести учет по нескольким организациям в единой информационной базе — есть и в КОРП, и в ПРОФ.
2. Поддержка бухгалтерского и налогового учета обособленных подразделений — есть только в КОРП. В ПРОФ такой функционал отсутствует.
3. Возможность использовать веб-клиент — есть и в КОРП, и в ПРОФ.
4. Возможность изменять конфигурацию — есть и в КОРП, и в ПРОФ.
Таким образом, правильный ответ:
Верны ответы 1, 2, 3 и 4
То есть КОРП версия расширена по сравнению с ПРОФ, в частности, поддерживает учет обособленных подразделений, чего нет в ПРОФ. Остальные возможности присутствуют в обеих редакциях.
Рекомендую посмотреть официальное сравнение редакций 1С:Бухгалтерия 8 на сайте 1С или в документации.
В УТ 11.5.27.68 для вывода картинки штрихкода на форму ВПФ (управляемую форму) нужно:
1. Получить картинку штрихкода через внешний компонент (через общий модуль с функцией, которая подключает компоненту и формирует картинку).
2. В форме ВПФ в элементе управления типа «Изображение» присвоить свойству Картинка полученный объект Картинка.
—
Пример пошагово:
—
### 1. Функция получения картинки штрихкода (в общем модуле)
1С (Код)123456789101112131415161718192021222324252627282930Функция ПолучитьКартинкуШтрихкода(Знач Штрихкод, Знач Ширина = 300, Знач Высота = 100) Экспорт// Подключаем общий макет с компонентой печати штрихкодовМакет = ПолучитьМакет("КомпонентаПечатиШтрихкодов");Если Макет = Неопределено ТогдаВызватьИсключение "Не найден макет КомпонентаПечатиШтрихкодов";КонецЕсли;// Подключаем внешнюю компонентуПодключено = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);Если НЕ Подключено ТогдаВызватьИсключение "Не удалось подключить компоненту печати штрихкодов";КонецЕсли;ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode");ВнешняяКомпонента.Ширина = Ширина;ВнешняяКомпонента.Высота = Высота;ВнешняяКомпонента.ЗначениеКода = Штрихкод;ВнешняяКомпонента.ТипКода = 1; // EAN13, можно менять под нужный типВнешняяКомпонента.АвтоТип = Истина;ВнешняяКомпонента.ОтображатьТекст = Истина;ВнешняяКомпонента.РазмерШрифта = 10;ДвоичныеДанные = ВнешняяКомпонента.ПолучитьШтрихкод();Если ДвоичныеДанные = Неопределено ТогдаВозврат Неопределено;КонецЕсли;Возврат Новый Картинка(ДвоичныеДанные);КонецФункции—
### 2. В модуле формы ВПФ
1С (Код)12345678Процедура ВывестиШтрихкодНаФорму(Штрихкод)КартинкаШтрихкода = ОбщийМодуль.МенеджерОборудования.ПолучитьКартинкуШтрихкода(Штрихкод, 300, 100);Если КартинкаШтрихкода <> Неопределено ТогдаЭлементыФормы.ИзображениеШтрихкод.Картинка = КартинкаШтрихкода;ИначеСообщить("Не удалось сформировать штрихкод");КонецЕсли;КонецПроцедуры—
### 3. В форме ВПФ
— Добавьте элемент управления типа «Изображение», например с именем
ИзображениеШтрихкод.
— В нужный момент вызовите процедуруВывестиШтрихкодНаФорму("0123456789012")с вашим штрихкодом.—
### Важные моменты:
— Убедитесь, что общий макет «КомпонентаПечатиШтрихкодов» есть в базе.
— Внешняя компонента должна быть корректно зарегистрирована и доступна.
— Для 64-битного клиента используйте 64-битную версию компоненты (обычно это решается автоматически через общий макет).
— Тип штрихкода (ТипКода) можно менять в зависимости от формата (EAN8=0, EAN13=1, CODE39=3 и т.д.).—
Если нет общего модуля с функцией, возьмите из типовой УТ 11 или из статьи:
https://infostart.ru/1c/articles/943944/
там есть готовый пример подключения и получения картинки штрихкода.—
Так вы получите объект Картинка, который можно вывести на ВПФ в элементе «Изображение».
31 августа 2026 в 12:56 в ответ на: Как правильно заменить вызов получения картинки штрихкода в УТ 11.5? #38522В УТ 11.5.27.68 метода
МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода
нет, поэтому возникает ошибка «Метод объекта не обнаружен».Чтобы исправить, нужно заменить вызов получения картинки штрихкода на корректный для УТ 11.5.
—
Как сделать правильно:
1. В УТ 11.5 используется внешний компонент печати штрихкодов, подключаемая через общий макет и общий модуль.
2. Создайте в общем модуле (например,
ОбщийМодуль.МенеджерОборудования) функцию, которая возвращает картинку штрихкода, используя внешний компонент:1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344Функция ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) Экспорт// Подключаем внешний макет компоненты печати штрихкодовВнешняяКомпонента = ПодключитьВнешнююКомпонентуПечатиШтрихкода();Если ВнешняяКомпонента = Неопределено ТогдаВызватьИсключение "Не удалось подключить компоненту печати штрихкодов";КонецЕсли;ВнешняяКомпонента.Ширина = Окр(ПараметрыШтрихкода.Ширина);ВнешняяКомпонента.Высота = Окр(ПараметрыШтрихкода.Высота);ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод;ВнешняяКомпонента.ТипВходныхДанных = ПараметрыШтрихкода.ТипВходныхДанных;ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода;ВнешняяКомпонента.АвтоТип = ПараметрыШтрихкода.АвтоТип;ВнешняяКомпонента.ОтображатьТекст = ПараметрыШтрихкода.ОтображатьТекст;ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта;ДвоичныеДанные = ВнешняяКомпонента.ПолучитьШтрихкод();Если ДвоичныеДанные = Неопределено ТогдаВозврат Неопределено;КонецЕсли;Возврат Новый Картинка(ДвоичныеДанные);КонецФункции// Функция подключения внешней компоненты печати штрихкодовФункция ПодключитьВнешнююКомпонентуПечатиШтрихкода() ЭкспортМакет = ПолучитьМакет("КомпонентаПечатиШтрихкодов");Если Макет = Неопределено ТогдаВозврат Неопределено;КонецЕсли;ВременныйКаталог = КаталогВременныхФайлов() + "Штрихкоды";Если НЕ СоздатьКаталог(ВременныйКаталог) ТогдаВозврат Неопределено;КонецЕсли;Макет.Записать(ВременныйКаталог + "Штрихкод.dll");Макет.Записать(ВременныйКаталог + "Штрихкод64.dll");ПопыткаВозврат Новый ВнешняяКомпонента("Штрихкод64.dll");ИсключениеВозврат Новый ВнешняяКомпонента("Штрихкод.dll");КонецПопытки;КонецФункции3. В вашей функции
СформироватьПечатнуюФормуЭтикетказамените строку:1С (Код)1ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);на
1С (Код)1ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);4. Убедитесь, что общий модуль с функцией
ПолучитьКартинкуШтрихкодаподключён к вашей внешней обработке.—
Дополнительно:
— Проверьте, что в вашей базе есть макет «КомпонентаПечатиШтрихкодов» (обычно в типовых конфигурациях УТ 11 он есть).
— Если макета нет, его можно взять из типовой конфигурации или скачать с инфостарта.
— Вызов внешней компоненты должен работать и в 64-битном клиенте.—
Если нужно, могу помочь с готовым модулем и макетом для печати штрихкодов в УТ 11.5.
31 августа 2026 в 12:40 в ответ на: Почему возникает ошибка «Метод объекта не обнаружен (ПолучитьКартинкуШтрихкода)» #38520Ошибка «Метод объекта не обнаружен (ПолучитьКартинкуШтрихкода)» в УТ 11.5.27.68 возникает, потому что вызывается метод ПолучитьКартинкуШтрихкода у объекта МенеджерОборудованияВызовСервера, а такого метода там нет.
В УТ 11 (начиная с версии 11.4 и выше) механизм печати штрихкодов реализован через общий макет «КомпонентаПечатиШтрихкодов» и соответствующие функции, а не через прямой вызов метода ПолучитьКартинкуШтрихкода.
—
Что делать:
1. Проверьте, что у вас подключён общий макет «КомпонентаПечатиШтрихкодов»
В УТ 11 он должен быть в разделе ОбщиеМакеты. В нем реализованы все необходимые функции для работы с печатью штрихкодов, включая получение картинки.2. Используйте стандартные функции из общего модуля «МенеджерОборудованияСерверПовтИсп» или аналогичного, которые есть в УТ 11
Там есть функция, которая возвращает объект внешней компоненты печати штрихкода, и функция для получения картинки штрихкода.3. Пример вызова получения картинки штрихкода из УТ 11:
1С (Код)123456789101112131415161718Функция ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) ЭкспортВнешняяКомпонента = ПодключитьВнешнююКомпонентуПечатиШтрихкода();Если ВнешняяКомпонента = Неопределено ТогдаВызватьИсключение "Ошибка подключения внешней компоненты печати штрихкода.";КонецЕсли;ВнешняяКомпонента.Ширина = Окр(ПараметрыШтрихкода.Ширина);ВнешняяКомпонента.Высота = Окр(ПараметрыШтрихкода.Высота);ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод;// Установите остальные параметры компоненты по необходимостиДвоичныеДанные = ВнешняяКомпонента.ПолучитьШтрихкод();Если ДвоичныеДанные <> Неопределено ТогдаВозврат Новый Картинка(ДвоичныеДанные);КонецЕсли;Возврат Неопределено;КонецФункции4. В вашем коде замените вызов:
1С (Код)1ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);на вызов функции, которая реализована в вашем общем модуле или общем макете, например:
1С (Код)1ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);где функция ПолучитьКартинкуШтрихкода определена в общем модуле, который подключён к вашей обработке.
—
5. Если у вас нет такой функции, возьмите её из типового решения УТ 11.4+ или из статьи:
https://infostart.ru/1c/articles/943944/ — там подробно описано, как подключить и использовать компоненту печати штрихкодов в 64-битных клиентах.
—
6. Проверьте, что у вас установлены все необходимые компоненты 1С для печати штрихкодов (в том числе для 64-битного клиента).
—
Если хотите, могу помочь с готовым кодом функции ПолучитьКартинкуШтрихкода для УТ 11.5.27.68.
31 августа 2026 в 12:36 в ответ на: Как исправить ошибку «пересечение ключей источника и приемника» в 1С? #38518Ошибка «пересечение ключей источника и приемника» в 1С обычно связана с конфликтом при выполнении замеров производительности (профилировании) или при работе с обработчиками ожидания, когда в одном и том же контексте пытаются одновременно работать с одними и теми же объектами или ресурсами.
В вашем коде процедуры ПриОткрытии есть вызов:
1С (Код)1ПодключитьОбработчикОжидания("Сформировать", 0.1, Истина);и другие вызовы обработчиков ожидания. Ошибка может возникать, если:
— Обработчик «Сформировать» запускается повторно, не дождавшись завершения предыдущего вызова.
— Внутри процедуры «Сформировать» или связанных с ней процедур происходит конфликт ключей (например, при работе с временными таблицами, коллекциями или источниками данных).
— В настройках отчёта или в коде формирования данных есть пересечение ключей (например, одинаковые идентификаторы в источнике и приемнике данных).—
Что проверить и сделать:
1. Проверить процедуру «Сформировать»
Убедитесь, что в процедуре «Сформировать» нет повторного запуска или рекурсии, которая может вызвать конфликт.
Если там есть асинхронные операции, добавьте блокировку или флаг, чтобы не запускать формирование повторно, пока не завершится предыдущий вызов.2. Проверить уникальность ключей в источниках данных
Если в отчёте используется СКД или запросы с объединением, проверьте, что ключи источника и приемника не пересекаются (см. предыдущий ответ).
Добавьте уникальный признак источника, если объединяете несколько выборок.3. Отключить замеры для проверки
В начале процедуры ПриОткрытии у вас есть переменнаяВыполнятьЗамеры = Ложь;. Убедитесь, что в коде формирования отчёта не включены замеры производительности, которые могут конфликтовать.
Если замеры включены, попробуйте их отключить.4. Использовать отладчик и логи
Включите журнал регистрации и отладчик, чтобы отследить момент возникновения ошибки.
Посмотрите, в какой момент вызывается ошибка — при подключении обработчика ожидания или при выполнении процедуры формирования.5. Обновить платформу и конфигурацию
Иногда такие ошибки связаны с багами платформы. Проверьте, что у вас актуальная версия платформы 1С и конфигурации.—
Если нужна помощь с конкретным кодом процедуры «Сформировать» или с запросами, приложите их, помогу найти точную причину.
—
Рекомендации по обработчикам ожидания:
— Не подключайте один и тот же обработчик несколько раз подряд без отключения.
— Используйте флаги состояния, чтобы контролировать запуск и завершение обработчиков.
— В обработчиках избегайте длительных операций, лучше делайте вызовы на сервер.—
Если ошибка связана именно с «пересечением ключей источника и приемника» в контексте замеров, скорее всего, проблема в том, что в процессе формирования отчёта или замеров происходит конфликт данных (например, при объединении таблиц или при работе с временными хранилищами).
—
Если хотите, могу помочь с примером корректного подключения обработчиков ожидания и организации формирования отчёта без конфликтов.
Подключение ЭДО (электронного документооборота) в 1С:Бухгалтерия 3.0 — это настройка обмена электронными документами с контрагентами через оператора ЭДО с использованием ЭЦП. Вот подробная инструкция по подключению:
1. Проверьте условия:
— У вас должна быть активная подписка ИТС.
— У вас должны быть права администратора в базе 1С.
— Установлен сертификат ЭЦП (КЭП) на рабочем месте, обычно сертификат руководителя.
— Установлено программное обеспечение для работы с ЭЦП (КриптоПро CSP или ViPNet CSP).2. Включите использование ЭДО в 1С:
— Откройте раздел «НСИ и администрирование» → «Обмен электронными документами» → «Обмен с контрагентами».
— Включите флаг «Использовать сервисы ЭДО».3. Подключение организации к оператору ЭДО:
— В том же разделе нажмите кнопку «Подключить организацию».
— Запустится помощник подключения.
— Выберите сертификат ЭЦП (обычно руководителя).
— Выберите оператора ЭДО (например, Такском, Калуга Астрал, Контур Диадок).
— Введите email для уведомлений.
— Подтвердите согласие с условиями.
— Подпишите заявление с помощью ЭЦП (введите пароль от ключа).
— Дождитесь завершения регистрации — появится учетная запись ЭДО с идентификатором абонента.4. Настройка обмена с контрагентами:
— В карточке контрагента нажмите «ЭДО» → «Пригласить к обмену электронными документами».
— Заполните данные, укажите оператора контрагента или его идентификатор ЭДО.
— Отправьте приглашение, подписав его ЭЦП.
— Контрагент должен принять приглашение.5. Работа с документами:
— В документах реализации, поступления и других появится кнопка «ЭДО» → «Подписать и отправить».
— Подписывайте документы ЭЦП и отправляйте через оператора.
— В разделе «Текущие дела ЭДО» можно получать входящие документы, подписывать и отражать их в учете.6. Машиночитаемые доверенности (МЧД):
— С 1 сентября 2023 года для сотрудников, подписывающих документы, требуется МЧД.
— В разделе «Организации» → «ЭДО» → «Машиночитаемые доверенности» можно оформить и загрузить МЧД.7. Дополнительно:
— Для удобства можно настроить автоматическую отправку и получение документов по регламентным заданиям.
— Для внутренних документов можно включить внутренний ЭДО с простой электронной подписью.Если хотите подробную инструкцию с примерами и скриншотами, рекомендую посмотреть статью на Инфостарт:
https://infostart.ru/1c/articles/1859782/
Там подробно расписан весь процесс подключения и работы с ЭДО в 1С:Бухгалтерия и других типовых конфигурациях.
В вашем запросе есть несколько потенциальных причин ошибки «пересечение ключей источника и приемника»:
1. В запросе используется объединение (ОБЪЕДИНИТЬ ВСЕ) нескольких выборок с одинаковыми именами колонок, в том числе колонок, которые могут быть ключевыми (например, Документ, Ссылка, Номенклатура и т.п.). Если в объединяемых выборках ключи не уникальны или пересекаются, то при дальнейшей агрегации или соединении может возникать ошибка.
2. В выборках из документов РеализацияТоваровУслуг, ОтчетОРозничныхПродажах, ВозвратТоваровОтКлиента, ОтчетОРозничныхВозвратах используются ссылки на документы и табличные части, при этом в разных выборках могут попадать одинаковые ссылки, что приводит к пересечению ключей.
3. В запросе отсутствует явное указание уникального ключа для итоговой выборки, что может приводить к конфликтам при использовании запроса в отчёте, особенно если потом вы делаете группировки или соединения по этим ключам.
—
Что делать:
— Добавьте в каждую выборку дополнительный признак источника данных, например, константу с уникальным значением, чтобы отличать записи из разных выборок. Например:
|ВЫБРАТЬ
| …,
| 1 КАК Источник
|ИЗ
| …
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| …,
| 2 КАК Источник
|ИЗ
| …
|И так далее.— Проверьте, что в каждой выборке ключевые поля (например, Документ, Номенклатура, Период) уникальны. Если нет, добавьте дополнительные поля для уникальности (например, НомерСтроки табличной части).
— Если в отчёте используется группировка, убедитесь, что группировка по ключам не приводит к конфликтам.
— Если запрос используется как источник данных для регистра накопления или другого объекта, проверьте, что структура ключей регистра не пересекается с ключами запроса.
— Для отладки можно выполнить каждую выборку отдельно, проверить уникальность ключей, а затем постепенно объединять.
—
Пример добавления признака источника:
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Документ,
| …,
| 1 КАК Источник
|ИЗ
| …
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| ОтчетОРозничныхПродажах.Ссылка,
| …,
| 2 КАК Источник
|ИЗ
| …
|…—
Если ошибка возникает при использовании этого запроса в отчёте, попробуйте также проверить настройки отчёта, особенно если используется компоновка данных — там могут быть ограничения по ключам.
—
Если нужно, могу помочь адаптировать запрос с учётом этих рекомендаций.
31 августа 2026 в 9:00 в ответ на: Как устранить ошибку «пересечение ключей источника и приемника» в отчете после о #38512Ошибка «пересечение ключей источника и приемника» при выполнении отчёта после обновления — типичная проблема, связанная с конфликтом индексов или ключей в запросах или регистрах накопления, либо с изменениями в структуре данных после обновления.
Что делать конкретно:
1. Проверить запрос отчёта
Часто ошибка возникает из-за того, что в запросе используются одинаковые ключи для источника и приемника данных, например, в объединениях или соединениях.
Нужно открыть запрос отчёта и проверить, нет ли в конструкции запроса пересечения ключевых полей между источником и приемником.
Если есть, то:
— Изменить алиасы таблиц, чтобы ключи не пересекались.
— Уточнить условия соединения, чтобы исключить дублирование ключей.2. Проверить регистры накопления и их индексы
Если отчёт работает с регистрами накопления, возможно, после обновления изменились индексы или структура регистров.
— Запустите в режиме конфигуратора проверку и исправление структуры регистров.
— Выполните пересчет итогов регистров (через административную консоль 1cv8a или встроенные средства).
— Если есть возможность, выполните тестирование и исправление базы.3. Проверить расширения и внешние отчёты
Если отчёт — внешний или в расширении, возможно, после обновления изменились объекты метаданных.
— Откройте отчёт под пользователем с правами администратора.
— Если ошибка связана с расширениями, попробуйте временно отключить расширения и проверить работу отчёта.
— В расширении можно добавить общий модуль с кодом, отключающим безопасный режим (см. источник 3), если ошибка связана с безопасностью.4. Удалить и заново добавить проблемные объекты
Если ошибка возникает при сравнении или обновлении конфигурации, попробуйте:
— Снять поддержку с проблемных регламентированных отчетов (если они есть).
— Удалить их из конфигурации.
— Выполнить обновление.
— Затем вернуть отчёты обратно (см. источник 1 и 4).5. Использовать утилиту административной консоли (1cv8a)
Запустите утилиту в режиме тестирования и исправления с включенным формированием отчёта. Это поможет выявить и исправить ошибки ссылочной целостности и пересчёт итогов (см. источник 2).6. Если ошибка в коде отчёта
Проверьте, нет ли в коде отчёта операций с ключами, где ключи источника и приемника совпадают. Например, при заполнении временных таблиц или при объединении данных.
Исправьте логику, чтобы ключи не пересекались.—
Если нужен конкретный разбор запроса или кода отчёта — приложите его, помогу адаптировать.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/146781/ — про ошибки формата потока и удаление регламентированных отчетов при обновлении
https://infostart.ru/1c/articles/154167/ — про ошибки при сравнении конфигураций и удаление проблемных объектов
https://infostart.ru/1c/articles/1069496/ — про ошибки внешних отчетов и безопасный режим
https://dl04.1c.ru/content/Platform/8_3_25_1257/1cv8upd_8_3_25_1257.htm#7c3108e4-256a-11ee-963f-0050569f678a — про тестирование и исправление базы через 1cv8a31 августа 2026 в 8:54 в ответ на: Как в УТ 11.5 настроить алгоритм заполнения документа «Установка цен» из докумен #38510В УТ 11.5 алгоритм заполнения документа «Установка цен» из документа «Поступление товаров и услуг» реализован в типовом механизме ценообразования и обработки документа «Установка цен».
Где смотреть конкретно:
1. Обработка документа «Установка цен»
В конфигураторе откройте объект документа «Установка цен».
В модуле объекта (обычно в процедуре проведения или в обработке заполнения) ищите код, который заполняет табличную часть цен на основании поступления.2. Обработка заполнения цен из поступления
В модуле документа «Установка цен» есть процедура, которая при вводе на основании документа «Поступление товаров и услуг» копирует цены закупки в табличную часть.
Обычно это что-то вроде:
— Получение ссылок на строки поступления
— Копирование цены закупки (ЦенаВходящая) в соответствующий вид цены в «Установке цен»
— Учет наценок и правил округления3. Справочник «Виды цен»
В справочнике «Виды цен» для вида цены, который рассчитывается «Наценкой на цену поступления», стоит галочка «При вводе на основании документов поставки». Именно это обеспечивает автоматическое заполнение цен из поступления.4. Типовой алгоритм
В типовом коде это реализовано примерно так:
— При вводе документа «Установка цен» на основании «Поступления товаров и услуг» происходит вызов процедуры, которая перебирает строки поступления
— Для каждой строки берется цена закупки и переносится в табличную часть документа «Установка цен» с видом цены, у которого стоит признак «При вводе на основании документов поставки»
— Если у вида цены есть наценка, она применяется автоматически—
### Где именно смотреть в конфигураторе
— Документ: Установка цен
— Модуль объекта: ищите процедуры с названиями типаПриЗаполненииИзПоступленияилиЗаполнитьЦеныИзПоступления
— Также можно посмотреть обработчики события «При вводе на основании» (например,ПриВводеНаОсновании)—
### Если нужно посмотреть типовой код
В УТ 11.5 в модуле документа «Установка цен» есть примерно такой код (пример упрощённый):
1С (Код)1234567891011Процедура ПриВводеНаОсновании(Источник)Если ТипЗнч(Источник) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") ТогдаДля Каждого СтрокаПоступления Из Источник.Товары ЦиклНоваяСтрока = ЭтотОбъект.Товары.Добавить();НоваяСтрока.Номенклатура = СтрокаПоступления.Номенклатура;НоваяСтрока.ВидЦены = НайтиВидЦеныСПризнаком("При вводе на основании документов поставки");НоваяСтрока.Цена = СтрокаПоступления.ЦенаВходящая;// Применение наценки и округления по виду ценыКонецЦикла;КонецЕсли;КонецПроцедуры—
### Рекомендации
— Посмотрите в конфигураторе модуль документа «Установка цен»
— Обратите внимание на справочник «Виды цен» и его реквизит «При вводе на основании документов поставки»
— Если нужно, можно добавить отладочные сообщения или точки останова, чтобы проследить процесс заполнения—
Рекомендую посмотреть здесь — подробное описание ценообразования и работы с видами цен в УТ 11:
https://infostart.ru/1c/articles/195575/Типовые правила обмена УТ 11.5 с БП 3.0 не выкладываются отдельно в виде готового файла для скачивания, их нужно получить из самой конфигурации УТ 11.5 через встроенный механизм выгрузки правил обмена.
Вот как это сделать:
—
### Как выгрузить типовые правила обмена из УТ 11.5
1. Откройте базу УТ 11.5 в режиме предприятия с правами администратора.
2. Перейдите в меню:
Сервис → Обмен данными → Настройки обмена данными.3. Найдите в списке настроек обмена узел обмена с БП 3.0 (если он уже настроен). Если нет — создайте новую настройку обмена с БП 3.0.
4. Выделите нужный узел обмена и нажмите кнопку Правила обмена (или Настроить правила обмена).
5. В открывшемся окне нажмите кнопку Сохранить правила в файл — сохраните XML-файл с правилами обмена на диск.
—
### Если узел обмена не настроен
— Можно создать новый узел обмена с типом «Бухгалтерия предприятия 3.0» и пройти настройку обмена, после чего выгрузить правила.
—
### Дополнительно
— Для работы с выгруженным файлом правил обмена используйте конфигурацию «Конвертация данных» (КД2), которая входит в состав платформы 1С:Предприятие.
— В КД2 можно открыть этот XML, отредактировать правила, добавить выгрузку вложений и обратно загрузить в УТ.
—
### Рекомендации
— Если нет доступа к базе УТ 11.5, можно поискать на Инфостарте готовые примеры правил обмена для УТ 11.5 — иногда пользователи выкладывают свои варианты. Но лучше всегда брать из своей базы, чтобы правила соответствовали именно вашей версии и кастомизации.
—
Если нужна помощь с конкретным этапом выгрузки или с обработкой файла правил — могу подсказать.
Проверить связь между подразделением и складом в 1С УПП можно так:
1. Проверка справочника «Подразделения»
— Откройте справочник «Подразделения» (Меню: Справочники → Подразделения).
— Найдите подразделение, которое указано в документе (в вашем случае — «Алюминиевый цех»).
— Откройте карточку подразделения и посмотрите, есть ли в нем реквизит, отвечающий за склад (например, «Склад», «Основной склад» или аналогичный).
— Если такого реквизита нет, значит связь не задана явно, и нужно проверить другие настройки.2. Проверка справочника «Склады»
— Откройте справочник «Склады» (Справочники → Склады).
— Найдите склад «Алюминиевый цех» и «Алюминиевый склад».
— Посмотрите, к какому подразделению они относятся (если в конфигурации есть такой реквизит). Иногда склад связан с подразделением через реквизит «Подразделение».3. Проверка настроек в документе
— В документе «Отчет производства за смену» в табличной части, где распределяются материалы, посмотрите, какое подразделение и какой склад указаны для каждой строки.
— Если подразделение «Алюминиевый цех», а склад «Алюминиевый склад» — это может быть несоответствие. Обычно склад должен принадлежать тому же подразделению, что и указано в строке.4. Проверка связей через запрос
Если в конфигурации есть регистр сведений или справочник, где хранится связь «Подразделение — Склад», можно выполнить запрос, например:|ВЫБРАТЬ
| Подразделения.Ссылка КАК Подразделение,
| Склады.Ссылка КАК Склад,
| Склады.Наименование КАК НаименованиеСклада
|ИЗ
| Справочник.Подразделения КАК Подразделения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО Подразделения.Ссылка = Склады.Подразделение
|ГДЕ
| Подразделения.Наименование = &ИмяПодразделенияПараметр &ИмяПодразделения подставьте нужное.
5. Если связи нет
— Если в конфигурации нет явной связи между подразделением и складом, то при заполнении документа нужно вручную указывать склад, соответствующий подразделению.
— В этом случае ошибка возникает, если в документе указано подразделение «Алюминиевый цех», а склад — «Алюминиевый склад», и на складе «Алюминиевый цех» нет остатков.6. Практическое решение
— В документе «Отчет производства за смену» в шапке и в табличных частях укажите склад, на котором есть остаток (в вашем случае «Алюминиевый склад»).
— Подразделение оставьте «Алюминиевый цех», если это нужно для учета, но склад должен соответствовать месту хранения материалов.Если хотите, могу помочь с конкретным запросом или обработкой для проверки связей в вашей базе.
-
АвторЗаписи