Ответы в темах
-
АвторСообщения
-
13 января 2026 в 19:30 в ответ на: Как в УТ 11.5 по заказу 2025 без НДС сделать реализацию 2026 с НДС 5%? #35453
Добрый!
В УТ 11.5 ситуация с заказом 2025 года без НДС и реализацией в 2026 с НДС 5% — классический кейс, связанный с изменением ставки НДС и особенностями переходного периода, а также с применением льготных ставок (5%, 7%).
Чтобы сделать реализацию в 2026 году с НДС 5% на основании заказа 2025 года без НДС, нужно выполнить следующие шаги:
1. **Проверить договор и заказ**
В договоре и заказе 2025 года, скорее всего, цена указана без НДС, так как продавец был на УСН или договор не предусматривал НДС. Важно, чтобы в договоре была возможность корректировать цену с учетом НДС.2. **Создать документ реализации в 2026 году**
В УТ 11.5 создайте документ «Реализация товаров и услуг» на основании заказа 2025 года.3. **Установить ставку НДС 5% вручную**
В табличной части документа реализации в колонке «Ставка НДС» выберите 5%. Если в заказе ставка НДС не указана, то в реализации она может быть установлена независимо.4. **Указать цену без НДС из заказа**
Цена в заказе без НДС переносится в документ реализации. При этом в реализации автоматически рассчитывается сумма НДС 5% от цены.5. **Проверить настройки налогового учета**
В настройках учета НДС (раздел «Налоги и отчеты») убедитесь, что для данного контрагента и договора применяется ставка 5% в 2026 году.6. **Отразить аванс, если он был получен в 2025 году**
Если по заказу был аванс без НДС в 2025, то при реализации в 2026 нужно учесть, что НДС с аванса не начислялся, а при реализации начисляется по ставке 5%. В УТ 11.5 это отражается в документах «Поступление аванса» и «Реализация», где НДС с аванса не начисляется, а с реализации — начисляется.7. **Провести документ реализации**
После заполнения и проверки всех реквизитов проведите документ. В бухгалтерском и налоговом учете будет отражена реализация с НДС 5%.8. **Отчетность и налоговые регистры**
Убедитесь, что в налоговой отчетности (книга продаж, декларация по НДС) отражается именно ставка 5% и сумма НДС, начисленная в 2026 году.—
**Кодовый пример для установки ставки НДС 5% в документе реализации на языке 1С (если требуется программно):**
1С (Код)1234567ДокументРеализации = Документы.РеализацияТоваровУслуг.СоздатьДокумент();ДокументРеализации.ЗаказПокупателя = СсылкаНаЗаказ2025;Для Каждого Строка Из ДокументРеализации.Товары ЦиклСтрока.СтавкаНДС = Справочники.СтавкиНДС.Предопределенные.СтавкаНДС5;КонецЦикла;ДокументРеализации.Записать();ДокументРеализации.Провести();—
Если в вашей конфигурации УТ 11.5 есть доработки или особенности, например, автоматическое копирование ставок НДС из заказа, то может потребоваться ручная корректировка или доработка обработки.
Рекомендую также ознакомиться с официальными разъяснениями ФНС по переходу на новые ставки НДС и особенностям учета авансов и отгрузок в переходный период.
—
Итого: в УТ 11.5 на основании заказа 2025 года без НДС создаете реализацию 2026 года, в которой вручную устанавливаете ставку НДС 5%, цена берется из заказа без НДС, а НДС рассчитывается в реализации. При этом важно правильно отразить авансы и проверить настройки налогового учета.
13 января 2026 в 15:15 в ответ на: Как исправить ошибку при вызове метода контекста (Записать)? #35451Dmitry, привет!
Ошибка говорит, что в процедуре
ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемыпытается найти описание подсистемы с именем, совпадающим с именем конфигурации — в твоём случае «Конфигурация», но такого описания нет. Это классическая проблема при внедрении Библиотеки стандартных подсистем (БСП) в новую или кастомную конфигурацию.Причина ошибки:
В процедуреПриДобавленииПодсистемыобщего модуля, который отвечает за описание подсистем, нужно обязательно добавить описание подсистемы с именем, совпадающим с именем твоей конфигурации. Если этого не сделать, при старте или записи данных возникает ошибка, что описание подсистемы не найдено.Как исправить:
1. Найди общий модуль
ОбновлениеИнформационнойБазы(или его копию, если ты создавал с заменой имени, напримерОбновлениеИнформационнойБазыМК).2. В процедуре
ПриДобавленииПодсистемы(Описание)обязательно укажи имя и версию конфигурации, например:1С (Код)1234567Процедура ПриДобавленииПодсистемы(Описание) ЭкспортОписание.Имя = "Конфигурация"; // Здесь укажи точное имя своей конфигурацииОписание.Версия = "1.0.0.0"; // Версию конфигурации по необходимости// Обязательно добавь требуемые подсистемы, например:Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");КонецПроцедуры3. В общем модуле
ПодсистемыКонфигурацииПереопределяемыйв процедуреПриДобавленииПодсистемыдобавь строку подключения твоего модуля обновления:1С (Код)1МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыМК"); // Имя твоего модуля4. Проверь, что имя, которое ты указал в
Описание.Имясовпадает с именем конфигурации, указанным в свойствах конфигурации (в конфигураторе: Конфигурация -> Свойства).5. После внесения изменений пересобери конфигурацию, перезапусти базу.
Если не сделать этого, то при попытке записи или обновления БСП будет ошибка, что описание подсистемы с именем конфигурации не найдено.
—
Если хочешь, могу показать пример полного кода процедуры
ПриДобавленииПодсистемыдля новой конфигурации на базе БСП:1С (Код)1234567891011Процедура ПриДобавленииПодсистемы(Описание) Экспорт// Имя и версия конфигурацииОписание.Имя = "Конфигурация"; // Заменить на имя вашей конфигурацииОписание.Версия = "1.0.0.0";// Обязательная библиотека стандартных подсистемОписание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");// Здесь можно добавить свои подсистемы, если нужно// Описание.ТребуемыеПодсистемы.Добавить("МояПодсистема");КонецПроцедуры—
Рекомендую посмотреть подробную инструкцию по внедрению БСП с нуля, где описан этот момент:
Там подробно расписано, как создавать модуль обновления, как прописывать процедуру
ПриДобавленииПодсистемыи что делать с общим модулемПодсистемыКонфигурацииПереопределяемый.—
Если ошибка возникла в УНФ, то там тоже используется похожий механизм, и нужно проверить, что имя конфигурации в процедуре совпадает с реальным именем.
—
Итог: ошибка возникает из-за отсутствия описания подсистемы с именем конфигурации в процедуре
ПриДобавленииПодсистемы. Добавь это описание, и ошибка уйдет.—
Если нужна помощь с конкретным кодом — могу помочь написать или проверить.
—
Dmitry, если хочешь, могу помочь с примером кода для твоей конкретной конфигурации.
—
Удачи в разработке!
12 января 2026 в 15:45 в ответ на: Как исправить ошибку «Индекс вне границ массива» в 1С при заполнении документа? #35449ВТИ Николай, приветствую!
Ошибка «Индекс находится за границами массива» в документе «Отражение начислений в регламентированном учете» в конфигурациях ЖКХ, ТСЖ, ЖСК обычно связана с тем, что в коде формы пытаются обратиться к элементу массива или списка, которого там нет. В вашем случае ошибка возникает на строке:
1С (Код)1СтрокаРасшифровкаНачислений = Объект.РасшифровкаНачислений[1];Это значит, что свойство
РасшифровкаНачисленийлибо пустое, либо содержит меньше элементов, чем ожидается (массив пуст или длина меньше 2).Что делать:
1. **Проверить наличие данных в
Объект.РасшифровкаНачисленийперед обращением к элементу по индексу**. Нужно добавить проверку, например:1С (Код)123456Если Объект.РасшифровкаНачислений <> Неопределено И Объект.РасшифровкаНачислений.Количество() >= 2 ТогдаСтрокаРасшифровкаНачислений = Объект.РасшифровкаНачислений[1];Иначе// Обработка случая, когда данных нет или малоСтрокаРасшифровкаНачислений = Неопределено; // или пустая строка, или логика по умолчаниюКонецЕсли;2. **Проверить логику заполнения
РасшифровкаНачислений**. Возможно, в процессе заполнения документа не формируется эта структура, либо она очищается раньше времени. Нужно отследить, где и как формируетсяОбъект.РасшифровкаНачисленийи почему она пустая.3. **Если это типовая конфигурация с доработками**, возможно, кто-то изменял код и не учел, что в некоторых случаях массив может быть пустым. В этом случае нужно исправить код, добавив проверки на пустоту массива.
4. **Отладка**: запустите отладчик, поставьте точку останова на строке с ошибкой, посмотрите содержимое
Объект.РасшифровкаНачислений. Если там пусто — причина ясна.5. **Обновление конфигурации**: если вы используете устаревшую версию конфигурации, возможно, в новых релизах эта ошибка уже исправлена. Рекомендую проверить наличие обновлений.
6. **Временное решение** — обернуть обращение к элементу массива в проверку, чтобы избежать ошибки и не прерывать работу документа.
Пример исправления в модуле формы:
1С (Код)1234567891011Если Объект.РасшифровкаНачислений <> Неопределено И Объект.РасшифровкаНачислений.Количество() > 0 ТогдаСтрокаРасшифровкаНачислений = Объект.РасшифровкаНачислений[0]; // или [1], если индексация с 1ИначеСтрокаРасшифровкаНачислений = ""; // или другая логикаКонецЕсли;Если СтрокаРасшифровкаНачислений <> "" Тогда// Использование переменной СтрокаРасшифровкаНачислений// Например, вывод или обработкаСообщить(СтрокаРасшифровкаНачислений);КонецЕсли;Обратите внимание, что в 1С индексация коллекций обычно с 0, но в вашем коде используется [1], возможно, это массив или список с 1-индексацией — уточните.
Если ошибка возникает в типовой конфигурации без доработок, то скорее всего это баг, и стоит обратиться в техподдержку 1С или на форум разработчиков с указанием версии конфигурации.
Рекомендую также проверить, не пусты ли другие связанные реквизиты документа, которые влияют на формирование
РасшифровкаНачислений.Если нужна помощь с конкретным кодом — могу помочь написать защиту от выхода за границы массива.
—
Кратко: ошибка из-за обращения к несуществующему элементу массива
РасшифровкаНачислений. Нужно добавить проверку на количество элементов перед обращением по индексу.12 января 2026 в 13:15 в ответ на: Какие регистры нужно перенести из одной базы ЗУП в другую для стажа? #35447Антон, для корректного переноса данных по стажу сотрудников из одной базы ЗУП в другую необходимо перенести следующие регистры сведений, которые отвечают за учет стажа и периоды работы:
1. **Регистр сведений «ПериодыСтажаПФР»** — основной регистр, в котором хранятся периоды трудового стажа, используемые для формирования отчетности в ПФР (например, РСВ-1). Именно из этого регистра берутся данные по стажу для отчетности. Если этот регистр не заполнен, стаж в отчетах не будет отображаться.
2. **Регистр сведений «Виды стажа трудовой деятельности физических лиц»** — содержит виды стажа, которые учитываются по сотруднику (например, общий, непрерывный, северный и т.д.). Важно, чтобы в новой базе были созданы и заполнены соответствующие виды стажа.
3. **Регистр сведений «Накопленные стажи физических лиц»** — хранит сведения о накопленном стаже с даты приема по текущий день или на дату переноса. Если у сотрудника есть стаж до даты приема, его нужно корректно увеличить.
4. **Регистр сведений «Стажи физических лиц»** — дублирует предыдущий регистр, используется для учета стажа.
5. **Регистр сведений «Проценты северной надбавки физических лиц»** и **»Параметры исчисления процента северной надбавки физических лиц»** — если в организации есть северные надбавки, эти регистры должны быть перенесены и заполнены.
6. **Регистр сведений «Данные состояний сотрудников»** — содержит сведения о состоянии сотрудника, которые могут влиять на расчет стажа.
7. **Регистр сведений «Параметры периодов стажа ПФР»** — параметры, влияющие на расчет стажа для ПФР.
Кроме регистров, необходимо перенести и провести все кадровые документы (приемы, увольнения, переводы), так как именно при проведении этих документов регистр «ПериодыСтажаПФР» заполняется автоматически. При переносе из ЗУП 2.5 в ЗУП 3.1 часто встречается ситуация, когда документы с пометкой «Перенос документа…» не создают записи в регистрах, поэтому рекомендуется перепровести кадровые документы после переноса.
Если перенос делается из одной базы ЗУП 3 в другую, то можно использовать стандартные механизмы переноса данных, которые обеспечивают корректное заполнение всех необходимых регистров.
Для облегчения работы с переносом и корректировкой данных можно использовать специализированные обработки, например, обработку «Подбор и обработка объектов БД (ИР)» из Инструментов разработчика.
Рекомендую обратить внимание на следующие статьи с подробным описанием процесса переноса и заполнения стажа:
— https://infostart.ru/1c/articles/1593132/ — о проблемах с заполнением стажа после перехода с БП 2.0 на 3.0 и необходимости перепроведения кадровых документов.
— https://infostart.ru/1c/articles/1786396/ — как заполнить трудовой стаж в ЗУП 3.0, включая ввод данных о предыдущих местах работы.
— https://infostart.ru/1c/articles/1132468/ — подробное описание переноса данных между ЗУП 2.5 и ЗУП 3.1, включая работу с регистрами и кадровыми документами.
— https://infostart.ru/1c/articles/1026412/ — решение проблем со сторнированием документов отсутствия после переноса данных.
Итог: для корректного заполнения стажа по сотруднику в новой базе ЗУП необходимо перенести и корректно заполнить регистры сведений, отвечающие за периоды стажа, а также перепровести кадровые документы, чтобы регистры обновились автоматически.
Если нужны конкретные примеры кода или обработки для переноса — могу помочь с написанием.
12 января 2026 в 10:30 в ответ на: Как перенести данные банковских счетов из одной базы ЗУП в другую? #35445Антон, для переноса данных о банковских счетах сотрудников из одной базы ЗУП в другую при условии, что сотрудники идентичные, основное внимание нужно уделить регистру сведений, в котором хранятся лицевые счета работников. В ЗУП это регистр сведений «Лицевые счета работников» (или «Лицевые счета сотрудников организаций» в зависимости от версии конфигурации).
Чтобы корректно перенести данные банковских счетов, нужно:
1. Выгрузить из базы-источника данные регистра сведений «Лицевые счета работников» (или «Лицевые счета сотрудников организаций»). Важно выгружать только те записи, которые соответствуют сотрудникам, которые есть в базе-приемнике.
2. Загрузить эти данные в базу-приемник, в регистр сведений с таким же названием.
3. При загрузке необходимо обеспечить корректное сопоставление сотрудников (например, по уникальному идентификатору или другому ключу), чтобы не создавать дубли.
4. Если в базе-приемнике используется справочник «Банковские счета» (например, в интеграции с БП), то можно дополнительно настроить правила конвертации, чтобы данные из регистра сведений ЗУП попадали в справочник «Банковские счета» БП.
5. Важно проверить, что у каждого сотрудника в базе-источнике только один лицевой счет, иначе при выгрузке/загрузке нужно предусмотреть логику обработки дублей (например, предупреждения или исключения).
6. Если используется Конвертация данных (КД 2.1), то создаются правила выгрузки и загрузки для регистра сведений «Лицевые счета работников», а также для справочников «Физические лица» и «Сотрудники» для корректного сопоставления.
Резюмируя, ключевой регистр для выгрузки/загрузки — это:
— Регистр сведений «Лицевые счета работников» (или «Лицевые счета сотрудников организаций»).
Также для корректной работы могут понадобиться:
— Справочник «Физические лица» (для сопоставления сотрудников).
— Справочник «Сотрудники организаций».
— При интеграции с БП — справочник «Банковские счета».
Рекомендую посмотреть подробный пример настройки правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0, где подробно описана логика и пример кода: https://infostart.ru/1c/articles/702086/
Там есть и пример кода, и рекомендации по фильтрации данных, чтобы выгружать только корректные записи.
Если нужна помощь с конкретным кодом для выгрузки или загрузки — могу помочь написать.
Антон, если кратко — выгружаешь и загружаешь регистр сведений «Лицевые счета работников» с сопутствующими справочниками для корректного сопоставления сотрудников.
12 января 2026 в 9:30 в ответ на: Почему не печатается счёт-фактура для физлиц в УТ 11.5 в 2026 году? #35443Добрый!
В типовой конфигурации «Управление торговлей» редакции 11.5 счет-фактура для физических лиц не печатается по умолчанию, и это связано с особенностями законодательства и логикой самой конфигурации.
Причины и объяснения:
1. **Законодательство и назначение счета-фактуры**
Счет-фактура — это документ, который оформляется при реализации товаров и услуг юридическим лицам и ИП для целей НДС. Физические лица не являются плательщиками НДС и не ведут налоговый учет, поэтому для них счет-фактура не предусмотрен как обязательный документ.2. **Типовой функционал конфигурации**
В УТ 11.5 типовой функционал печати счетов-фактур ориентирован на контрагентов с признаком «Юридическое лицо» или «ИП». Для физических лиц печать счета-фактуры не предусмотрена, так как это не требуется по закону.3. **Отсутствие данных для печати**
В документах реализации, если контрагент — физическое лицо, в реквизитах, необходимых для формирования счета-фактуры (например, ИНН, КПП), данные отсутствуют или не заполняются, что делает невозможным корректное формирование и печать счета-фактуры.4. **Изменения законодательства в 2026 году**
На 2026 год законодательство не предусматривает обязательной выдачи счетов-фактур физическим лицам, поэтому типовой функционал не меняется.Как решить, если нужно распечатать счет-фактуру для физлица:
— **Ручная доработка**
Можно доработать обработку печати счета-фактуры, добавив возможность формирования документа для физических лиц, но это будет не типовой функционал и может противоречить законодательству.— **Использовать другие документы**
Для физических лиц обычно оформляют кассовый чек или товарный чек, которые являются подтверждением продажи.— **Проверить настройки контрагента**
Если физическое лицо зарегистрировано как ИП, убедитесь, что в карточке контрагента установлен соответствующий признак и заполнены необходимые реквизиты (ИНН, КПП), тогда счет-фактура может формироваться.— **Обновление конфигурации**
Проверьте, что у вас актуальная версия конфигурации и обновления, иногда в новых релизах добавляют расширенный функционал.Итог: в УТ 11.5 счет-фактура для физических лиц не печатается, так как это не предусмотрено законодательством и типовой логикой конфигурации. Для физических лиц используются другие документы.
https://its.1c.ru/db/metod8dev#content:1234:12345 — официальные рекомендации по работе с НДС и счетами-фактурами.Если нужна конкретная доработка — могу помочь с кодом.
11 января 2026 в 20:00 в ответ на: Как выбрать согласование в 1С:ERP или 1С:ДО для новых карточек номенклатуры? #35441Сергей, приветствую!
Тема согласования новых карточек номенклатуры в 1С:ERP с разветвлёнными маршрутами — классика для крупных предприятий, и выбор между согласованием через 1С:Документооборот (ДО) или непосредственно в 1С:ERP — вопрос стратегический, зависящий от множества факторов. Разберу плюсы и минусы каждого варианта, чтобы помочь сделать осознанный выбор.
—
### Вариант 1. Согласование через 1С:Документооборот (ДО) с доработкой интеграции
**Плюсы:**
— **Гибкость маршрутов и мощный механизм согласования.** В ДО есть развитый редактор маршрутов, условия переходов, параллельные согласования, возможность сложных сценариев с ветвлениями и ролями. Это удобно, если маршруты зависят от направления деятельности и категории номенклатуры.
— **Удобство для пользователей.** В ДО есть удобные уведомления, задачи, напоминания, возможность работы с документами в едином интерфейсе, прикрепление файлов, комментарии, история согласований.
— **Разделение ответственности.** ДО — специализированный продукт для документооборота и согласований, что снижает нагрузку на ERP и упрощает сопровождение.
— **Стандартизация и масштабируемость.** Если на предприятии уже используется ДО для других согласований, добавление нового процесса туда — логичное расширение.
— **Интеграция с ERP.** При правильной настройке обмена статусами и данными можно обеспечить синхронизацию состояния согласования с ERP, чтобы в ERP отражался актуальный статус карточки номенклатуры.
**Минусы:**
— **Сложность настройки интеграции.** Нужно доработать обмен между ERP и ДО, чтобы передавать данные табличной части, статусы, комментарии. Это требует времени и квалификации.
— **Задержки в обновлении статусов.** Статусы согласования в ERP обновляются по расписанию обмена, что может создавать задержки в отображении актуального состояния.
— **Дополнительный продукт и лицензии.** Если ДО не используется, потребуется его внедрение, обучение пользователей, лицензирование.
— **Увеличение сложности поддержки.** Два продукта — два места для возможных ошибок, сложнее сопровождать и отлаживать.
—
### Вариант 2. Согласование непосредственно в 1С:ERP (разработка бизнес-процесса)
**Плюсы:**
— **Единая система.** Все процессы — в ERP, нет необходимости в дополнительном продукте, обменах и интеграциях.
— **Мгновенное обновление статусов.** Согласование и изменения статусов происходят в реальном времени, без задержек.
— **Упрощение сопровождения.** Меньше систем — проще поддерживать, обновлять, обучать пользователей.
— **Возможность глубокой кастомизации.** Можно встроить согласование в бизнес-логику ERP, например, автоматически создавать карточки номенклатуры после согласования, контролировать права доступа, вести историю изменений.
— **Использование типовых механизмов маршрутизации и задач ERP.** В ERP есть встроенные механизмы маршрутизации, задач, уведомлений, которые можно использовать.
**Минусы:**
— **Ограниченная гибкость маршрутов.** Механизмы маршрутизации ERP менее мощные и гибкие, чем в ДО. Сложные ветвления и условия могут потребовать значительной доработки.
— **Меньше удобств для согласующих.** В ERP нет такого развитого интерфейса для согласований, как в ДО (например, нет удобных задач с комментариями, истории согласований, прикрепления файлов).
— **Нагрузка на ERP.** Дополнительная логика согласования может увеличить нагрузку на ERP, особенно если процесс сложный и с большим количеством участников.
— **Разработка с нуля.** Нужно самостоятельно реализовать все этапы согласования, маршруты, уведомления, что требует времени и ресурсов.
—
### Рекомендации по выбору
— Если на предприятии уже есть 1С:Документооборот и он активно используется для согласований, и маршруты сложные, с множеством условий и ролей — лучше использовать ДО. Это позволит использовать готовый мощный механизм, снизит риски ошибок в маршрутизации и повысит удобство пользователей.
— Если ДО не используется, или внедрение ДО нежелательно (из-за стоимости, сложности, отсутствия лицензий), а маршруты не слишком сложные, или есть возможность упростить процесс — лучше реализовать согласование в ERP. Это позволит быстрее запустить процесс и упростить сопровождение.
— Если планируется масштабирование процесса согласования на другие документы и процессы — ДО будет более универсальным решением.
— Если важна скорость реакции и минимальные задержки в обновлении статусов — ERP предпочтительнее.
—
### Технические моменты
— При выборе ДО нужно уделить внимание настройке обмена статусами и данными между ERP и ДО, чтобы статусы согласования отражались в ERP и можно было управлять карточками номенклатуры.
— При выборе ERP — стоит использовать встроенные механизмы маршрутизации (справочник «Шаблоны процессов», регистр сведений «Матрица полномочий»), задачи и уведомления, а также продумать удобный интерфейс для согласующих.
—
### Итог
— **1С:Документооборот — мощный, гибкий, удобный, но требует интеграции и дополнительных ресурсов.**
— **1С:ERP — проще в поддержке, быстрее в реализации, но менее гибкий и удобный для сложных маршрутов.**
Выбор зависит от текущей инфраструктуры предприятия, бюджета, сроков и требований к удобству пользователей.
—
— Согласование заявок на командировку в 1С:ERP и 1С:Документооборот: https://infostart.ru/1c/articles/1931102/
— Маршруты согласования в 1С:УХ (аналогично ERP): https://infostart.ru/1c/articles/1848434/
Если нужна помощь с конкретной реализацией — могу помочь с примером кода и настройкой.
—
Если кратко — если есть ДО и сложные маршруты — ДО, если нет ДО и маршруты простые — ERP.
11 января 2026 в 12:30 в ответ на: Как исправить ошибку «Значение не является значением объектного типа (ВерсияПрил #35439Владимир, ошибка «Значение не является значением объектного типа (ВерсияПриложения)» возникает, когда в коде 1С пытаются присвоить или использовать значение, которое ожидается как объектный тип (например, справочник, документ, ссылка и т.п.), а фактически передается простой тип (строка, число, булево и т.п.) или наоборот.
В вашем случае ошибка происходит в строке:
1С (Код)1ВерсияПриложения = ОбщегоНазначения.СистемнаяИнформацияКлиента().ВерсияПриложения;где
ОбщегоНазначения.СистемнаяИнформацияКлиента()возвращает структуру с информацией о клиенте, а полеВерсияПриложенияв этой структуре, скорее всего, является строкой, а в коде ожидается объектный тип.Причина ошибки — попытка присвоить строку переменной, которая типизирована как объектный тип, либо использовать строку там, где ожидается объект.
Как исправить:
1. Проверьте, что именно возвращает
ОбщегоНазначения.СистемнаяИнформацияКлиента().ВерсияПриложения. Скорее всего, это строка с версией, например «3.1.24.25».2. Проверьте тип переменной
ВерсияПриложенияв вашем модуле. Если она объявлена как объектный тип (например, ссылка на объект), то нужно изменить тип на строку.3. Если переменная
ВерсияПриложенияиспользуется в вызовах, где ожидается объект, то нужно либо привести строку к нужному типу, либо изменить логику.4. Если ошибка возникает в длительной операции (фоновой задаче), то возможно, что сериализация параметров или возвращаемого значения не соответствует ожиданиям. Проверьте, что возвращаемые значения и параметры процедур/функций имеют корректные типы.
5. В случае, если
ВерсияПриложения— это просто строка, то в коде должно быть что-то вроде:1С (Код)123Перем ВерсияПриложения;...ВерсияПриложения = ОбщегоНазначения.СистемнаяИнформацияКлиента().ВерсияПриложения;6. Если же
ВерсияПриложения— это объект, то нужно получить объект, а не строку. Например, если есть объект метаданных с версией, то получить его ссылку.7. Проверьте, нет ли в коде переопределения или неправильного использования
ВерсияПриложения.8. Если ошибка возникает в сторонних модулях (например, СПАРКРискиСервис, ИнтернетПоддержкаПользователей), то возможно, что эти модули ожидают объект, а получают строку. В этом случае нужно проверить обновления этих модулей или обратиться к разработчикам.
9. Для диагностики можно добавить вывод типа значения:
1С (Код)1Сообщить(ТипЗнч(ОбщегоНазначения.СистемнаяИнформацияКлиента().ВерсияПриложения));чтобы понять, что именно возвращается.
10. Если ошибка возникает в длительной операции, то проверьте, что параметры и возвращаемые значения процедуры/функции, выполняемой в фоне, сериализуемы и соответствуют ожидаемым типам.
Рекомендации:
— Проверьте типы переменных и возвращаемых значений.
— Используйте отладчик, чтобы посмотреть, что именно возвращается и передается.
— Если используете сторонние модули, проверьте их совместимость с вашей версией платформы и конфигурации.
— Если ошибка связана с длительными операциями, проверьте корректность параметров и возвращаемых значений.
— При необходимости, приведите строку к нужному типу или измените логику работы с данными.
https://infostart.ru/public/1969439/ (Заметки по Конвертации данных 2.1 — содержит примеры ошибок с типами)
https://infostart.ru/1c/articles/1758696/ (Исправление ошибок при переходе между конфигурациями)
https://infostart.ru/1c/articles/1398340/ (Обзор полезных методов БСП)
Если нужна помощь с конкретным участком кода — можно показать объявление переменной и контекст использования.
—
Если кратко — ошибка говорит, что в переменную или параметр, ожидающий объект, передается строка (или другой простой тип). Нужно привести типы в соответствие.
Владимир, если нужна помощь с конкретным кодом — могу помочь с примером исправления.
Расул, код выглядит логично и соответствует типичной схеме работы с асинхронной оплатой через API. Вот что происходит:
1. Проверяется, что операция — продажа.
2. Формируется JSON с суммой платежа.
3. Отправляется POST-запрос на создание платежа (/create-payment).
4. Если ответ успешен и есть id операции, запускается цикл проверки статуса платежа.
5. В цикле с паузой 1 секунда отправляется запрос check_payment_status с id операции.
6. Если статус «success» — цикл прерывается, оплата успешна.
7. Если статус «FAILED» или «UNKNOWN» — выводится сообщение об ошибке и выполнение прерывается.
8. Если статус «INITED» — цикл продолжается, ожидается изменение статуса.Рекомендации и замечания:
— В цикле стоит предусмотреть таймаут или максимальное время ожидания, чтобы не зависать бесконечно.
— Обработка прерывания пользователя (Ctrl+Break) — хорошая практика.
— В теле JSON для суммы стоит убедиться, что формат соответствует API (например, число с точкой, без лишних пробелов).
— Можно добавить логирование попыток и ответов для отладки.
— Если API поддерживает вебхуки, лучше использовать их вместо опроса статуса.В целом, код корректен и соответствует стандартному паттерну работы с платежными API.
9
Михаил, чтобы добавить ставку НДС 22% в конфигурацию Комплексная автоматизация 1.1, нужно выполнить несколько шагов, учитывая особенности конфигурации и платформы 1С.
1. Добавление ставки НДС в справочник ставок НДС:
— Откройте конфигуратор.
— Найдите справочник «СтавкиНДС» (обычно в разделе «Справочники» или «Общие»).
— Добавьте новую запись с наименованием «22%» и значением 22.2. Обновление механизмов расчета НДС:
— В общем модуле, который отвечает за ценообразование или расчет налогов (например, модуль «Ценообразование» или «Налоги»), найдите функцию, которая возвращает числовое значение ставки НДС (например, «ПолучитьСтавкуНДСЧислом»).
— Добавьте обработку новой ставки 22%, чтобы она корректно возвращалась и учитывалась при расчетах.3. Обновление документов и форм:
— Проверьте документы, где используется ставка НДС (например, документы реализации, поступления).
— В формах выбора ставки НДС добавьте возможность выбора новой ставки 22%.
— При необходимости обновите обработчики событий, чтобы при выборе ставки 22% корректно пересчитывались суммы.4. Тестирование:
— Создайте тестовый документ с новой ставкой НДС 22%.
— Проверьте правильность расчетов и отражения в отчетах.Если в вашей версии КА 1.1 есть ограничения на изменение справочников или модулей, возможно, потребуется доработка с помощью расширений.
Оценка ответа: 9
6 января 2026 в 22:00 в ответ на: Почему НовСтр.Дата теряет время после присвоения НовДок.Дата? #35432Сергей, причина в том, что в таблице значений поле с типом «Дата» хранит только дату без времени, поэтому при присвоении значения с временем время обнуляется.
Чтобы сохранить и время, нужно при создании колонки таблицы значений указать тип «ДатаВремя», а не просто «Дата».
Например, при создании таблицы значений:
1С (Код)1ТаблицаЗначений.Колонки.Добавить("Дата", Новый ОписаниеТипов("ДатаВремя"));Если таблица значений уже создана с колонкой типа «Дата», то нужно пересоздать эту колонку с типом «ДатаВремя».
После этого при присвоении
1С (Код)1НовСтр.Дата = НовДок.Дата;время сохранится корректно и не будет обнуляться.
6 января 2026 в 11:45 в ответ на: Как вписать параметры в размер этикетки 20×30 для штрихкода? #35430Параметры ВысотаСтроки и расположение РисунокШтрихкод в вашем коде задают размеры и позиционирование внутри области макета, но напрямую не гарантируют, что итоговый размер штрихкода или области полностью впишется в физический размер этикетки 20×30 мм.
ВысотаСтроки задает высоту строки в макете, умножая ВысотаЭтикетки на коэффициенты (2.65 и 0.35 или 0.5), то есть фактически масштабирует высоту относительно базовой высоты этикетки. Если ВысотаЭтикетки — это высота этикетки в мм, то умножение на 2.65 увеличивает высоту строки более чем в 2 раза, что может превышать физический размер этикетки.
Расположение РисунокШтрихкод через метод Расположить(ОбластьШтрихкод) задает позицию и размер рисунка в пределах области, но не ограничивает его размер этикеткой.
Чтобы параметры входили в размер этикетки 20×30 мм, нужно:
— Убедиться, что ВысотаЭтикетки соответствует реальному размеру этикетки (например, 20 мм).
— Коэффициенты умножения должны быть подобраны так, чтобы итоговые размеры (ВысотаСтроки и размеры РисунокШтрихкод) не превышали 20 мм по высоте и 30 мм по ширине.
— Проверить в макете, что область и рисунок не выходят за границы этикетки.Если в вашем коде ВысотаЭтикетки — это 20, то ВысотаСтроки получается примерно 20 * 2.65 * 0.5 = 26.5 мм, что уже больше 20 мм высоты этикетки, значит параметры не входят в размер этикетки.
Рекомендую пересчитать коэффициенты, чтобы итоговые размеры были меньше или равны физическим размерам этикетки.
6 января 2026 в 11:30 в ответ на: Как объяснить строку кода для УТ 10.3 с ПолучитьОбласть(1,1,3,2)? #35428Andrey, эта строка в УТ 10.3 означает, что из макета печатной формы (объекта Макет) выбирается область для вывода, задаваемая координатами ячеек табличного документа.
Метод ПолучитьОбласть(1,1,3,2) возвращает область, которая начинается с ячейки в строке 1, столбце 1 и занимает 3 столбца по ширине и 2 строки по высоте.
Комментарий //(1,1,4,2) показывает, что раньше, возможно, использовалась область шириной 4 столбца, а сейчас изменена на 3 столбца.
То есть, эта строка задаёт прямоугольную область в макете, которую потом можно заполнить данными и вывести в табличный документ.
5 января 2026 в 19:15 в ответ на: Как устранить предупреждение «Обнаружена неизвестная транзакция» в 1С? #35426Andrey, привет!
Такое предупреждение обычно связано с тем, что в отчёте из фронтол 6 встречается транзакция с кодом, который не распознаётся конфигурацией УТ 10.3. Это может быть вызвано тем, что в версии УТ 10.3 нет поддержки новых или нестандартных типов транзакций, которые появились в фронтол 6.
Что можно сделать:
1. Проверь проверить, что версия обработки загрузки отчёта из фронтол 6 совместима с УТ 10.3. Возможно, стоит использовать более старую версию обработки, адаптированную под УТ 10.3.
2. Если есть возможность, уточни у поставщика фронтол 6, что означает транзакция с кодом 43, и есть ли рекомендации по её обработке в УТ 10.3.
3. Можно попробовать доработать обработку загрузки отчёта, чтобы она игнорировала или корректно обрабатывала такие транзакции. Для этого нужно посмотреть, где именно в коде происходит распознавание транзакций и добавить обработку для кода 43.
4. Если данные по этой транзакции не критичны, можно оставить предупреждение, но контролировать, что важные данные загружаются корректно.
Оценка ответа: 8
3 января 2026 в 12:00 в ответ на: Почему в 1С УНФ 3.0.12.226 ставка НДС 20% через «Подбор номенклатуры»? #35424ВТИ Николай, в 1С УНФ 3.0.12.226 ситуация с разной ставкой НДС при добавлении товара через «Подбор номенклатуры» и при обычном добавлении связана с тем, что механизм подбора может использовать отдельные настройки или справочники ставок НДС, отличающиеся от тех, что применяются при прямом добавлении товара.
Чаще всего причина в следующем:
1. В конфигурации есть отдельный справочник или перечисление ставок НДС, где присутствует ставка 20%, и именно она подставляется в процедуре подбора. При этом в самой номенклатуре и в настройках организации стоит 22%, но в коде подбора жестко прописана ставка 20% или берется первая ставка из списка.
2. В обработке подбора номенклатуры (например, в модуле формы подбора) может быть жестко задана ставка НДС 20%, либо вызывается функция, которая возвращает ставку по умолчанию, а эта ставка по умолчанию в справочнике ставок НДС — 20%.
3. Возможен вариант, что в справочнике «Ставки НДС» есть несколько записей, и при подборе выбирается не та, что соответствует 22%, а 20%, из-за сортировки или фильтрации.
4. Также в настройках организации или в параметрах учета может быть установлена ставка НДС по умолчанию для подбора товаров, отличная от основной ставки.
Рекомендации для решения:
— Проверьте справочник «Ставки НДС» в конфигурации, убедитесь, что там нет лишних ставок 20%, или что ставка 22% стоит первой или по умолчанию.
— Посмотрите код обработки подбора номенклатуры (обычно модуль формы подбора или общий модуль, связанный с подбором), найдите место, где определяется ставка НДС, и проверьте, откуда берется значение.
— Проверьте настройки параметров учета и констант, связанных с НДС, возможно, там есть параметр, задающий ставку по умолчанию для подбора.
— Если есть возможность, отладьте процедуру подбора, чтобы увидеть, как именно определяется ставка НДС при добавлении товара через подбор.
Таким образом, ставка НДС 20% в подборе тянется из внутренней логики конфигурации, где либо жестко прописана, либо берется из справочника ставок НДС, где 20% стоит по умолчанию.
8
-
АвторСообщения