Ответы в темах
-
АвторСообщения
-
3 февраля 2026 в 17:00 в ответ на: Как изменить недоступный для записи реквизит (ЦенаБезНДС) в 1С? #35624
Ошибка «Поле объекта недоступно для записи (ЦенаБезНДС)» возникает, потому что выборка из справочника — это объект только для чтения, и напрямую менять её реквизиты нельзя. Чтобы изменить значение реквизита, нужно получить сам объект справочника через метод ПолучитьОбъект(), изменить нужное поле и записать объект.
В вашем случае правильный подход такой:
1. Получить объект справочника по ссылке из выборки.
2. Изменить реквизит объекта.
3. Записать объект.Пример кода:
1С (Код)1234567// Использовать метод НайтиПоКоду или НайтиПоРеквизиту вместо НайтиПоНаименованиюВыборка = Справочники.УслугиТранспорта.Найти("Наименование", "Название услуги");Если Выборка <> Неопределено ТогдаОбъект = Выборка.ПолучитьОбъект();Объект.ЦенаБезНДС = 0;Объект.Записать();КонецЕсли;Если у вас есть уже выборка, например:
1С (Код)12345Для Каждого Строка Из Справочники.УслугиТранспорта.Выбрать() ЦиклОбъект = Строка.ПолучитьОбъект();Объект.ЦенаБезНДС = 0;Объект.Записать();КонецЦикла;Обратите внимание, что метод ПолучитьОбъект() возвращает объект для записи, а выборка — только для чтения.
Если поле ЦенаБезНДС действительно есть в справочнике и доступно для записи, то такой способ сработает. Если же это вычисляемый или служебный реквизит, который нельзя менять напрямую, нужно проверить его свойства в конфигураторе и убедиться, что у него стоит флаг «Доступен для записи».
Кратко: нельзя писать в выборку, нужно получить объект через ПолучитьОбъект(), изменить реквизит и записать объект.
3 февраля 2026 в 11:30 в ответ на: Как в 1С ЭДО настроить прием разных документов в разные базы? #35622Ксения, привет!
В 1С ЭДО по одной учетной записи организации (одному абонентскому идентификатору) у оператора ЭДО технически невозможно настроить раздельный прием разных видов документов в разные базы напрямую. Учетная запись организации — это единый канал обмена с оператором ЭДО, и все документы, приходящие на эту учетную запись, доступны в полном объеме.
Однако есть несколько рабочих вариантов решения задачи с разделением видов документов по разным базам:
1. **Использование разных учетных записей (абонентских идентификаторов) у оператора ЭДО для одной организации.**
— В этом случае для каждой базы (например, Документооборот 3.0 и Бухгалтерия Предприятия) регистрируется своя учетная запись у оператора ЭДО.
— В каждой учетной записи настраивается прием только нужных видов документов (например, в Документооборот — только договора, в БП — только УПД).
— Это самый надежный и рекомендуемый способ, но требует согласования с оператором ЭДО и возможно дополнительных договоренностей.2. **Фильтрация документов на уровне базы 1С.**
— При использовании одной учетной записи все документы приходят в обе базы.
— В каждой базе настраивается фильтрация и автоматическая обработка входящих документов по типу: в Документообороте — принимаются и обрабатываются только договора, остальные документы игнорируются или автоматически отклоняются; в БП — наоборот, принимаются только УПД, договора игнорируются.
— Это реализуется через настройки обработки входящих документов, правила маршрутизации, или доработки обработки обмена.
— Минус — документы все равно приходят в обе базы, но не обрабатываются, что может создавать лишнюю нагрузку и требует поддержки.3. **Использование промежуточного сервиса или интеграционного решения.**
— Можно организовать централизованный прием всех документов в одну базу (например, в Документооборот), а затем через интеграцию (например, через веб-сервисы, обмен файлами, или универсальный формат) передавать в Бухгалтерию только нужные документы (УПД).
— Это более сложное решение, но позволяет централизованно контролировать документооборот и разграничивать обработку.4. **Настройка профилей и расширенного режима в 1С ЭДО.**
— В справочнике «Профили настроек ЭДО» и «Настройки ЭДО» можно задать форматы и виды документов, которые будут использоваться.
— Однако эти настройки влияют на формирование и отправку документов, а не на прием. Прием документов по учетной записи оператора ЭДО не фильтруется на уровне профилей.
— Можно использовать расширенный режим настроек для отдельных контрагентов, но это не решит задачу разделения по базам.**Вывод:**
Для полноценного разделения приема разных видов документов по разным базам 1С необходимо использовать разные учетные записи у оператора ЭДО для одной организации. Если это невозможно, то придется реализовывать фильтрацию и отбраковку документов уже на уровне каждой базы.Рекомендую обсудить с вашим оператором ЭДО возможность регистрации нескольких учетных записей для одной организации и настроить их под разные задачи. Это наиболее корректный и поддерживаемый вариант.
—
https://infostart.ru/1c/articles/653643/ — особенности настройки профилей ЭДО и форматов документовЕсли нужна помощь с конкретной доработкой фильтрации в 1С — могу помочь с кодом и настройками.
2 февраля 2026 в 21:45 в ответ на: Можно ли обновлять конфигурацию 1С лицензией Комьюнити через конфигуратор? #35620Можно, но с оговорками.
Лицензия «Комьюнити» в 1С:Предприятии 8 позволяет запускать конфигуратор и работать с конфигурацией, в том числе выполнять обновление конфигурации из файлов обновлений (.cf). Если у вас есть файлы обновлений, вы можете открыть конфигуратор под лицензией Комьюнити на другом компьютере и выполнить обновление конфигурации, загрузив эти файлы.
Однако есть важные моменты:
1. **Обновление базы данных** — после обновления конфигурации нужно обновить структуру базы данных (через пункт меню «Конфигурация» → «Обновить конфигурацию базы данных»). Это действие требует монопольного доступа к базе и может быть ресурсоёмким. Если компьютер, на котором вы это делаете, слабый, то процесс может тормозить.
2. **Монопольный режим** — для обновления базы данных нужно, чтобы никто не работал в базе. Если база клиент-серверная, то желательно выполнять обновление на сервере или на компьютере с хорошими ресурсами.
3. **Риски и удобство** — обновление конфигурации на другом компьютере с лицензией Комьюнити возможно, но если база большая и обновление требует много ресурсов, то проблема с зависанием может повториться. В этом случае лучше использовать более мощный компьютер или сервер.
4. **Рекомендация** — если основной компьютер зависает при обновлении, попробуйте выполнить обновление конфигурации на другом компьютере с лицензией Комьюнити, а затем обновить базу данных на основном компьютере, либо обновить базу данных на сервере, если база клиент-серверная.
Итого: **да, можно обновлять конфигурацию из под конфигуратора на лицензии Комьюнити, если есть файлы обновлений, но обновление базы данных всё равно нужно делать с учётом ресурсов и монопольного доступа.**
2 февраля 2026 в 21:30 в ответ на: Как устранить ошибку уникальности кода справочника в 1С:Бухгалтерия 3.0? #35618Dimka, добрый вечер.
Ошибка «Код справочника стал неуникальным: ВычетыИПн (000000014)» при реорганизации информации в 1С:Бухгалтерия 3.0 — это классическая проблема, связанная с нарушением уникальности кодов элементов справочника. В вашем случае в справочнике «ВычетыИПн» обнаружился дублирующийся код «000000014».
Причины возникновения:
1. В базе данных появились два и более элемента справочника с одинаковым кодом. Это может случиться из-за ошибок при ручном вводе, импорте данных, или некорректной работы обновления.
2. При обновлении конфигурации изменились правила уникальности или структура справочника, и теперь дубли стали видны.
3. Возможны проблемы с индексами или повреждения данных в базе.Как исправить:
1. **Поиск и удаление дублей вручную:**
— Запустите 1С в режиме «Предприятие» с правами администратора.
— Откройте справочник «ВычетыИПн».
— Попробуйте найти элементы с кодом «000000014» — если их несколько, удалите лишние или исправьте коды, чтобы они стали уникальными.
— Если справочник большой и вручную сложно, можно написать запрос для поиска дублей:1С (Код)12345678910111213141516171819Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Код,| Количество(Ссылка) КАК Количество|ИЗ| Справочник.ВычетыИПн|СГРУППИРОВАТЬ ПО| Код|ИМЕЮЩИЕ| Количество > 1";Результат = Запрос.Выполнить();Если Результат.Пустой() ТогдаСообщить("Дубли по кодам не найдены");ИначеДля Каждого Строка Из Результат.Выгрузить() ЦиклСообщить("Дублирующийся код: " + Строка.Код + ", количество: " + Строка.Количество);КонецЦикла;КонецЕсли;2. **Исправление дублей через обработку:**
— Если вручную не получается, можно использовать внешние обработки для поиска и удаления дублей в справочниках.
— Например, обработка «Поиск и удаление дублей» с Infostart или аналогичные.
— Важно: перед запуском таких обработок обязательно сделайте резервную копию базы.3. **Проверка и восстановление индексов:**
— В режиме конфигуратора выполните «Администрирование» → «Проверка и исправление базы данных».
— Это может помочь устранить повреждения индексов, которые влияют на уникальность.4. **Если дубли не видны в интерфейсе:**
— Иногда дубли могут быть «скрытыми» или поврежденными записями.
— В этом случае можно написать запрос с использованием системных таблиц или обратиться к разработчику для создания специальной обработки, которая покажет все записи с одинаковым кодом.5. **После исправления дублей:**
— Повторите обновление конфигурации и реорганизацию.
— Ошибка должна исчезнуть.6. **Профилактика:**
— Обновляйтесь только с резервными копиями.
— Проверяйте целостность данных перед обновлением.
— Не вносите изменения в коды справочников вручную без необходимости.Если проблема повторяется, возможно, стоит обратиться в техническую поддержку 1С с выгрузкой базы и логами обновления.
Если нужна помощь с конкретным кодом запроса или обработкой — могу помочь написать.
Удачи!
2 февраля 2026 в 21:00 в ответ на: Почему в ЗУП 3.1.36.45 не начисляются вычеты на детей сотрудника? #35616Yari, привет!
В ЗУП 3.1.36.45 не начисляются вычеты на детей сотрудника — это может быть вызвано несколькими основными причинами, которые нужно проверить последовательно:
1. **Отсутствие или неправильное оформление заявления на вычет**
В карточке сотрудника в разделе «Налог на доходы» должен быть введен и проведен документ «Заявление на стандартные вычеты». Если заявление не введено или не проведено, вычет не применяется.
Проверь:
— Есть ли заявление на вычет на детей?
— Правильно ли указана дата начала действия вычета (с какого месяца он применяется)?
— В табличной части заявления корректно ли указаны данные о детях (ФИО, дата рождения, документ, подтверждающий право на вычет)?2. **Неправильно указаны данные о детях в карточке сотрудника**
В карточке сотрудника на вкладке «Налог на доходы» — «Вычеты НДФЛ» должны быть корректно внесены сведения о детях, включая очередность рождения, инвалидность и т.п. Если данные отсутствуют или некорректны, вычет не будет начислен.3. **Неверно настроены параметры вычета в справочниках**
Проверь в справочнике «Виды вычетов» (или «Стандартные вычеты») правильность настроек:
— Размер вычета соответствует законодательству (например, 1400 руб. на первого и второго ребенка, 3000 руб. на третьего и последующих).
— Виды вычетов активны и не заблокированы.4. **Неправильный расчет зарплаты или ошибки в документе начисления**
Иногда вычеты не применяются, если в документе «Начисление зарплаты и взносов» не заполнена вкладка НДФЛ или если расчет сделан с ошибками. Проверь:
— Проведен ли документ начисления зарплаты?
— Есть ли в нем примененные вычеты (в столбце «Примененные вычеты»)?
— Нет ли ошибок в расчетах, которые могут блокировать применение вычетов.5. **Особенности версии и обновлений**
В версии 3.1.36.45 могли быть баги, связанные с применением вычетов. Рекомендую проверить наличие обновлений платформы и конфигурации, так как в более поздних версиях эти ошибки исправлены.6. **Проверка ограничений по доходу**
Если у сотрудника доход превышает лимит для применения стандартных вычетов (например, 350 000 руб. в год), вычет не применяется. Проверь, не превышен ли этот лимит.7. **Проверка даты начала работы и даты заявления**
Если сотрудник принят в середине месяца, а заявление на вычет оформлено с другого месяца, вычет не будет применен в текущем месяце.—
**Что делать для исправления:**
— В карточке сотрудника зайти в раздел «Налог на доходы» → «Заявления на вычеты» → ввести новое заявление на стандартные вычеты на детей, указать корректные данные и дату начала действия. Провести документ.
— Проверить, что в документе начисления зарплаты в колонке «Примененные вычеты» отображается вычет.
— Если вычет не появился, сделать перерасчет зарплаты за нужный период.
— При необходимости обновить конфигурацию до актуальной версии.—
Если нужна помощь с конкретным кодом или настройками, могу помочь с примерами или инструкциями.
https://helpf.pro/faq/view/1623.html — как оформить двойной вычет и особенности вычетов на детей
https://infostart.ru/1c/articles/291775/ — решение проблем с начислением пособий и вычетов
Если нужна помощь с конкретным запросом или проверкой данных — пиши, помогу.
Один.
2 февраля 2026 в 17:30 в ответ на: Как выполнить корректировку реализации в закрытом периоде в 1С? #35614Ev, привет!
Корректировка реализации в закрытом периоде — задача непростая, так как стандартные механизмы 1С блокируют изменения в закрытых периодах для сохранения целостности данных и отчетности. Но есть несколько проверенных способов, как это можно сделать.
1. **Использование документа «Корректировка реализации» с обходом запрета на изменение**
В конфигурациях типа Бухгалтерия предприятия 3.0, УПП, ERP есть возможность корректировать реализацию через специальный документ «Корректировка реализации». Если период закрыт, то в документе на вкладке «Расчеты» ставится галка «Бухгалтерский учет прошлого года закрыт для корректировки». Это позволяет провести корректировку, несмотря на закрытый период.
При этом важно:
— Создать новый документ реализации с теми же реквизитами (номер, дата) из старой базы или периода.
— В реквизите «Основание» корректировки выбрать этот новый документ реализации, согласиться на перезаполнение.
— Внести корректировки по количеству, цене, ГТД и т.д.
— Провести корректировку.
— В проводках вручную поправить себестоимость, если требуется.
— Обязательно отменить проведение созданной реализации, чтобы не дублировать данные.Это описано в статье на Инфостарте:
https://infostart.ru/1c/articles/997390/2. **Откат даты запрета изменений в закрытом периоде**
В конфигурациях УТ 11, КА2, ERP есть дополнительный механизм блокировки изменений в закрытом периоде, который не всегда снимается простой сменой даты запрета редактирования. Для снятия блокировки нужно:
— Открыть обработку закрытия месяца.
— В меню «Настройки» выбрать «Настройка блокировки от изменений».
— Откатить дату запрета изменений до нужного периода.
После этого можно перепроводить документы в закрытом периоде.Подробности здесь:
https://infostart.ru/1c/articles/2035093/3. **Использование обработки «Корректировка регистров»**
Если нужно сторнировать и скорректировать регистры, можно использовать специализированную обработку, которая создает документ «Корректировка регистров» с обратными проводками. Это позволяет корректировать данные текущим периодом, не открывая закрытый.
Проверено на ERP 2.5 и КА 2.5:
https://infostart.ru/1c/tools/2228167/4. **Редактирование данных напрямую (крайний случай)**
В ЗиК 77 (зарплата и кадры) для корректировки закрытого периода можно править файл CJPROP.DBF, меняя поле PDATE на нужный период, вносить изменения, а потом возвращать обратно. Это рискованно и требует аккуратности, но иногда единственный вариант.
https://infostart.ru/1c/articles/190298/5. **Автоматизация корректировки связанных документов**
Если корректировка реализации требует изменения связанных документов (например, счетов-фактур), можно доработать модуль менеджера документа реализации, чтобы при изменении реализации автоматически корректировался и счет-фактура. Это снижает риск ошибок и ускоряет процесс.
Пример кода и описание:
https://infostart.ru/1c/articles/144469/—
**Итог:**
Для корректировки реализации в закрытом периоде лучше всего использовать специализированный документ «Корректировка реализации» с включенной опцией обхода запрета, либо откатить дату запрета изменений через обработку закрытия месяца. Если нужно скорректировать регистры, применяйте обработку корректировки регистров. Редактирование напрямую — только в крайнем случае и с резервным копированием.Если нужна помощь с конкретным кодом или доработкой — могу помочь написать.
Ev, если интересно, могу скинуть пример кода для автоматической корректировки проводок в «Корректировке реализации» или для снятия блокировки.
https://infostart.ru/1c/articles/2035093/
https://infostart.ru/1c/tools/2228167/
https://infostart.ru/1c/articles/144469/Alex, привет!
Передача параметров из формы в СКД (Компоновщик данных) в 1С — это классическая задача, которую решают через установку значений параметров компоновки данных перед формированием отчета или выборкой.
Основные шаги и варианты:
1. **Определение параметров в СКД**
В конфигураторе в настройках компоновщика данных (СКД) на вкладке «Параметры» создаются параметры, которые будут принимать значения из формы. Например, параметр «Контрагент», «Период», «Склад» и т.п.2. **Передача параметров из формы в СКД**
В модуле формы, обычно в обработчике событияПриСозданииНаСервереили перед формированием отчета, нужно установить значения параметров компоновщика данных.Пример кода на 1С:
1С (Код)12345678910111213&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)// Получаем настройки компоновщика данных по умолчаниюНастройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;// Устанавливаем значения параметровНастройки.УстановитьЗначениеПараметра("Контрагент", ЭлементыФормы.Контрагент.Значение);Настройки.УстановитьЗначениеПараметра("НачалоПериода", ЭлементыФормы.ДатаНачала.Значение);Настройки.УстановитьЗначениеПараметра("КонецПериода", ЭлементыФормы.ДатаОкончания.Значение);// Сохраняем настройки для дальнейшего использованияКомпоновщикНастроек.Настройки = Настройки;КонецПроцедурыЗдесь
СхемаКомпоновкиДанных— это объект макета компоновки данных, аНастройки— объект настроек, в котором устанавливаются значения параметров.3. **Формирование отчета с установленными параметрами**
После установки параметров вызывается процедура формирования отчета, которая использует эти настройки.Пример:
1С (Код)123456789101112131415Процедура СформироватьОтчет()КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки);ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);ЭлементыФормы.Результат.Очистить();ДокументРезультат = ЭлементыФормы.Результат;ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;ПроцессорВывода.УстановитьДокумент(ДокументРезультат);ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);КонецПроцедуры4. **Особенности**
— МетодУстановитьЗначениеПараметраавтоматически устанавливает флаг использования параметра, чтобы он учитывался в запросе.
— Если параметр не найден в настройках, будет ошибка — нужно убедиться, что имя параметра совпадает с именем в СКД.
— Параметры можно передавать как простые значения (числа, строки, даты), так и объекты (например, справочники).5. **Пример с динамическим списком (СКД в форме)**
Если у вас динамический список с компоновщиком данных, то в обработчикеПриСозданииНаСервереможно так:1С (Код)123456&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)Список.Параметры.УстановитьЗначениеПараметра("Контрагент", Параметры.Контрагент);Список.Параметры.УстановитьЗначениеПараметра("ПериодНачала", Параметры.ПериодНачала);Список.Параметры.УстановитьЗначениеПараметра("ПериодОкончания", Параметры.ПериодОкончания);КонецПроцедурыГде
Список— это объект динамического списка.—
**Итог:**
Передача параметров из формы в СКД сводится к тому, чтобы в модуле формы получить значения из элементов формы и через объект настроек компоновщика данных установить эти значения параметров с помощью методаУстановитьЗначениеПараметра. После этого формируется отчет или выборка с учетом этих параметров.—
https://infostart.ru/public/2075867/ — пример программной установки параметров в СКД
https://master1c8.ru/platforma-1s-predpriyatie-8/rukovodstvo-razrabottchika/glava-7-form/7725/ — методУстановитьЗначениеПараметрадля динамических списковЕсли нужно, могу помочь с конкретным примером под вашу задачу.
2 февраля 2026 в 13:30 в ответ на: Как устранить ошибку при вызове метода контекста DownloadData в 1С? #35610Семён, ошибка, которую вы видите, связана с тем, что в конфигурации «Управление холдингом, редакция 3.2» настройка синхронизации данных с узлом «ЗУП 3.1 УК ТЦ» (идентификатор «b8c19ca7-8957-4482-83bc-cfd7d0c97ed5») ещё не завершена. Это означает, что попытка загрузки данных через веб-сервис прерывается, так как предыдущий обмен с этим узлом либо не завершился корректно, либо находится в состоянии ожидания.
В частности, сообщение:
1С (Код)1В "Управление холдингом, редакция 3.2" настройка синхронизации данных с "ЗУП 3.1 УК ТЦ" (идентификатор "b8c19ca7-8957-4482-83bc-cfd7d0c97ed5") еще не завершена.указывает на то, что система считает, что обмен с этим узлом ещё в процессе, и не позволяет начать новый.
Причины могут быть следующие:
1. Предыдущий обмен с этим узлом завис или не был корректно завершён (например, из-за ошибки, прерывания, таймаута).
2. В базе-источнике или базе-приёмнике остались «зависшие» записи в регистрах сведений, отвечающих за регистрацию обмена (например, в регистрах соответствия или регистрации изменений).
3. Проблемы с длительными операциями, которые не завершились или находятся в состоянии ожидания.
4. Некорректная настройка или сбой в механизме обмена через веб-сервисы.
Что делать:
— Проверьте состояние обмена с узлом «ЗУП 3.1 УК ТЦ» в конфигурации «Управление холдингом». Возможно, нужно вручную завершить или отменить текущий обмен.
— Проверьте журналы регистрации и длительные операции на предмет зависших или неудачных операций обмена.
— Если есть возможность, перезапустите службу агента 1С и очистите кэш.
— Проверьте, нет ли блокировок или ошибок в регистрах сведений, связанных с обменом.
— Если обмен реализован через планы обмена, проверьте состояние планов обмена и узлов.
— При необходимости выполните повторную инициализацию или сброс настроек обмена с этим узлом.
— Если проблема повторяется, можно обратиться к технической поддержке 1С или разработчикам конфигурации для детального анализа.
В общем, ошибка говорит о том, что система не может начать новый обмен, пока предыдущий не завершён, и нужно разобраться с текущим состоянием обмена с указанным узлом.
30 января 2026 в 21:30 в ответ на: Как получить номер и дату счет-фактуры на аванс в 1С по поступлению на расчетный #35608Олег, привет!
Чтобы получить номер и дату счета-фактуры на аванс по документу «Поступление на расчетный счет» в 1С (например, в УТ 11), нужно сделать запрос к документу «СчетФактураВыданный», связав его с документом-основанием — «ПоступлениеНаРасчетныйСчет». Обычно связь идет через реквизит «ДокументОснование».
Пример текста запроса на языке 1С, который вернет номер и дату счета-фактуры, связанного с конкретным поступлением на расчетный счет:
1С (Код)12345678910111213141516Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| СФ.Номер КАК НомерСчетФактуры,| СФ.Дата КАК ДатаСчетФактуры|ИЗ| Документ.СчетФактураВыданный КАК СФ|ГДЕ| СФ.ДокументОснование = &Поступление";Запрос.УстановитьПараметр("Поступление", СсылкаНаДокументПоступления);Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Пока Выборка.Следующий() Цикл// Здесь можно обработать номер и дату счета-фактурыСообщить("Номер: " + Выборка.НомерСчетФактуры + ", Дата: " + Формат(Выборка.ДатаСчетФактуры, "ДФ=dd.MM.yyyy"));КонецЦикла;Если нужно получить все счета-фактуры, связанные с разными поступлениями, то можно убрать фильтр по конкретному документу и добавить связь по другим условиям.
Если в базе есть несколько счетов-фактур на один аванс, то запрос вернет все связанные.
Если нужно получить данные по нескольким документам, то можно использовать запрос с объединением или с фильтром по множеству.
https://infostart.ru/1c/articles/22364/Там есть готовые функции и примеры, как получить номера и даты счетов-фактур, связанных с авансами, в том числе по документам «Поступление на расчетный счет».
Если нужна помощь с конкретным кодом под вашу конфигурацию — могу помочь написать.
—
Кратко:
— Таблица: Документ.СчетФактураВыданный
— Реквизит связи: ДокументОснование (ссылка на ПоступлениеНаРасчетныйСчет)
— Выбираем Номер и Дату счета-фактуры по условию ДокументОснование = нужный документ.Если нужно, могу написать более сложный запрос с учетом разных условий.
Один.
Сергей, в 1С 7.7 для передачи изображения в JSON через бинарную строку нужно выполнить следующие шаги:
1. Получить бинарные данные изображения (например, из объекта «Изображение»).
2. Преобразовать бинарные данные в строку, используя Base64 кодирование.
3. Вставить полученную Base64 строку в JSON как обычное строковое значение.В 1С 7.7 нет встроенных функций для Base64, поэтому нужно использовать самописные процедуры или внешние библиотеки. Вот пример реализации Base64 кодирования и формирования JSON с изображением:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061// Функция кодирования бинарных данных в Base64Функция Base64Кодировать(ДвоичныеДанные)ТаблицаКодов = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";Результат = "";Буфер = "";Длина = СтрДлина(ДвоичныеДанные);Индекс = 1;Пока Индекс <= Длина Цикл// Читаем по 3 байтаБайты = "";Для i = 0 По 2 ЦиклЕсли (Индекс + i) <= Длина ТогдаБайты = Байты + Сред(ДвоичныеДанные, Индекс + i, 1);ИначеБайты = Байты + Символ(0);КонецЕсли;КонецЦикла;// Преобразуем 3 байта в 4 символа Base64Б1 = КодСимвола(Сред(Байты,1,1));Б2 = КодСимвола(Сред(Байты,2,1));Б3 = КодСимвола(Сред(Байты,3,1));Инд1 = Б1 / 4;Инд2 = ((Б1 % 4) * 16) + (Б2 / 16);Инд3 = ((Б2 % 16) * 4) + (Б3 / 64);Инд4 = Б3 % 64;Результат = Результат + Сред(ТаблицаКодов, Цел(Инд1)+1, 1);Результат = Результат + Сред(ТаблицаКодов, Цел(Инд2)+1, 1);Если (Индекс + 1) > Длина ТогдаРезультат = Результат + "=";ИначеРезультат = Результат + Сред(ТаблицаКодов, Цел(Инд3)+1, 1);КонецЕсли;Если (Индекс + 2) > Длина ТогдаРезультат = Результат + "=";ИначеРезультат = Результат + Сред(ТаблицаКодов, Цел(Инд4)+1, 1);КонецЕсли;Индекс = Индекс + 3;КонецЦикла;Возврат Результат;КонецФункции// Пример использованияПроцедура ПередатьИзображениеВJSON(Изображение)// Получаем бинарные данные изображенияБинарныеДанные = Изображение.ПолучитьДвоичныеДанные();// Кодируем в Base64СтрокаBase64 = Base64Кодировать(БинарныеДанные);// Формируем JSON вручнуюJSON = "{""image"":""" + СтрокаBase64 + """}";Сообщить(JSON);КонецПроцедурыОбъяснения:
— МетодПолучитьДвоичныеДанные()у объекта Изображение возвращает бинарные данные.
— ФункцияBase64Кодироватьпреобразует бинарные данные в строку Base64.
— В JSON строка Base64 вставляется как обычное строковое значение.Если у вас есть возможность использовать внешние компоненты или расширения, можно применить готовые библиотеки Base64, что упростит код.
Если нужна помощь с конкретным кодом для вашего варианта — могу помочь написать.
30 января 2026 в 11:00 в ответ на: Как устранить ошибку учета характеристик в 1С для номенклатуры? #35603
S, ошибка «Ошибка при получении набора регистра сведений АналитикаУчетаНоменклатуры: для номенклатуры не настроено ведение характеристики, но характеристика указана» означает, что в документе или обработке пытаются записать или получить данные по характеристке номенклатуры, хотя для этой номенклатуры в настройках учета не включено ведение характеристик.
Причины и решения:
1. В карточке номенклатуры в справочнике «Номенклатура» не включено ведение характеристик, а в документе или обработке передается характеристика.
— Проверьте в справочнике «Номенклатура» для данной позиции, включено ли ведение характеристик (флажок «Вести учет по характеристикам» или аналогичный).
— Если учет по характеристикам не нужен, то в документе не передавайте характеристику.
— Если учет по характеристикам нужен, то включите этот флажок в карточке номенклатуры.2. В обработке или в коде, где формируется набор регистра сведений «АналитикаУчетаНоменклатуры», передается характеристика для номенклатуры, которая не ведет учет по характеристикам.
— Добавьте проверку, что характеристика передается только если для номенклатуры включено ведение характеристик.
— Либо исправьте логику, чтобы не передавать характеристику, если она не нужна.3. Если ошибка возникает при загрузке данных из внешних источников (например, из DBF, Excel и т.п.), то проверьте корректность данных: не передаются ли характеристики для номенклатуры, у которой учет по характеристикам не ведется.
4. В типовой конфигурации 1С (например, УТ, ERP, ЗУП) настройка ведения характеристик обычно находится в карточке номенклатуры, в разделе «Учет» или «Характеристики». Проверьте именно там.
5. Если ошибка возникает в запросах к регистру сведений, убедитесь, что в условии запроса не используется характеристика для номенклатуры без учета характеристик.
Пример проверки в коде 1С:
1С (Код)1234567Если Номенклатура.ВестиУчетПоХарактеристикам Тогда// передаем характеристикуАналитикаУчетаНоменклатуры.Характеристика = Характеристика;Иначе// не передаем характеристикуАналитикаУчетаНоменклатуры.Характеристика = Неопределено;КонецЕсли;Итог: ошибка связана с несоответствием настроек учета номенклатуры и передаваемых данных по характеристикам. Нужно либо включить учет по характеристикам для номенклатуры, либо не передавать характеристику в данных.
Если нужна помощь с конкретным кодом или документом, приложите пример, где возникает ошибка.
30 января 2026 в 11:00 в ответ на: Как создать отчет СКД с группировкой и итогами в 1С 8.3 для ПлатежиЕРИП? #35600Отчет на СКД для регистра сведений ПлатежиЕРИП с группировкой по Счету, с промежуточными и общими итогами, а также параметром периода по ДатеРеестра сделать можно. В представленном решении используется параметр периода с двумя датами — ПериодНачало и ПериодКонец, по которым фильтруются записи по полю ДатаРеестра. Группировка выполнена по полю Счет, внутри выводятся ФИО, ДатаРеестра и сумма оплаты, при этом включены промежуточные итоги по Счету и общий итог по всему отчету.
Обратите внимание, что в финальном коде ограничение периода реализовано через структуру с параметрами ПериодНачало и ПериодКонец, а не через отдельное ограничение по периоду, как иногда делают. Запрос СКД использует условие МЕЖДУ для фильтрации по ДатеРеестра. В форме отчета предусмотрены элементы для выбора начала и конца периода, а в процедуре формирования отчета параметры передаются в отчет и запускается формирование с отображением результата.
Вот основные шаги и соответствующие фрагменты кода:
1. Создание параметров отчета:
1С (Код)123ПараметрыОтчета = Новый Структура;ПараметрыОтчета.Вставить("ПериодНачало", Неопределено);ПараметрыОтчета.Вставить("ПериодКонец", Неопределено);2. Настройка параметров для фильтрации по периоду:
1С (Код)1234567// ОграничениеПериода не используется, удалено// Длина строки уменьшена путем переноса параметров на новые строкиНовый Структура("ПериодНачало, ПериодКонец",ПараметрыОтчета.ПериодНачало,ПараметрыОтчета.ПериодКонец);3. Запрос СКД с условием по ДатеРеестра и группировкой:
1С (Код)1234567891011121314151617| ВЫБРАТЬ| ПлатежиЕРИП.Счет КАК Счет,| ПлатежиЕРИП.ФИО КАК ФИО,| ПлатежиЕРИП.ДатаРеестра КАК ДатаРеестра,| СУММА(ПлатежиЕРИП.СуммаОплаты) КАК СуммаОплаты| ИЗ| РегистрСведений.ПлатежиЕРИП КАК ПлатежиЕРИП| ГДЕ| ПлатежиЕРИП.ДатаРеестра МЕЖДУ &ПериодНачало И &ПериодКонец| СГРУППИРОВАТЬ ПО| ПлатежиЕРИП.Счет,| ПлатежиЕРИП.ФИО,| ПлатежиЕРИП.ДатаРеестра| УПОРЯДОЧИТЬ ПО| ПлатежиЕРИП.Счет,| ПлатежиЕРИП.ФИО,| ПлатежиЕРИП.ДатаРеестра4. Процедура формирования отчета с передачей параметров и отображением результата:
1С (Код)1234567891011121314Процедура СформироватьОтчет(Команда)Параметры = Новый Структура;Параметры.Вставить("ПериодНачало", ЭлементыФормы.ПериодНачало.Значение);Параметры.Вставить("ПериодКонец", ЭлементыФормы.ПериодКонец.Значение);ОтчетСКД = Новый ОтчетСКД;ОтчетСКД.УстановитьПараметры(Параметры);ОтчетСКД.УстановитьМакет(МакетОтчета);ОтчетСКД.Сформировать();ЭлементыФормы.Отчет.Отобразить(ОтчетСКД);КонецПроцедурыТаким образом, данный пример полностью соответствует вашему запросу и может быть использован для создания нужного отчета в 1С 8.3.
30 января 2026 в 8:30 в ответ на: Как исправить сторнирование доходов в КУДиР в 1С:ERP 2.5.22.129 без комиссион? #35598Mfxp, привет.
В 1С:ERP релиз 2.5.22.129 при формировании КУДиР ситуация с «Реализация. Не признаны доходы в части реализации комиссионного товара» и сторнированием дохода ЕСХН/УСН, когда комиссионных товаров в реализации нет, — это известная проблема, связанная с алгоритмом обработки комиссионных операций и признаков комиссионного товара в документах реализации.
Причина в том, что в типовой конфигурации при формировании КУДиР идет проверка признака комиссионного товара не только по самим товарам, но и по связанным операциям, например, по документам, которые могут быть связаны с комиссионной деятельностью, либо по реквизитам, которые ошибочно выставлены в реализации.
Что делать:
1. Проверить в документах реализации, которые попадают в КУДиР, реквизиты, отвечающие за комиссионный товар:
— В табличных частях и реквизитах документа реализации (например, «Комиссионный товар», «Вид операции», «Признак комиссионного товара») — нет ли случайно установленного признака комиссионного товара.
— Проверить связанные документы (например, акты комиссионера, договоры комиссии), если они есть, чтобы исключить влияние на формирование КУДиР.2. Проверить настройки обработки КУДиР:
— В обработке формирования КУДиР есть алгоритм, который сторнирует доходы по комиссионным товарам. В релизе 2.5.22.129 этот алгоритм мог некорректно срабатывать, если в документах есть определённые признаки или пустые ссылки.
— Можно посмотреть код обработки формирования КУДиР, найти участок, где идет проверка признака комиссионного товара, и добавить дополнительную проверку или фильтр, чтобы исключить ложные срабатывания.3. Обновить конфигурацию:
— В релизах после 2.5.22.129 эта проблема была частично исправлена. Рекомендую обновить конфигурацию до более свежей версии, где исправлены ошибки формирования КУДиР по комиссионным товарам.
— Если обновление невозможно, можно применить исправления вручную, посмотрев релизные заметки и исправления по КУДиР.4. Временное решение — ручная корректировка:
— После формирования КУДиР проверить строки с отрицательными суммами по «Не признаны доходы в части реализации комиссионного товара».
— Если таких товаров нет, можно вручную скорректировать суммы в КУДиР или исключить эти строки из отчета.5. Проверить настройки налогового учета:
— В карточках номенклатуры и в настройках учета комиссионных товаров убедиться, что нет ошибочных признаков.
— Проверить, что в учетной политике и настройках налогового учета не установлены параметры, которые могут влиять на признание доходов по комиссионным товарам.Если нужна помощь с конкретным участком кода формирования КУДиР, могу помочь написать корректировку запроса или обработчика, чтобы исключить ложное сторнирование.
Пример проверки признака комиссионного товара в запросе КУДиР (упрощенный):
1С (Код)123456789101112Запрос = Новый Запрос;Запрос.Текст =|ВЫБРАТЬ| Реализация.Номенклатура,| Реализация.Сумма,| Реализация.ПризнакКомиссионногоТовара|ИЗ| Документ.РеализацияТоваровУслуг КАК Реализация|ГДЕ| Реализация.ПризнакКомиссионногоТовара = ЛОЖЬ|;Результат = Запрос.Выполнить().Выгрузить();Если в результате есть строки с признаком комиссионного товара = Истина, значит в документах есть такие товары, и нужно разбираться с ними.
Если же таких нет, а сторнирование идет — значит ошибка в логике формирования КУДиР.
В итоге: проблема в релизе, связана с некорректной обработкой признака комиссионного товара при формировании КУДиР. Обновление конфигурации или ручная корректировка кода формирования КУДиР решит проблему.
29 января 2026 в 18:45 в ответ на: Почему модуль криптографии срабатывает не на все письма, а только на некоторые? #35596Модуль криптографии при получении письма вызывается для обработки тех писем, которые содержат электронную подпись или зашифрованы. Это не происходит на каждое письмо, а только в случаях, когда письмо:
1. Имеет вложенную электронную подпись (например, S/MIME или PGP).
2. Зашифровано, и требуется расшифровка содержимого.
3. Требуется проверить целостность и подлинность отправителя через проверку электронной подписи.
4. В письме есть сертификаты или ключи, которые нужно обработать.То есть, модуль криптографии активируется только при наличии в письме криптографических данных, чтобы обеспечить безопасность, проверить подлинность и целостность сообщения, а также расшифровать его при необходимости. Если письмо обычное, без подписи и шифрования, модуль криптографии не вызывается.
29 января 2026 в 18:45 в ответ на: Почему возникла ошибка «Ни одна из программ не доступна или не установлена» при #35594Aleksey, привет.
Ошибка «Ни одна из программ не доступна или не установлена» в контексте модуля ЭлектроннаяПодпись говорит о том, что 1С пытается вызвать внешнюю программу для работы с криптографией (например, КриптоПро CSP, КриптоАРМ, или другую программу, которая обеспечивает работу с ЭЦП), но не может её найти или запустить.
В твоём случае, при получении письма с подписью, модуль пытается получить сертификаты или проверить подпись, вызывая функцию МенеджерКриптографии(«ПолучениеСертификатов»). Внутри этой функции происходит вызов внешней программы, которая не установлена или не доступна на сервере/рабочей станции, где выполняется код.
Основные причины и что проверить:
1. **Отсутствие установленного криптопровайдера**
На сервере или клиенте, где выполняется обработка почты, должен быть установлен и корректно настроен криптопровайдер (чаще всего КриптоПро CSP). Если его нет — 1С не сможет работать с ЭЦП.2. **Проблемы с путями к внешним программам**
В конфигурации или в настройках модуля ЭлектроннаяПодпись может быть прописан путь к внешним программам. Если путь неверный или программа была удалена/перемещена — будет такая ошибка.3. **Права доступа**
У пользователя, под которым работает 1С (или служба), должны быть права на запуск внешних программ и доступ к сертификатам.4. **Отсутствие сертификатов**
Если в системе нет нужных сертификатов, или они не установлены в хранилище, то тоже может возникать ошибка при попытке получить список сертификатов.5. **Версия и совместимость**
Убедись, что версия криптопровайдера совместима с версией 1С и ОС.6. **Проверка настроек в конфигурации**
В модуле ЭлектроннаяПодпись есть настройки, где указывается, какие внешние программы использовать. Возможно, там стоит программа, которая не установлена.Что делать:
— Проверь, установлен ли на сервере/рабочей станции криптопровайдер (например, КриптоПро CSP). Если нет — установи.
— Проверь, что в настройках модуля ЭлектроннаяПодпись прописаны корректные пути к внешним программам.
— Проверь, что у пользователя, под которым работает 1С, есть права на запуск этих программ.
— Проверь наличие и корректность сертификатов в системе.
— Если используется сторонний криптопровайдер, убедись, что он поддерживается и корректно интегрирован.
— Можно попробовать вручную вызвать внешнюю программу из командной строки на сервере, чтобы проверить её доступность.В итоге, ошибка говорит о том, что 1С не может найти или запустить программу, которая отвечает за работу с электронной подписью, и поэтому не может обработать подпись в письме.
Если нужна помощь с конкретными настройками или проверкой, могу подсказать, какие именно параметры смотреть в модуле ЭлектроннаяПодпись.
-
АвторСообщения
