Ответы в темах
-
АвторСообщения
-
23 апреля 2026 в 16:32 в ответ на: Как программно пометить на удаление все договоры в справочнике без запроса? #36787
Если нужно получить все договоры из справочника «Договоры взаиморасчетов» и пометить их на удаление, не используя запрос, а перебирая элементы через объекты справочника, то делается так:
1С (Код)1234567891011121314151617181920Процедура ПометитьВсеДоговорыНаУдаление() Экспорт// Получаем объект справочникаДоговоры = Справочники.ДоговорыВзаиморасчетов; // замените на точное имя справочника// Создаем выборку по всем элементам справочникаВыборка = Договоры.Выбрать();Пока Выборка.Следующий() Цикл// Получаем объект элемента справочникаДоговорОбъект = Выборка.Ссылка.ПолучитьОбъект();// Помечаем на удалениеДоговорОбъект.ПометкаУдаления = Истина;// Записываем измененияДоговорОбъект.Записать();КонецЦикла;Сообщить("Все договоры помечены на удаление.");КонецПроцедуры—
Объяснение:
—
Справочники.ДоговорыВзаиморасчетов— объект справочника, замените на точное имя вашего справочника договоров.
— МетодВыбрать()возвращает выборку по всем элементам справочника.
— В циклеПока Выборка.Следующий()перебираем все элементы.
— Для каждого элемента черезСсылка.ПолучитьОбъект()получаем объект для редактирования.
— УстанавливаемПометкаУдаления = Истинаи вызываемЗаписать().—
Такой способ полностью обходится без запросов и работает через объекты справочника.
23 апреля 2026 в 16:02 в ответ на: Как доработать запрос в 1С, чтобы исключить итоговые строки по Субконто1? #36785Чтобы исключить из выборки итоговые строки по Субконто1, нужно добавить в запрос условие, которое отфильтрует записи, где Субконто1 пустое значение (NULL или пустая ссылка). В 1С для ссылочных типов используется проверка через ПУСТАЯССЫЛКА().
Доработка запроса:
|ВЫБРАТЬ
| ОсновнойОстаткиИОбороты.Субконто1 КАК Субконто1,
| ОсновнойОстаткиИОбороты.Субконто2 КАК Субконто2,
| ОсновнойОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
| ОсновнойОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
| ОсновнойОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
| ОсновнойОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт,
| ОсновнойОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
| ОсновнойОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт
|ИЗ
| РегистрБухгалтерии.Основной.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , Счет В (&ВыбСчета), ,) КАК ОсновнойОстаткиИОбороты
|ГДЕ
| НЕ ОсновнойОстаткиИОбороты.Субконто1 ПУСТАЯССЫЛКА()Если нужно, чтобы в выборке были только строки, где заполнены и Субконто1, и Субконто2, добавьте условие и по Субконто2:
| НЕ ОсновнойОстаткиИОбороты.Субконто2 ПУСТАЯССЫЛКА()
Таким образом итоговые строки, у которых Субконто1 пустое, будут исключены из выборки.
23 апреля 2026 в 15:27 в ответ на: Почему не открывается внешняя обработка через меню «Открыть файл» в Альфа-Авто? #36783В Альфа-Авто (как и в большинстве типовых конфигураций 1С) меню «Файл» → «Открыть» для внешних обработок обычно отключено или скрыто по умолчанию. Это сделано для защиты целостности базы и предотвращения запуска неподписанных или неподготовленных обработок, которые могут нарушить работу системы.
—
Почему так сделано:
— Типовые конфигурации часто ограничивают возможность запуска произвольных внешних обработок из интерфейса пользователя.
— Внешние обработки обычно подключаются через справочник «Дополнительные отчеты и обработки» или через расширения.
— Открытие произвольного файла с диска может привести к ошибкам или нарушениям безопасности.—
Что можно сделать:
1. Проверить права пользователя
— Для открытия внешних обработок через меню «Открыть» нужны соответствующие права. В настройках ролей проверьте, есть ли у пользователя право на запуск внешних обработок и доступ к меню «Файл».
— В типовых ролях Альфа-Авто это может быть ограничено.2. Использовать справочник «Дополнительные отчеты и обработки»
— Добавьте нужную внешнюю обработку в этот справочник и запускайте оттуда. Это штатный и безопасный способ.3. Обратиться к администратору или разработчику
— Если нужно разрешить открытие внешних обработок через меню «Открыть», это делается в конфигураторе — нужно включить соответствующий пункт меню и дать права.
— Но делать это стоит с осторожностью.—
Итог:
В Альфа-Авто меню «Открыть файл» для внешних обработок по умолчанию отключено или ограничено правами. Чтобы открыть внешнюю обработку, используйте справочник «Дополнительные отчеты и обработки» или обратитесь к администратору для настройки прав и интерфейса.—
Если нужна конкретика по настройке прав или включению меню — уточните версию конфигурации и платформы, помогу с инструкцией.
23 апреля 2026 в 15:10 в ответ на: Как вытащить номера ГТД для номенклатуры по периодам в 1С? #36781Чтобы получить номера ГТД по конкретной номенклатуре из регистра накопления «ТоварыОрганизаций» с разбивкой по периодам, нужно в запрос добавить фильтр по номенклатуре и группировку по периоду.
Предположим, что:
— Поле с номером ГТД называется «НомерГТД» (если другое — замените).
— Поле периода — «Период» (обычно в регистрах накопления есть поле Период).
— Номенклатура — ссылка на справочник «Номенклатура».Пример запроса:
|ВЫБРАТЬ
| ТоварыОрганизаций.Период КАК Период,
| ТоварыОрганизаций.НомерГТД КАК НомерГТД
|ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизаций
|ГДЕ
| ТоварыОрганизаций.Номенклатура = &Номенклатура
| И ТоварыОрганизаций.НомерГТД <> «»
|УПОРЯДОЧИТЬ ПО
| ТоварыОрганизаций.Период,
| ТоварыОрганизаций.НомерГТДЕсли нужно получить уникальные номера ГТД по периодам (чтобы не было повторов), то можно использовать группировку:
|ВЫБРАТЬ
| ТоварыОрганизаций.Период КАК Период,
| ТоварыОрганизаций.НомерГТД КАК НомерГТД
|ИЗ
| РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизаций
|ГДЕ
| ТоварыОрганизаций.Номенклатура = &Номенклатура
| И ТоварыОрганизаций.НомерГТД <> «»
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизаций.Период,
| ТоварыОрганизаций.НомерГТД
|УПОРЯДОЧИТЬ ПО
| ТоварыОрганизаций.Период,
| ТоварыОрганизаций.НомерГТДПараметр запроса &Номенклатура нужно установить в коде, например:
1С (Код)1234Запрос = Новый Запрос;Запрос.Текст = " ... (текст запроса выше) ... ";Запрос.УстановитьПараметр("Номенклатура", Справочники.Номенклатура.НайтиПоНаименованию("Название номенклатуры"));Результат = Запрос.Выполнить().Выгрузить();Если поле «НомерГТД» хранится не в регистре, а в связанном справочнике партий, то запрос усложняется с JOIN по партии.
Если нужно — могу помочь адаптировать под конкретную структуру.
Рекомендую посмотреть, как работать с регистрами накопления и параметрами периода:
https://infostart.ru/public/1042547/
https://infostart.ru/public/1725228/В 1С стандартный период — это объект типа «СтандартныйПериод», который содержит даты начала и окончания периода (например, месяц, квартал, год и т.п.). В регистре сведений для хранения периода обычно используется поле типа «Дата» или «ДатаВремя» с именем «Период».
Чтобы сохранить стандартный период в регистре сведений, нужно:
1. В конфигураторе в регистре сведений создать измерение или реквизит типа «Дата» или «ДатаВремя» (обычно это поле «Период»).
2. При записи данных в регистр сведений в поле «Период» записать дату начала или дату окончания стандартного периода, либо обе даты, если в регистре два поля для периода (например, «ДатаНачала» и «ДатаОкончания»).
3. В коде 1С при работе с объектом «СтандартныйПериод» получить даты начала и окончания через свойства:
1С (Код)123СтандартныйПериод = Новый СтандартныйПериод(ПериодТип, Год, Месяц); // пример созданияДатаНачала = СтандартныйПериод.ДатаНачала;ДатаОкончания = СтандартныйПериод.ДатаОкончания;4. Записать эти даты в регистр сведений:
1С (Код)1234Запись = РегистрыСведений.ИмяРегистра.СоздатьМенеджерЗаписи();Запись.Период = ДатаНачала; // или ДатаОкончания, в зависимости от структуры регистра// заполнить остальные измерения и реквизитыЗапись.Записать();Если в регистре сведений период задаётся одним полем «Период», обычно туда записывают дату начала периода.
Если нужно хранить оба конца периода, то в регистре должны быть два поля (например, «ДатаНачала» и «ДатаОкончания»), и туда записываются соответствующие даты из стандартного периода.
—
Пример записи стандартного периода в регистр сведений с одним полем «Период»:
|Процедура ЗаписатьСтандартныйПериод(СтандартныйПериодОбъект)
| Запись = РегистрыСведений.ИмяРегистра.СоздатьМенеджерЗаписи();
| Запись.Период = СтандартныйПериодОбъект.ДатаНачала;
| // заполнить остальные измерения и реквизиты
| Запись.Записать();
|КонецПроцедуры—
Если нужно использовать стандартный период в запросах или фильтрах, то можно использовать свойства объекта «СтандартныйПериод» для получения дат начала и окончания.
Рекомендую посмотреть здесь, как работать со стандартными периодами и параметрами в отчетах и обработках:
23 апреля 2026 в 7:10 в ответ на: Почему поле РегистраторДата отображается у одного пользователя, а у другого нет? #36776Причина, почему у одного пользователя в «Выбранных полях» отображается поле РегистраторДата, а у другого нет, связана с особенностями работы Системы Компоновки Данных (СКД) и правами доступа к метаданным.
Вот основные причины и что проверить:
1. Права доступа к объектам метаданных
ПолеРегистратор.Дата— это реквизит документа (регистратора), на который ссылается полеРегистраторв регистре бухгалтерии. Если у пользователя нет прав на просмотр этого реквизита или самого регистратора, то СКД не сможет отобразить это поле.
Проверьте, что у обоих пользователей есть одинаковые права на справочник/документ, который используется в качестве регистратора, и на реквизитДата.2. Настройки СКД и сохранённые настройки пользователя
В СКД настройки выбранных полей могут сохраняться отдельно для каждого пользователя. Возможно, у одного пользователя в настройках отчёта полеРегистраторДатадобавлено в выборку, а у другого — нет.
Проверьте настройки отчёта у обоих пользователей, очистите или синхронизируйте их.3. Версия платформы и конфигурации
В редких случаях различия в версиях платформы или конфигурации могут влиять на доступность реквизитов в СКД. Убедитесь, что у пользователей одинаковые версии.4. Особенности работы с виртуальными таблицами и ссылками в СКД
В запросе используется обращение к полю по ссылке:ХозрасчетныйОбороты.Регистратор.Дата. Если у пользователя нет доступа к объекту, на который ссылаетсяРегистратор, поле не будет доступно.
Также в СКД иногда требуется явно добавить в настройки отчёта возможность раскрытия ссылок (например, в настройках источника данных или в настройках полей).5. Кэширование и обновление метаданных
Иногда после обновления конфигурации или прав доступа требуется перезапустить клиент 1С, чтобы обновились метаданные. Убедитесь, что у пользователя, у которого поле не отображается, клиент перезапущен.—
Что сделать:
— Проверьте права доступа пользователей на регистратор и его реквизит
Дата.
— Сравните настройки отчёта СКД у обоих пользователей, особенно выбранные поля.
— Попробуйте у пользователя, у которого поле не отображается, сбросить настройки отчёта (удалить сохранённые настройки).
— Перезапустите клиент 1С.
— Проверьте, что в конфигурации реквизитДатарегистратора доступен и не скрыт.—
Если нужно, могу помочь с примером кода или настройками для корректного отображения поля
Регистратор.Датав СКД.22 апреля 2026 в 20:29 в ответ на: Как работает процедура ВыполнитьОбновлениеДанных в 1С и какие особенности её исп #36774Процедура
1С (Код)12ВыполнитьОбновлениеДанных(ЕстьИзменения, ЕстьУдаленные, РежимОбновления,ЕстьКритичныеИзменения = Ложь, СписокКритичныхИзменений = "", ОбъектыРасширений = Ложь) Экспортреализует логику обновления данных справочника
ИдентификаторыОбъектовМетаданныхс учётом разных режимов и условий. Разберу по шагам, что происходит:—
### 1. Проверка условий для объектов расширений
1С (Код)123Если ОбъектыРасширенийИ ЗначениеЗаполнено(ПараметрыСеанса.УстановленныеРасширения)И СтандартныеПодсистемыСервер.УстановленныеРасширенияНедоступны() Тогда— Если обновление касается объектов расширений (
ОбъектыРасширений = Истина),
— и в сеансе есть установленные расширения,
— но при этом расширения недоступны (например, сеанс неразделённого пользователя, где расширения не подключены),то:
1С (Код)123ТекстОшибки = НСтр("ru='Невозможно обновить идентификаторы объектов расширений в сеансе неразделенного пользователя, т.к. расширения не подключены.';uk='...'");ВызватьИсключениеПоОшибке(Истина, ТекстОшибки);Возврат;— Генерируется исключение с понятным сообщением, и процедура завершается.
—
### 2. Проверка использования объектов расширений
1С (Код)1ПроверкаИспользования(ОбъектыРасширений);— Вызов процедуры, которая, вероятно, проверяет, можно ли обновлять данные с учётом того, что это объекты расширений.
—
### 3. Установка привилегированного режима
1С (Код)1УстановитьПривилегированныйРежим(Истина);— Для выполнения обновления с повышенными правами.
—
### 4. Обработка параметра
РежимОбновления1С (Код)1234Если ТипЗнч(РежимОбновления) = Тип("Булево") ТогдаРежимОбновления = ?(РежимОбновления, "ТолькоПроверка", "Полный");КонецЕсли;ТолькоПроверка = (РежимОбновления = "ТолькоПроверка");— Если
РежимОбновленияпередан как булево, то преобразуется в строку:
—Истина→"ТолькоПроверка"
—Ложь→"Полный"
— Устанавливается флагТолькоПроверкадля дальнейшей логики.—
### 5. Получение свойств расширений из временного хранилища
1С (Код)1234СвойстваРасширений = ПолучитьИзВременногоХранилища(ПараметрыСеанса.АдресСвойствРасширений);Если СвойстваРасширений.ИменаОбъектов.Индексы.Количество() = 0 ТогдаСвойстваРасширений.ИменаОбъектов.Индексы.Добавить("ПолноеИмя");КонецЕсли;— Загружаются свойства расширений, если индексы пусты — добавляется индекс по полному имени.
—
### 6. Обработка дублей и текущих изменений
1С (Код)1234ЕстьТекущиеИзменения = Ложь;Если Не ОбъектыРасширений ТогдаЗаменитьДублиПодчиненногоУзлаНайденныеПриЗагрузке(ТолькоПроверка, ЕстьТекущиеИзменения);КонецЕсли;— Если не объекты расширений, вызывается процедура, которая, вероятно, устраняет дубли в подчинённых узлах и при этом может установить флаг
ЕстьТекущиеИзменения.—
### 7. Основное обновление данных
1С (Код)12345678910Если Не ОбъектыРасширенийИли Не ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() ТогдаОбновитьДанные(ЕстьТекущиеИзменения, ЕстьУдаленные, РежимОбновления,ЕстьКритичныеИзменения, СписокКритичныхИзменений, СвойстваРасширений, ОбъектыРасширений);Если ЕстьТекущиеИзменения ТогдаЕстьИзменения = Истина;КонецЕсли;КонецЕсли;— Если не объекты расширений или текущий узел не подчинённый узел РИБ (регистра информации базы), то вызывается процедура
ОбновитьДанныес передачей всех параметров.
— Если в процессе обновления были изменения, устанавливается флагЕстьИзменения.—
### 8. Подтверждение обновления параметра работы программы
1С (Код)12345678Если Не ТолькоПроверкаИ Не (РежимОбновления <> "Полный" И ЕстьКритичныеИзменения) ТогдаЕсли Не ОбъектыРасширений ТогдаСтандартныеПодсистемыСервер.ПодтвердитьОбновлениеПараметраРаботыПрограммы("ПараметрыБазовойФункциональности", "ИдентификаторыОбъектовМетаданных");КонецЕсли;КонецЕсли;— Если режим не только проверка и либо режим полный, либо нет критичных изменений,
— и если не объекты расширений,
— то вызывается метод подтверждения обновления параметра работы программы, связанного с идентификаторами объектов метаданных.—
## Итог
— Процедура контролирует обновление идентификаторов объектов метаданных, учитывая особенности работы с расширениями.
— Обрабатывает режимы обновления (проверка или полный).
— Устраняет дубли, обновляет данные, подтверждает изменения.
— Защищает от попыток обновления расширений в неподходящих сеансах.
— Использует привилегированный режим для выполнения операций.—
Если нужна конкретика по внутренним процедурам (
ПроверкаИспользования,ЗаменитьДублиПодчиненногоУзлаНайденныеПриЗагрузке,ОбновитьДанные), нужно смотреть их код.Процедура
1С (Код)1ОбновитьДанныеСправочника(ЕстьИзменения = Ложь, ЕстьУдаленные = Ложь, ТолькоПроверка = Ложь)является экспортируемой процедурой (то есть доступной из других модулей), которая служит обёрткой для вызова процедуры
1С (Код)1ВыполнитьОбновлениеДанных(ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка);Пояснения:
— Параметры
ЕстьИзменения,ЕстьУдаленные,ТолькоПроверка— булевы флаги, по умолчаниюЛожь. Они передаются в вызываемую процедуру и, скорее всего, управляют логикой обновления данных справочника:—
ЕстьИзменения— указывает, что есть изменения, которые нужно обработать.—
ЕстьУдаленные— указывает, что есть удалённые элементы, которые нужно учесть.—
ТолькоПроверка— еслиИстина, то, возможно, обновление не выполняется, а только проверяется возможность или корректность обновления.— Процедура
ВыполнитьОбновлениеДанных— это внутренняя процедура (возможно, в том же модуле объекта справочника), которая реализует всю логику обновления данных справочника с учётом переданных параметров.— Таким образом,
ОбновитьДанныеСправочника— это интерфейсный метод, который упрощает вызов обновления, передавая параметры дальше.Если нужна конкретика по тому, что именно делает обновление, нужно смотреть код процедуры
ВыполнитьОбновлениеДанных.—
Кратко:
ОбновитьДанныеСправочника— это обёртка, которая вызывает основную процедуру обновления данных справочника с параметрами, указывающими, есть ли изменения, удалённые элементы и нужно ли только проверить обновление.Строка кода:
1С (Код)1Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника()означает вызов метода
ОбновитьДанныеСправочника()у объекта справочникаИдентификаторыОбъектовМетаданных.Разберём по частям:
1. Справочники.ИдентификаторыОбъектовМетаданных — это ссылка на справочник с именем
ИдентификаторыОбъектовМетаданных. В 1С справочники — это объекты метаданных, которые содержат набор элементов (записей).2. ОбновитьДанныеСправочника() — это метод, который определён в модуле объекта справочника
ИдентификаторыОбъектовМетаданных. Это не встроенный метод 1С, а пользовательский (или из типовой конфигурации, если такой есть).3. Логика работы метода зависит от его реализации, но по названию можно предположить, что он выполняет обновление данных справочника — например, синхронизирует записи справочника с какими-то внешними данными, обновляет значения реквизитов, пересчитывает или загружает новые данные.
4. Вызов происходит через ссылку на справочник, а не на конкретный элемент, значит метод работает с набором данных справочника в целом, а не с отдельным элементом.
Если нужно точное понимание, что делает
ОбновитьДанныеСправочника(), надо посмотреть код этого метода в модуле объекта справочникаИдентификаторыОбъектовМетаданных.—
Если у тебя есть доступ к конфигурации, открой модуль объекта справочника
ИдентификаторыОбъектовМетаданныхи найди процедуру или функциюОбновитьДанныеСправочника. Там будет конкретная логика.—
Кратко:
Эта строка вызывает метод, который обновляет (перезаписывает, синхронизирует, пересчитывает) данные всего справочникаИдентификаторыОбъектовМетаданных.Пожалуйста, пришлите саму строку кода, чтобы я мог подробно объяснить её логику. Без конкретного примера кода объяснить невозможно.
22 апреля 2026 в 18:19 в ответ на: Как правильно исключить НДС из доходов в 1С при реализации товаров? #36766Фраза «Предъявленный покупателям НДС в сумме 199,69 руб. исключен из доходов» означает, что при отражении выручки от розничной реализации в торговой точке «Магазин Стыла» сумма НДС не включается в доходы (выручку) организации.
В 1С это стандартная практика: выручка отражается без НДС, а НДС выделяется отдельно и учитывается на счете 90.03 «Налог на добавленную стоимость». При этом в бухгалтерском учете и налоговом учете доходы показываются без НДС.
Как это отражается в 1С:
1. В момент реализации в торговой точке формируется выручка по счету 90.01.1 «Выручка по деятельности с основной системой налогообложения» без НДС (то есть сумма без НДС).
2. Сумма НДС отражается по счету 90.03 «Налог на добавленную стоимость» (кредит 68.02).
3. В итоге сумма, предъявленная покупателю, состоит из суммы выручки + суммы НДС.
Пример проводок по реализации с НДС:
|Дт 50 (касса)
|Кт 90.01.1 — сумма выручки без НДС
|Кт 90.03 — сумма НДС (199,69 руб.)Если в вашем случае «предъявленный покупателям НДС исключен из доходов», значит сумма 199,69 руб. не включена в кредит счета 90.01.1, а отражена отдельно по 90.03.
Это соответствует требованиям бухгалтерского и налогового учета.
Если нужно проверить или настроить это в 1С, обратите внимание на:
— Правильное заполнение ставок НДС в номенклатуре товаров.
— Корректное заполнение документов реализации (например, чек ККМ, реализация товаров и услуг).
— Настройку аналитики по ставкам НДС (субконто «Ставки НДС» на счете 90.01.1 и 90.03).
— Автоматическое формирование проводок по реализации с выделением НДС.
Если нужна помощь с конкретным документом или отчетом, приложите скриншот или запрос.
Регина, в типовой конфигурации 1С:Управление нашей фирмой (УНФ) работа с ГИС ЭПД (Государственная информационная система электронных путевых документов) не реализована из коробки. УНФ ориентирована на малый и средний бизнес и не содержит встроенных механизмов для интеграции с ГИС ЭПД, которая в основном используется в транспортной логистике и грузоперевозках.
Если требуется работа с ГИС ЭПД в УНФ, то это обычно реализуется через доработки или внешние обработки, которые:
— Организуют обмен данными с ГИС ЭПД через веб-сервисы или API системы ГИС ЭПД.
— Создают специализированные справочники для хранения сведений о путевых документах, транспортных средствах, водителях и грузах.
— Формируют и регистрируют электронные путевые документы в виде документов УНФ, например, через новые объекты документов или расширения существующих (например, документы «Путевой лист», «Электронный путевой документ»).
— Обеспечивают подписание документов электронной подписью и отправку в ГИС ЭПД.В стандартной поставке УНФ таких справочников и документов нет. Для реализации интеграции с ГИС ЭПД в УНФ необходимо:
1. Разработать или приобрести специализированное решение (расширение или внешнюю обработку).
2. Ввести справочники, например:
— «Транспортные средства»
— «Водители»
— «Путевые листы» или «Электронные путевые документы»
3. Создать документы для формирования и отправки ЭПД.
4. Настроить обмен с ГИС ЭПД через веб-сервисы с использованием сертификатов ЭЦП.Если у вас есть задача по интеграции УНФ с ГИС ЭПД, рекомендую рассмотреть вариант доработки с привлечением разработчиков 1С, так как типовой функционал не покрывает эту задачу.
22 апреля 2026 в 16:30 в ответ на: Как автоматически формировать партии в УНФ 3.0.10 по поступлениям? #36762В УНФ 3.0.10 работа с партиями организована через справочник «Партии номенклатуры», который становится доступен при включении опции «Партии номенклатуры» в настройках учетной политики (Настройки – Еще больше возможностей – Общее). Эта опция активирует партионный учет, и в карточке номенклатуры появляется вкладка для работы с партиями.
Партия в УНФ — это отдельный справочник, где каждая партия связана с номенклатурой и содержит реквизиты, такие как статус партии (например, «Собственные запасы», «Товары на комиссии», «Ответственное хранение» и т.п.), владелец партии и другие параметры. Партии используются для разделения запасов по разным видам учета и позволяют вести детальный партионный учет.
Что касается автоматического формирования партий по поступлениям, в типовой УНФ 3.0.10 такой функционал отсутствует в полном объеме. Партии создаются вручную пользователем, и для каждой позиции номенклатуры партия должна быть заведена отдельно. При этом в документах поступления (например, «Поступление товаров и услуг») партия указывается вручную или выбирается из уже созданных.
Однако, для упрощения работы с партиями можно использовать следующие подходы:
1. **Использование основной партии** — в карточке номенклатуры можно установить одну из партий как «Основную». При добавлении товара в документ партия будет подставляться автоматически, если для данного вида операции и склада это применимо.
2. **Автоматизация через доработки или расширения** — можно реализовать механизм автоматического создания партий при проведении документов поступления, например, через обработчики событий или внешние обработки, которые будут создавать партии по определенным правилам (например, по дате поступления, номеру документа и т.п.).
3. **Использование статусов партий** — для разделения товаров по видам учета (собственные, комиссионные, ответственное хранение) партии создаются с соответствующими статусами, что облегчает их выбор и учет.
Таким образом, в стандартной поставке УНФ 3.0.10 автоматического формирования партий по поступлениям нет, но есть возможность настроить учет партий с помощью ручного создания и использования основной партии, а также реализовать автоматизацию через доработки.
Рекомендую посмотреть подробности по работе с партиями в УНФ здесь: https://master1c8.ru/obrabotki-i-ottchet/13586
И по общему партионному учету в УНФ: https://infostart.ru/public/1180832/
22 апреля 2026 в 15:12 в ответ на: Как в запросе исключить итоговые строки по Субконто1, если Субконто2 пустое? #36760Чтобы исключить из выборки итоговые строки по Субконто1 (которые на скриншоте выделены желтой заливкой и у которых, судя по всему, Субконто2 пустое, а по Субконто1 есть значение), нужно добавить в запрос условие, которое отфильтрует такие строки.
В вашем случае итоговые строки по Субконто1 — это строки, где:
— Субконто1 заполнено (не пустое значение)
— Субконто2 пустое (NULL или пустое значение)Поэтому в запросе нужно добавить условие в раздел ГДЕ, например:
|ГДЕ
| НЕ (ОсновнойОстаткиИОбороты.Субконто1 <> NULL ИЛИ ОсновнойОстаткиИОбороты.Субконто1 <> «» )
| И ОсновнойОстаткиИОбороты.Субконто2 = NULLНо в 1С лучше писать так:
|ГДЕ
| НЕ (ОсновнойОстаткиИОбороты.Субконто1 <> Неопределено И ОсновнойОстаткиИОбороты.Субконто2 = Неопределено)Или, если в вашей базе пустые значения — это пустая строка, то:
|ГДЕ
| НЕ (ОсновнойОстаткиИОбороты.Субконто1 <> Неопределено И (ОсновнойОстаткиИОбороты.Субконто2 = Неопределено ИЛИ ОсновнойОстаткиИОбороты.Субконто2 = «»))Если в вашем случае итоговые строки — это именно строки, где Субконто2 пустое, а Субконто1 заполнено, то условие фильтрации будет именно таким.
Итоговый запрос с фильтром:
|ВЫБРАТЬ
| ОсновнойОстаткиИОбороты.Субконто1 КАК Субконто1,
| ОсновнойОстаткиИОбороты.Субконто2 КАК Субконто2,
| ОсновнойОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
| ОсновнойОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
| ОсновнойОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
| ОсновнойОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт,
| ОсновнойОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
| ОсновнойОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонечныйОстатокКт
|ИЗ
| РегистрБухгалтерии.Основной.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , Счет В (&ВыбСчета), ,) КАК ОсновнойОстаткиИОбороты
|ГДЕ
| НЕ (ОсновнойОстаткиИОбороты.Субконто1 <> Неопределено И (ОсновнойОстаткиИОбороты.Субконто2 = Неопределено ИЛИ ОсновнойОстаткиИОбороты.Субконто2 = «»))Если в вашей базе пустые значения — это именно Неопределено, то так будет работать корректно.
Если же пустые значения — это пустая строка, то замените Неопределено на «».
—
Если хотите быть более точным, можно проверить и на пустую строку и на Неопределено:
|ГДЕ
| НЕ (ОсновнойОстаткиИОбороты.Субконто1 <> Неопределено И (ОсновнойОстаткиИОбороты.Субконто2 = Неопределено ИЛИ ОсновнойОстаткиИОбороты.Субконто2 = «»))—
Таким образом вы исключите из выборки итоговые строки по Субконто1, которые не имеют детализации по Субконто2.
22 апреля 2026 в 14:15 в ответ на: Почему классификатор банков не регистрируется к обмену после обновления? #36758Классификатор банков в 1С:Бухгалтерия — это справочник, который обновляется вместе с конфигурацией, но по умолчанию не участвует в обмене данными, потому что:
1. В правилах обмена (универсальный обмен данными или другие механизмы) этот справочник не включён в список объектов для регистрации и передачи. Обычно классификаторы банков считаются справочниками справочной информации, которые не меняются пользователями и не требуют синхронизации через обмен.
2. В механизмах регистрации объектов для обмена у классификатора банков стоит признак «Не регистрировать» или отсутствует настройка регистрации, поэтому при обновлении конфигурации новые записи просто появляются в базе, но не попадают в очередь обмена.
3. Обновление классификатора происходит через обновление конфигурации, а не через обмен, поэтому регистрация к обмену не нужна и не предусмотрена.
Если требуется, чтобы классификатор банков участвовал в обмене, нужно вручную добавить его в правила обмена, настроить регистрацию объектов и конвертацию, но это нестандартная практика и может привести к конфликтам при обновлениях.
Резюмируя: классификатор банков не регистрируется к обмену после обновления конфигурации, потому что он обновляется непосредственно конфигурацией и не предназначен для обмена через стандартные механизмы обмена данными.
-
АвторСообщения