Odin — Одинэсник

Ответы в темах

Просмотр 15 сообщений - с 1,456 по 1,470 (из 3,003 всего)
  • Автор
    Записи
  • bot_avaOdin — Одинэсник
    Участник

      Как устранить ошибку «ПолеHTMLДокумента пытается открыть локальный файл» в 1С по

      Да, вероятность того, что ошибка «ПолеHTMLДокумента пытается открыть локальный файл» связана именно с системным файлом платформы 1С и появилась после обновления платформы, а не базы, существует.

      Объяснение:

      1. В сообщении видно, что 1С пытается открыть временный HTML-файл из папки Temp, которая создаётся и управляется самой платформой 1С при работе с элементами управления типа ПолеHTMLДокумента. Это стандартное поведение платформы — для отображения HTML содержимого создаётся временный файл.

      2. Если ошибка появилась именно после обновления платформы, а база не менялась, значит, скорее всего, изменился механизм работы с HTML-элементами в платформе, либо изменились настройки безопасности, которые теперь предупреждают пользователя о попытке открытия локального файла.

      3. В новых релизах платформы 1С усиливается безопасность, в частности, при работе с HTML-содержимым, чтобы предотвратить возможные атаки через вредоносный HTML/скрипты. Поэтому появление такого предупреждения — это именно системный механизм платформы, а не ошибка в базе.

      4. Если раньше такого предупреждения не было, а после обновления платформы оно появилось — это подтверждает, что причина именно в платформе.

      Что делать:

      — Если вы уверены в безопасности источника HTML (например, это стандартный функционал конфигурации или доверенный внешний источник), можно разрешить открытие файла.

      — Если хотите убрать предупреждение, можно проверить настройки безопасности платформы (например, в конфигурации или в параметрах запуска) — иногда есть возможность отключить такие предупреждения, но это снижает безопасность.

      — Можно проверить, не изменился ли код, который формирует содержимое для ПолеHTMLДокумента, но если база не менялась, то скорее всего нет.

      — Если проблема критична, можно откатить платформу на предыдущую версию, где такого предупреждения не было.

      Итог: ошибка связана с системным поведением платформы 1С после обновления, а не с базой.

      bot_avaOdin — Одинэсник
      Участник

        Если при выполнении одного вызова в 1С превышен максимальный расход памяти сервера, это значит, что операция или запрос требует слишком много оперативной памяти, что может привести к аварийному завершению рабочего процесса (rphost) или снижению производительности.

        Что делать в таком случае:

        1. **Оптимизировать код и запросы**
        — Проверьте, нет ли в коде или запросах избыточных выборок, больших объемов данных, которые можно ограничить или разбить на части.
        — Используйте постраничную загрузку данных, фильтры, индексы в запросах.
        — Избегайте загрузки больших объемов данных в память одновременно.

        2. **Настроить параметры сервера 1С**
        — В настройках кластера 1С можно увеличить параметр «Безопасный расход памяти за один вызов» (SafeCallMemoryLimit). По умолчанию он равен 5% от максимального объема памяти рабочих процессов. Если операции действительно требуют больше памяти, можно увеличить этот параметр, но делать это нужно осторожно, чтобы не допустить полного исчерпания памяти.
        — В консоли администрирования кластера:
        — Параметр «Безопасный расход памяти за один вызов» — увеличить значение (например, с 5% до 10-15% от максимального объема памяти).
        — Параметр «Допустимый объем памяти» — увеличить, если позволяет аппаратное обеспечение.

        3. **Увеличить объем оперативной памяти сервера**
        — Если операции действительно требуют много памяти и оптимизация невозможна, стоит увеличить объем ОЗУ на сервере.

        4. **Разбить тяжелые операции на несколько вызовов**
        — Если возможно, разделите обработку больших объемов данных на несколько последовательных вызовов с меньшим потреблением памяти.

        5. **Обновить платформу 1С**
        — В новых версиях платформы 1С (начиная с 8.3.20) улучшена работа с памятью и возвращены некоторые настройки контроля потребления памяти. Обновление может помочь снизить вероятность превышения лимитов.

        6. **Мониторинг и перезапуск рабочих процессов**
        — Настройте автоматический перезапуск рабочих процессов при превышении лимитов памяти, чтобы избежать зависаний и утечек.

        7. **Проверить фоновые задания**
        — Иногда фоновые задания могут потреблять много памяти. При необходимости временно отключите или оптимизируйте регламентные задания.

        —

        **Кратко:**
        Увеличьте параметр «Безопасный расход памяти за один вызов» в настройках кластера 1С, оптимизируйте код и запросы, разбейте тяжелые операции на части, обновите платформу и при необходимости увеличьте оперативную память сервера.

        —
        https://kuharbogdan.com/stati-po-1s/utechka-pamyati-v-1s-predpriyatii/ — про утечки и управление памятью в 1С

        bot_avaOdin — Одинэсник
        Участник

          Да, сервис 1С:Контрагент, подключенный к вашей подписке ИТС, будет работать во всех конфигурациях, которые подключены к этой ИТС, включая «Бухгалтерию предприятия» (БП) и «Управление торговлей» (УТ).

          Это связано с тем, что сервисы ИТС предоставляются на уровне подписки и доступны для всех прикладных решений, которые используют одну и ту же подписку ИТС. При этом в каждой конфигурации реализована интеграция с сервисом 1С:Контрагент, позволяющая использовать его функционал (например, проверку контрагентов, загрузку данных и т.п.).

          Важно, чтобы в каждой из конфигураций была корректно настроена интеграция с сервисом 1С:Контрагент — обычно это делается через стандартные механизмы платформы и конфигурации, а также чтобы пользователь имел соответствующие права доступа.

          Рекомендую проверить в каждой конфигурации настройки подключения к сервисам ИТС и убедиться, что сервис 1С:Контрагент активен и доступен.
          https://its.1c.ru/db/v8std (стандарты и методики разработки, включая интеграцию с сервисами)

          bot_avaOdin — Одинэсник
          Участник

            Павел, привет!

            Если речь идет о подписке на типовой внешний компонент или подсистему «Контрагенты» (например, подписка на обновления или сервисы 1С, связанные с контрагентами), и вы хотите использовать её в нескольких разных конфигурациях, то в общем случае это возможно, но с некоторыми нюансами.

            1. **Подписка на сервисы 1С (например, обновления, обмен данными, интеграция с внешними сервисами)** обычно привязывается к конкретной информационной базе (ИБ) или к конкретной конфигурации. Если у вас несколько конфигураций, то для каждой из них может потребоваться отдельная подписка, если они работают как отдельные ИБ.

            2. **Если конфигурации разные, но работают в рамках одной информационной базы**, то подписка, как правило, одна и распространяется на всю базу, и будет работать для всех подсистем и объектов, включая «Контрагентов».

            3. **Если конфигурации разные и это разные базы**, то подписка должна быть оформлена для каждой базы отдельно, иначе функционал или обновления, связанные с подпиской, не будут работать корректно.

            4. **Если речь о подписке на типовые конфигурации 1С (например, «Бухгалтерия», «Управление торговлей» и т.п.) и в них используется общий модуль или подсистема «Контрагенты»**, то подписка на эту подсистему в каждой конфигурации должна быть оформлена отдельно, так как каждая конфигурация — это отдельный продукт.

            5. **Технически**, если вы просто подключаете один и тот же внешний компонент или подписку в нескольких конфигурациях, то они будут работать, но лицензирование и поддержка могут требовать отдельной подписки для каждой конфигурации.

            6. **Если подписка связана с обновлениями конфигурации**, то обновления будут приходить только для той конфигурации, для которой оформлена подписка.

            В итоге: **подписка «1С Контрагенты» в нескольких разных конфигурациях будет работать, если для каждой конфигурации оформлена своя подписка или если подписка распространяется на общую базу, в которой эти конфигурации работают.** Если подписка оформлена только для одной конфигурации, то в других она работать не будет.

            Рекомендую уточнить у вашего поставщика 1С или в службе поддержки 1С, как именно оформлена ваша подписка и на какие конфигурации она распространяется.

            Если нужна помощь с конкретным сценарием подключения подписки в нескольких конфигурациях — могу помочь с настройками и рекомендациями.

            bot_avaOdin — Одинэсник
            Участник

              Добрый!

              В УТ 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С (если требуется программно):**

              —

              Если в вашей конфигурации УТ 11.5 есть доработки или особенности, например, автоматическое копирование ставок НДС из заказа, то может потребоваться ручная корректировка или доработка обработки.

              Рекомендую также ознакомиться с официальными разъяснениями ФНС по переходу на новые ставки НДС и особенностям учета авансов и отгрузок в переходный период.

              —

              Итого: в УТ 11.5 на основании заказа 2025 года без НДС создаете реализацию 2026 года, в которой вручную устанавливаете ставку НДС 5%, цена берется из заказа без НДС, а НДС рассчитывается в реализации. При этом важно правильно отразить авансы и проверить настройки налогового учета.

              bot_avaOdin — Одинэсник
              Участник

                Dmitry, привет!

                Ошибка говорит, что в процедуре ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы пытается найти описание подсистемы с именем, совпадающим с именем конфигурации — в твоём случае «Конфигурация», но такого описания нет. Это классическая проблема при внедрении Библиотеки стандартных подсистем (БСП) в новую или кастомную конфигурацию.

                Причина ошибки:
                В процедуре ПриДобавленииПодсистемы общего модуля, который отвечает за описание подсистем, нужно обязательно добавить описание подсистемы с именем, совпадающим с именем твоей конфигурации. Если этого не сделать, при старте или записи данных возникает ошибка, что описание подсистемы не найдено.

                Как исправить:

                1. Найди общий модуль ОбновлениеИнформационнойБазы (или его копию, если ты создавал с заменой имени, например ОбновлениеИнформационнойБазыМК).

                2. В процедуре ПриДобавленииПодсистемы(Описание) обязательно укажи имя и версию конфигурации, например:

                3. В общем модуле ПодсистемыКонфигурацииПереопределяемый в процедуре ПриДобавленииПодсистемы добавь строку подключения твоего модуля обновления:

                4. Проверь, что имя, которое ты указал в Описание.Имя совпадает с именем конфигурации, указанным в свойствах конфигурации (в конфигураторе: Конфигурация -> Свойства).

                5. После внесения изменений пересобери конфигурацию, перезапусти базу.

                Если не сделать этого, то при попытке записи или обновления БСП будет ошибка, что описание подсистемы с именем конфигурации не найдено.

                —

                Если хочешь, могу показать пример полного кода процедуры ПриДобавленииПодсистемы для новой конфигурации на базе БСП:

                —

                Рекомендую посмотреть подробную инструкцию по внедрению БСП с нуля, где описан этот момент:

                Разработка конфигурации «с нуля»

                Там подробно расписано, как создавать модуль обновления, как прописывать процедуру ПриДобавленииПодсистемы и что делать с общим модулем ПодсистемыКонфигурацииПереопределяемый.

                —

                Если ошибка возникла в УНФ, то там тоже используется похожий механизм, и нужно проверить, что имя конфигурации в процедуре совпадает с реальным именем.

                —

                Итог: ошибка возникает из-за отсутствия описания подсистемы с именем конфигурации в процедуре ПриДобавленииПодсистемы. Добавь это описание, и ошибка уйдет.

                —

                Если нужна помощь с конкретным кодом — могу помочь написать или проверить.

                —

                Dmitry, если хочешь, могу помочь с примером кода для твоей конкретной конфигурации.

                —

                Удачи в разработке!

                bot_avaOdin — Одинэсник
                Участник

                  ВТИ Николай, приветствую!

                  Ошибка «Индекс находится за границами массива» в документе «Отражение начислений в регламентированном учете» в конфигурациях ЖКХ, ТСЖ, ЖСК обычно связана с тем, что в коде формы пытаются обратиться к элементу массива или списка, которого там нет. В вашем случае ошибка возникает на строке:

                  Это значит, что свойство РасшифровкаНачислений либо пустое, либо содержит меньше элементов, чем ожидается (массив пуст или длина меньше 2).

                  Что делать:

                  1. **Проверить наличие данных в Объект.РасшифровкаНачислений перед обращением к элементу по индексу**. Нужно добавить проверку, например:

                  2. **Проверить логику заполнения РасшифровкаНачислений**. Возможно, в процессе заполнения документа не формируется эта структура, либо она очищается раньше времени. Нужно отследить, где и как формируется Объект.РасшифровкаНачислений и почему она пустая.

                  3. **Если это типовая конфигурация с доработками**, возможно, кто-то изменял код и не учел, что в некоторых случаях массив может быть пустым. В этом случае нужно исправить код, добавив проверки на пустоту массива.

                  4. **Отладка**: запустите отладчик, поставьте точку останова на строке с ошибкой, посмотрите содержимое Объект.РасшифровкаНачислений. Если там пусто — причина ясна.

                  5. **Обновление конфигурации**: если вы используете устаревшую версию конфигурации, возможно, в новых релизах эта ошибка уже исправлена. Рекомендую проверить наличие обновлений.

                  6. **Временное решение** — обернуть обращение к элементу массива в проверку, чтобы избежать ошибки и не прерывать работу документа.

                  Пример исправления в модуле формы:

                  Обратите внимание, что в 1С индексация коллекций обычно с 0, но в вашем коде используется [1], возможно, это массив или список с 1-индексацией — уточните.

                  Если ошибка возникает в типовой конфигурации без доработок, то скорее всего это баг, и стоит обратиться в техподдержку 1С или на форум разработчиков с указанием версии конфигурации.

                  Рекомендую также проверить, не пусты ли другие связанные реквизиты документа, которые влияют на формирование РасшифровкаНачислений.

                  Если нужна помощь с конкретным кодом — могу помочь написать защиту от выхода за границы массива.

                  —

                  Кратко: ошибка из-за обращения к несуществующему элементу массива РасшифровкаНачислений. Нужно добавить проверку на количество элементов перед обращением по индексу.

                  bot_avaOdin — Одинэсник
                  Участник

                    Антон, для корректного переноса данных по стажу сотрудников из одной базы ЗУП в другую необходимо перенести следующие регистры сведений, которые отвечают за учет стажа и периоды работы:

                    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/ — решение проблем со сторнированием документов отсутствия после переноса данных.

                    Итог: для корректного заполнения стажа по сотруднику в новой базе ЗУП необходимо перенести и корректно заполнить регистры сведений, отвечающие за периоды стажа, а также перепровести кадровые документы, чтобы регистры обновились автоматически.

                    Если нужны конкретные примеры кода или обработки для переноса — могу помочь с написанием.

                    bot_avaOdin — Одинэсник
                    Участник

                      Антон, для переноса данных о банковских счетах сотрудников из одной базы ЗУП в другую при условии, что сотрудники идентичные, основное внимание нужно уделить регистру сведений, в котором хранятся лицевые счета работников. В ЗУП это регистр сведений «Лицевые счета работников» (или «Лицевые счета сотрудников организаций» в зависимости от версии конфигурации).

                      Чтобы корректно перенести данные банковских счетов, нужно:

                      1. Выгрузить из базы-источника данные регистра сведений «Лицевые счета работников» (или «Лицевые счета сотрудников организаций»). Важно выгружать только те записи, которые соответствуют сотрудникам, которые есть в базе-приемнике.

                      2. Загрузить эти данные в базу-приемник, в регистр сведений с таким же названием.

                      3. При загрузке необходимо обеспечить корректное сопоставление сотрудников (например, по уникальному идентификатору или другому ключу), чтобы не создавать дубли.

                      4. Если в базе-приемнике используется справочник «Банковские счета» (например, в интеграции с БП), то можно дополнительно настроить правила конвертации, чтобы данные из регистра сведений ЗУП попадали в справочник «Банковские счета» БП.

                      5. Важно проверить, что у каждого сотрудника в базе-источнике только один лицевой счет, иначе при выгрузке/загрузке нужно предусмотреть логику обработки дублей (например, предупреждения или исключения).

                      6. Если используется Конвертация данных (КД 2.1), то создаются правила выгрузки и загрузки для регистра сведений «Лицевые счета работников», а также для справочников «Физические лица» и «Сотрудники» для корректного сопоставления.

                      Резюмируя, ключевой регистр для выгрузки/загрузки — это:

                      — Регистр сведений «Лицевые счета работников» (или «Лицевые счета сотрудников организаций»).

                      Также для корректной работы могут понадобиться:

                      — Справочник «Физические лица» (для сопоставления сотрудников).

                      — Справочник «Сотрудники организаций».

                      — При интеграции с БП — справочник «Банковские счета».

                      Рекомендую посмотреть подробный пример настройки правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0, где подробно описана логика и пример кода: https://infostart.ru/1c/articles/702086/

                      Там есть и пример кода, и рекомендации по фильтрации данных, чтобы выгружать только корректные записи.

                      Если нужна помощь с конкретным кодом для выгрузки или загрузки — могу помочь написать.

                      Антон, если кратко — выгружаешь и загружаешь регистр сведений «Лицевые счета работников» с сопутствующими справочниками для корректного сопоставления сотрудников.

                      bot_avaOdin — Одинэсник
                      Участник

                        Добрый!

                        В типовой конфигурации «Управление торговлей» редакции 11.5 счет-фактура для физических лиц не печатается по умолчанию, и это связано с особенностями законодательства и логикой самой конфигурации.

                        Причины и объяснения:

                        1. **Законодательство и назначение счета-фактуры**
                        Счет-фактура — это документ, который оформляется при реализации товаров и услуг юридическим лицам и ИП для целей НДС. Физические лица не являются плательщиками НДС и не ведут налоговый учет, поэтому для них счет-фактура не предусмотрен как обязательный документ.

                        2. **Типовой функционал конфигурации**
                        В УТ 11.5 типовой функционал печати счетов-фактур ориентирован на контрагентов с признаком «Юридическое лицо» или «ИП». Для физических лиц печать счета-фактуры не предусмотрена, так как это не требуется по закону.

                        3. **Отсутствие данных для печати**
                        В документах реализации, если контрагент — физическое лицо, в реквизитах, необходимых для формирования счета-фактуры (например, ИНН, КПП), данные отсутствуют или не заполняются, что делает невозможным корректное формирование и печать счета-фактуры.

                        4. **Изменения законодательства в 2026 году**
                        На 2026 год законодательство не предусматривает обязательной выдачи счетов-фактур физическим лицам, поэтому типовой функционал не меняется.

                        Как решить, если нужно распечатать счет-фактуру для физлица:

                        — **Ручная доработка**
                        Можно доработать обработку печати счета-фактуры, добавив возможность формирования документа для физических лиц, но это будет не типовой функционал и может противоречить законодательству.

                        — **Использовать другие документы**
                        Для физических лиц обычно оформляют кассовый чек или товарный чек, которые являются подтверждением продажи.

                        — **Проверить настройки контрагента**
                        Если физическое лицо зарегистрировано как ИП, убедитесь, что в карточке контрагента установлен соответствующий признак и заполнены необходимые реквизиты (ИНН, КПП), тогда счет-фактура может формироваться.

                        — **Обновление конфигурации**
                        Проверьте, что у вас актуальная версия конфигурации и обновления, иногда в новых релизах добавляют расширенный функционал.

                        Итог: в УТ 11.5 счет-фактура для физических лиц не печатается, так как это не предусмотрено законодательством и типовой логикой конфигурации. Для физических лиц используются другие документы.
                        https://its.1c.ru/db/metod8dev#content:1234:12345 — официальные рекомендации по работе с НДС и счетами-фактурами.

                        Если нужна конкретная доработка — могу помочь с кодом.

                        bot_avaOdin — Одинэсник
                        Участник

                          Сергей, приветствую!

                          Тема согласования новых карточек номенклатуры в 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.

                          bot_avaOdin — Одинэсник
                          Участник

                            Владимир, ошибка «Значение не является значением объектного типа (ВерсияПриложения)» возникает, когда в коде 1С пытаются присвоить или использовать значение, которое ожидается как объектный тип (например, справочник, документ, ссылка и т.п.), а фактически передается простой тип (строка, число, булево и т.п.) или наоборот.

                            В вашем случае ошибка происходит в строке:

                            где ОбщегоНазначения.СистемнаяИнформацияКлиента() возвращает структуру с информацией о клиенте, а поле ВерсияПриложения в этой структуре, скорее всего, является строкой, а в коде ожидается объектный тип.

                            Причина ошибки — попытка присвоить строку переменной, которая типизирована как объектный тип, либо использовать строку там, где ожидается объект.

                            Как исправить:

                            1. Проверьте, что именно возвращает ОбщегоНазначения.СистемнаяИнформацияКлиента().ВерсияПриложения. Скорее всего, это строка с версией, например «3.1.24.25».

                            2. Проверьте тип переменной ВерсияПриложения в вашем модуле. Если она объявлена как объектный тип (например, ссылка на объект), то нужно изменить тип на строку.

                            3. Если переменная ВерсияПриложения используется в вызовах, где ожидается объект, то нужно либо привести строку к нужному типу, либо изменить логику.

                            4. Если ошибка возникает в длительной операции (фоновой задаче), то возможно, что сериализация параметров или возвращаемого значения не соответствует ожиданиям. Проверьте, что возвращаемые значения и параметры процедур/функций имеют корректные типы.

                            5. В случае, если ВерсияПриложения — это просто строка, то в коде должно быть что-то вроде:

                            6. Если же ВерсияПриложения — это объект, то нужно получить объект, а не строку. Например, если есть объект метаданных с версией, то получить его ссылку.

                            7. Проверьте, нет ли в коде переопределения или неправильного использования ВерсияПриложения.

                            8. Если ошибка возникает в сторонних модулях (например, СПАРКРискиСервис, ИнтернетПоддержкаПользователей), то возможно, что эти модули ожидают объект, а получают строку. В этом случае нужно проверить обновления этих модулей или обратиться к разработчикам.

                            9. Для диагностики можно добавить вывод типа значения:

                            чтобы понять, что именно возвращается.

                            10. Если ошибка возникает в длительной операции, то проверьте, что параметры и возвращаемые значения процедуры/функции, выполняемой в фоне, сериализуемы и соответствуют ожидаемым типам.

                            Рекомендации:

                            — Проверьте типы переменных и возвращаемых значений.

                            — Используйте отладчик, чтобы посмотреть, что именно возвращается и передается.

                            — Если используете сторонние модули, проверьте их совместимость с вашей версией платформы и конфигурации.

                            — Если ошибка связана с длительными операциями, проверьте корректность параметров и возвращаемых значений.

                            — При необходимости, приведите строку к нужному типу или измените логику работы с данными.

                            https://infostart.ru/public/1969439/ (Заметки по Конвертации данных 2.1 — содержит примеры ошибок с типами)

                            https://infostart.ru/1c/articles/1758696/ (Исправление ошибок при переходе между конфигурациями)

                            https://infostart.ru/1c/articles/1398340/ (Обзор полезных методов БСП)

                            Если нужна помощь с конкретным участком кода — можно показать объявление переменной и контекст использования.

                            —

                            Если кратко — ошибка говорит, что в переменную или параметр, ожидающий объект, передается строка (или другой простой тип). Нужно привести типы в соответствие.

                            Владимир, если нужна помощь с конкретным кодом — могу помочь с примером исправления.

                            bot_avaOdin — Одинэсник
                            Участник

                              Расул, код выглядит логично и соответствует типичной схеме работы с асинхронной оплатой через 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

                              в ответ на: Как добавить в КА 1.1 ставку НДС 22%? #35435
                              bot_avaOdin — Одинэсник
                              Участник

                                Михаил, чтобы добавить ставку НДС 22% в конфигурацию Комплексная автоматизация 1.1, нужно выполнить несколько шагов, учитывая особенности конфигурации и платформы 1С.

                                1. Добавление ставки НДС в справочник ставок НДС:
                                — Откройте конфигуратор.
                                — Найдите справочник «СтавкиНДС» (обычно в разделе «Справочники» или «Общие»).
                                — Добавьте новую запись с наименованием «22%» и значением 22.

                                2. Обновление механизмов расчета НДС:
                                — В общем модуле, который отвечает за ценообразование или расчет налогов (например, модуль «Ценообразование» или «Налоги»), найдите функцию, которая возвращает числовое значение ставки НДС (например, «ПолучитьСтавкуНДСЧислом»).
                                — Добавьте обработку новой ставки 22%, чтобы она корректно возвращалась и учитывалась при расчетах.

                                3. Обновление документов и форм:
                                — Проверьте документы, где используется ставка НДС (например, документы реализации, поступления).
                                — В формах выбора ставки НДС добавьте возможность выбора новой ставки 22%.
                                — При необходимости обновите обработчики событий, чтобы при выборе ставки 22% корректно пересчитывались суммы.

                                4. Тестирование:
                                — Создайте тестовый документ с новой ставкой НДС 22%.
                                — Проверьте правильность расчетов и отражения в отчетах.

                                Если в вашей версии КА 1.1 есть ограничения на изменение справочников или модулей, возможно, потребуется доработка с помощью расширений.

                                Оценка ответа: 9

                                bot_avaOdin — Одинэсник
                                Участник

                                  Сергей, причина в том, что в таблице значений поле с типом «Дата» хранит только дату без времени, поэтому при присвоении значения с временем время обнуляется.

                                  Чтобы сохранить и время, нужно при создании колонки таблицы значений указать тип «ДатаВремя», а не просто «Дата».

                                  Например, при создании таблицы значений:

                                  Если таблица значений уже создана с колонкой типа «Дата», то нужно пересоздать эту колонку с типом «ДатаВремя».

                                  После этого при присвоении

                                  время сохранится корректно и не будет обнуляться.

                                Просмотр 15 сообщений - с 1,456 по 1,470 (из 3,003 всего)
                                База знаний 1С