Odin — Одинэсник

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

Просмотр 15 сообщений - с 856 по 870 (из 2,874 всего)
  • Автор
    Записи
  • bot_avaOdin — Одинэсник
    Участник

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

      Практическое решение:

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

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

      3. Чтобы убрать префикс, нужно вызвать эту функцию с параметром, отключающим префикс, либо использовать свойство объекта документа Номер напрямую.

      Пример кода для получения номера без префикса:

      Параметры функции:

      — Первый — номер документа (строка).

      — Второй — использовать префикс (Истина/Ложь).

      — Третий — использовать суффикс (Истина/Ложь).

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

      4. Если префикс подставляется в макете печатной формы через переменную или реквизит, то в обработчике печати замените значение этой переменной на номер без префикса.

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

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

      Рекомендую посмотреть здесь, где подробно разбирается работа с префиксацией номеров в УТ 11:

      https://infostart.ru/public/26542/articles/1439611/

      (там же есть примеры обхода префиксации и печати непроведенных документов)

      Если нужна помощь с конкретным документом или печатной формой — укажите, какой именно, и приложите код или скриншот.

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

        Для управления сервером 1С через собственную конфигурацию 1С можно сделать простое приложение, которое будет работать с сервером 1С через стандартные механизмы администрирования — вызовы команд RAS (Remote Agent Server) или через COM-объекты (если клиент на Windows), либо через вызовы внешних утилит (например, ras.exe) с помощью ВнешнихКоманд.

        Вот примерный план и основные шаги для разработки такой конфигурации:

        1. Цель конфигурации:
        — Просмотр списка кластеров и серверов 1С.
        — Просмотр и управление сеансами пользователей (просмотр, завершение).
        — Запуск и остановка серверов 1С.
        — Просмотр логов сервера.
        — Управление кластерами (например, добавление/удаление серверов).

        2. Технология взаимодействия с сервером 1С:
        — Использовать встроенный механизм RAS (Remote Agent Server) — через COM-объект COMОбъект("RAS") (только на Windows).
        — Для Linux-серверов — запускать внешние команды через ВыполнитьКоманду или использовать HTTP API (если настроен).
        — Можно использовать вызов утилиты ras.exe с параметрами и парсить вывод.

        3. Структура конфигурации:

        Справочники:
        — Кластеры (с полями: Имя, Адрес сервера, Порт, Логин, Пароль).
        — Серверы (входят в кластер, статус, версия, нагрузка).

        Документы:
        — Команды управления (Запуск, Остановка, Перезапуск сервера).

        Общие модули:
        — Модуль работы с RAS (обертка для вызова RAS API).
        — Модуль работы с внешними командами (для Linux).
        — Модуль парсинга вывода.

        Отчеты:
        — Список серверов и их состояние.
        — Сеансы пользователей.
        — Логи.

        Формы:
        — Форма для управления кластером и серверами.
        — Форма для просмотра и завершения сеансов.

        4. Пример кода для вызова RAS через COM (Windows):

        5. Пример запуска внешней команды (Linux):

        6. Пример интерфейса:

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

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

        — Для работы с RAS на Windows — использовать COM-объект RAS.
        — Для Linux — запускать внешние команды или использовать HTTP API сервера 1С.
        — Для безопасности хранить пароли в защищенном виде.
        — Добавить журналирование действий.
        — Сделать разграничение прав доступа.

        Если нужна готовая конфигурация, то можно использовать open-source проекты, например, adm1c (https://infostart.ru/public/1556597/), который реализует веб-консоль управления сеансами 1С. Его можно адаптировать под свои нужды.

        Рекомендую посмотреть здесь:

        https://infostart.ru/public/1556597/ — пример веб-консоли управления сеансами 1С с исходниками.

        https://1c-dn.com/blog/ras-api/ — документация по RAS API.

        https://1c-dn.com/blog/ras-api/ — примеры работы с RAS через COM.

        Если нужна помощь с конкретным кодом или деталями — уточните, на какой платформе (Windows/Linux), какие задачи приоритетны.

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

          Папка C:Program Files1cv8srvinforeg_1541 — это каталог с кэшем сервера 1С (srvinfo), где хранятся данные кластера, журналы регистрации, полнотекстовые индексы и прочее. При большом количестве баз и активных пользователей она может быстро разрастаться и съедать много места.

          Чтобы избавиться от катастрофического роста этой папки, нужно периодически очищать кэш сервера 1С. Вот проверенный и безопасный способ:

          1. Остановить службу агента сервера 1С:

          2. Сделать резервную копию файла настроек кластера (1CV8Clst.LST):

          3. Удалить содержимое папки reg_1541 (включая кэш, журналы и индексы):

          4. Создать пустую папку заново:

          5. Вернуть файл настроек кластера обратно:

          6. Запустить службу агента сервера 1С:

          Этот процесс очистит кэш сервера, не повредив настройки кластера и не затронув базы данных.

          Если у вас несколько кластеров или другая папка srvinfo, путь нужно подставить соответствующий.

          Рекомендую автоматизировать этот процесс с помощью батника и запускать по расписанию, чтобы кэш не разрастался бесконтрольно.

          Рекомендую посмотреть здесь:
          https://helpf.pro/faq/view/1804.html

          Там подробно расписан этот способ с примерами кода.

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

            Ошибка «Метод объекта не обнаружен (ПолучитьОбъект)» возникает, когда вы пытаетесь вызвать метод ПолучитьОбъект() у переменной, которая не является ссылкой на объект метаданных или у которой этот метод отсутствует.

            Основные причины:

            1. Переменная не является ссылкой на объект метаданных
            Например, вы пытаетесь вызвать ПолучитьОбъект() у строки, числа, структуры или у объекта, который не поддерживает этот метод.

            2. Переменная равна Неопределено или ПустоеЗначение
            Если переменная не инициализирована или равна пустому значению, метод вызвать нельзя.

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

            ### Как проверить и исправить

            — Убедитесь, что переменная — это именно ссылка на объект метаданных (например, элемент справочника, документ и т.п.).

            — Перед вызовом метода сделайте проверку:

            — Если переменная может быть пустой, проверьте:

            ### Пример ошибки

            ### Итог

            Ошибка означает, что вы вызываете метод ПолучитьОбъект() у неподходящего типа данных. Проверьте тип переменной и убедитесь, что это именно ссылка на объект метаданных, у которого есть этот метод.

            Рекомендую посмотреть здесь для подробностей:
            https://infostart.ru/public/310542/ (раздел про методы ссылок)
            https://its.1c.ru/db/v83doc#bookmark:dev:TI000000000000000J9 (официальная документация по методу ПолучитьОбъект)

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

              В 1С нельзя напрямую «откомпилировать» внешние обработки в отдельной базе и потом вернуть их обратно в зашифрованном виде в основную конфигурацию.

              Вот почему:

              1. Внешние обработки — это отдельные файлы (.epf), которые хранятся вне конфигурации.
              Их нельзя встроить в конфигурацию как модули с шифрованием. Они всегда поставляются как отдельные файлы.

              2. Шифрование кода в файлах внешних обработок не предусмотрено платформой.
              Внешние обработки — это открытые файлы, которые можно открыть и отредактировать в любом конфигураторе или даже текстовом редакторе (если знать структуру).

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

              4. Внешние обработки можно распространять в виде внешних компонент (COM, .NET), которые уже компилируются и защищаются средствами соответствующих технологий.
              Но это уже совсем другой уровень и требует разработки на внешних языках.

              Если хотите иметь «зашифрованный» код обработок, лучше:

              — Перенести логику в модули конфигурации (серверные или общие), и создавать файл поставки без исходников.

              — Или делать внешние компоненты.

              Кратко: Внешние обработки нельзя «откомпилировать» и вернуть в конфигурацию в зашифрованном виде. Для защиты кода используйте файл поставки без исходников или внешние компоненты.

              в ответ на: Есть ли API на сайте odines.io для интеграции? #36597
              bot_avaOdin — Одинэсник
              Участник

                На данный момент на сайте https://odines.io/ нет публичной информации о наличии API. В открытых источниках и на самом сайте не указано, что предоставляется API для внешнего использования.

                Если вам нужна интеграция с сервисом odines.io, рекомендую:

                1. Проверить разделы сайта, связанные с документацией или разработчикам — там иногда публикуют информацию об API.
                2. Связаться с поддержкой или администрацией сайта напрямую, чтобы уточнить наличие и условия доступа к API.
                3. Если задача связана с 1С, и вы хотите интегрировать odines.io, можно рассмотреть возможность использования универсальных средств интеграции (например, HTTP-запросы, парсинг страниц), если API отсутствует.

                Если появится официальная информация об API, обычно её публикуют на сайте или в документации.

                Рекомендую посмотреть здесь: https://odines.io/ — проверить разделы «Документация», «Разработчикам» или связаться с поддержкой сайта.

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

                  В вашем запросе есть несколько ошибок и неточностей, которые вызывают проблему:

                  1. В части соединения с регистром накопления РасчетыСКлиентами:

                  — Поле ОбъектРасчетов — это ссылка на справочник или документ, а у него нет подчинённого поля НаправлениеДеятельности. Вы пытаетесь сравнить Заказ.Договор с РасчетыСКлиентами.ОбъектРасчетов.НаправлениеДеятельности, что некорректно.

                  — Скорее всего, вы хотели сравнить Заказ.Договор с РасчетыСКлиентами.ОбъектРасчетов (то есть по ссылке на договор).

                  2. В регистре накопления РасчетыСКлиентами поле Сумма может отсутствовать, либо оно называется иначе (например, СуммаДокумента, Приход, Расход). Нужно проверить точное имя поля.

                  3. В выборке вы дважды выбираете РасчетыСКлиентами.Сумма как Сумма и Сумма1 — это избыточно.

                  Правки, которые нужно сделать:

                  — Исправить условие соединения:

                  — Проверить, что поле Сумма действительно есть в регистре. Если нет, заменить на правильное имя.

                  — Убрать дублирование поля Сумма.

                  Пример исправленного запроса:

                  |ВЫБРАТЬ ПЕРВЫЕ 100
                  | РеализацияТоваровУслуг.ЗаказКлиента.Договор КАК ЗаказДоговор,
                  | РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК ЗаказСсылка,
                  | РеализацияТоваровУслуг.Ссылка КАК РеализацияСсылка,
                  | РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК РеализацияЗаказСсылка,
                  | РасчетыСКлиентами.Сумма КАК Сумма,
                  | РасчетыСКлиентами.КОплате КАК КОплате,
                  | РасчетыСКлиентами.Оплачивается КАК Оплачивается,
                  | РасчетыСКлиентами.КОтгрузке КАК КОтгрузке,
                  | РасчетыСКлиентами.Отгружается КАК Отгружается,
                  | РасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетовСсылка
                  |ИЗ
                  | Документ.ЗаказКлиента КАК Заказ
                  | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                  | ПО Заказ.Ссылка = РеализацияТоваровУслуг.ЗаказКлиента.Ссылка
                  | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
                  | ПО Заказ.Договор = РасчетыСКлиентами.ОбъектРасчетов

                  Если поле Сумма отсутствует, замените его на правильное имя, например:

                  Если нужно, могу помочь проверить структуру регистра и составить корректный запрос.

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

                    Если имя поля Сумма в регистре РасчетыСКлиентами действительно верное, а ошибка «Поле не найдено» всё равно возникает, значит проблема в том, как вы используете регистр в запросе.

                    Чаще всего ошибка возникает из-за того, что:

                    — Вы используете не сам регистр, а его таблицу остатков или оборотов, и в этих таблицах поле называется иначе.
                    — Либо вы используете синтаксис с РегистрНакопления.РасчетыСКлиентами.Обороты(...), а поле Сумма в оборотах отсутствует или называется по-другому.
                    — Либо в запросе вы не указали псевдоним источника данных, а потом пытаетесь к нему обратиться.

                    Что проверить и как исправить:

                    1. Если вы используете таблицу оборотов регистра, то в ней поля могут называться иначе. Например, в оборотах есть поля:

                    Приход (сумма прихода)
                    Расход (сумма расхода)

                    А поле Сумма отсутствует.

                    2. Если хотите получить сумму оплат, то нужно использовать либо поле Приход или Расход в зависимости от направления движения.

                    3. Пример правильного использования оборотов регистра:

                    |ВЫБРАТЬ
                    | …
                    | Расчеты.Приход КАК СуммаОплаты,
                    | …

                    4. Если хотите использовать сам регистр накопления (не обороты), то запрос будет другой, например:

                    |ВЫБРАТЬ
                    | …
                    | Расчеты.Сумма КАК СуммаОплаты,
                    |ИЗ
                    | РегистрНакопления.РасчетыСКлиентами КАК Расчеты
                    |…

                    5. Если используете обороты, то проверьте, что в запросе указаны параметры периода, например:

                    |РегистрНакопления.РасчетыСКлиентами.Обороты(&ДатаНачала, &ДатаКонца) КАК Расчеты

                    Итог: ошибка «Поле не найдено» при обращении к Расчеты.Сумма возникает, если в таблице оборотов нет поля Сумма. Используйте Приход или Расход вместо Сумма.

                    Если хотите, могу помочь переписать запрос с учетом этого. Пример:

                    |ВЫБРАТЬ
                    | Заказ.Ссылка КАК Заказ,
                    | Реализация.Ссылка КАК Реализация,
                    | Расчеты.Приход КАК СуммаОплаты
                    |ИЗ
                    | Документ.ЗаказКлиента КАК Заказ
                    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализация
                    | ПО Реализация.ЗаказКлиента = Заказ.Ссылка
                    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Обороты(&ДатаНачала, &ДатаКонца) КАК Расчеты
                    | ПО Расчеты.ОбъектРасчетов = Заказ.Договор

                    Если нужно, могу помочь с конкретным запросом, пришлите его текст.

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

                      В вашем запросе есть несколько ошибок и некорректных конструкций:

                      1. В конструкции соединений вы используете:

                      | РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
                      | ПРАВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
                      | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК Заказ
                      | ПО РеализацияТоваровУслуг.ЗаказКлиента.Ссылка = Заказ.Ссылка
                      | ПО (РеализацияТоваровУслуг.Договор = РасчетыСКлиентами.ОбъектРасчетов.Ссылка)

                      Такой синтаксис неверен, потому что:

                      — В 1С запросах JOINы строятся последовательно, а не вложенно в условии другого JOIN.
                      — Условие соединения ПРАВОГО СОЕДИНЕНИЯ должно быть после ключевого слова ПО, а не после вложенного ЛЕВОГО СОЕДИНЕНИЯ.
                      — Вложенный JOIN (ЛЕВОЕ СОЕДИНЕНИЕ) должен быть отдельным элементом в списке соединений, а не внутри условия другого JOIN.

                      2. В условии соединения:

                      | РеализацияТоваровУслуг.Договор = РасчетыСКлиентами.ОбъектРасчетов.Ссылка

                      Проверяйте, что:

                      — РеализацияТоваровУслуг.Договор — это ссылка на договор (справочник ДоговорыКонтрагентов).
                      — РасчетыСКлиентами.ОбъектРасчетов — это ссылка на документ или договор. Если это ссылка на договор, то сравнение корректно.

                      3. В выборке:

                      | РасчетыСКлиентами.ОбъектРасчетов.Ссылка

                      Если ОбъектРасчетов — это ссылка, то достаточно писать:

                      | РасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетовСсылка

                      Правильный вариант запроса с последовательными соединениями:

                      |ВЫБРАТЬ ПЕРВЫЕ 100
                      | Реализация.ЗаказКлиента.Договор КАК ЗаказДоговор,
                      | Реализация.ЗаказКлиента ССЫЛКА КАК ЗаказСсылка,
                      | Реализация.Ссылка КАК РеализацияСсылка,
                      | Расчеты.Сумма,
                      | Расчеты.КОплате,
                      | Расчеты.Оплачивается,
                      | Расчеты.КОтгрузке,
                      | Расчеты.Отгружается,
                      | Расчеты.ОбъектРасчетов КАК ОбъектРасчетовСсылка
                      |ИЗ
                      | РегистрНакопления.РасчетыСКлиентами.Обороты(&ДатаНачала, &ДатаКонца) КАК Расчеты
                      | ПРАВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализация
                      | ПО Реализация.Договор = Расчеты.ОбъектРасчетов
                      | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК Заказ
                      | ПО Реализация.ЗаказКлиента = Заказ.Ссылка
                      |ГДЕ
                      | Заказ.Дата МЕЖДУ &ДатаНачала И &ДатаКонца

                      Объяснение:

                      — Сначала из регистра берем обороты за период.
                      — ПРАВОЕ СОЕДИНЕНИЕ с Реализацией по договору.
                      — ЛЕВОЕ СОЕДИНЕНИЕ с Заказом по ссылке ЗаказКлиента.
                      — Условия фильтрации по дате Заказа.

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

                      Если нужна помощь с конкретной структурой базы, уточните, что именно хранит РасчетыСКлиентами.ОбъектРасчетов — договор или заказ, и какие реквизиты есть в Реализации и Заказе.

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

                        Если нужно связать Поступления безналичных денежных средств, Заказы клиентов и Реализации по клиенту через Договор контрагента, то в запросе нужно использовать реквизит «ДоговорКонтрагента» из документов.

                        В УТ 11.5 у документов обычно есть реквизит «ДоговорКонтрагента» (ссылка на справочник ДоговорыКонтрагентов).

                        Пример запроса с объединением по Договору контрагента:

                        |ВЫБРАТЬ
                        | Заказы.Ссылка КАК ЗаказКлиента,
                        | Заказы.Дата КАК ДатаЗаказа,
                        | Заказы.Контрагент,
                        | Заказы.ДоговорКонтрагента,
                        | Поступления.Ссылка КАК Поступление,
                        | Поступления.Дата КАК ДатаПоступления,
                        | Поступления.Сумма КАК СуммаПоступления,
                        | Поступления.ДоговорКонтрагента КАК ДоговорПоступления,
                        | Реализации.Ссылка КАК Реализация,
                        | Реализации.Дата КАК ДатаРеализации,
                        | Реализации.СуммаДокумента КАК СуммаРеализации,
                        | Реализации.ДоговорКонтрагента КАК ДоговорРеализации
                        |ИЗ
                        | Документ.ЗаказКлиента КАК Заказы
                        | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеБезналичныхДенежныхСредств КАК Поступления
                        | ПО Поступления.ДоговорКонтрагента = Заказы.ДоговорКонтрагента
                        | И Поступления.Контрагент = Заказы.Контрагент
                        | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации
                        | ПО Реализации.ДоговорКонтрагента = Заказы.ДоговорКонтрагента
                        | И Реализации.Контрагент = Заказы.Контрагент
                        |ГДЕ
                        | Заказы.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
                        | И Заказы.Контрагент = &Контрагент

                        Объяснение:
                        — Связь идет по ДоговоруКонтрагента и Контрагенту, чтобы точно сопоставить документы.
                        — В Поступлениях и Реализациях тоже должен быть реквизит ДоговорКонтрагента (обычно есть).
                        — Параметры &ДатаНачала, &ДатаОкончания и &Контрагент задаются при вызове отчета.

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

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

                        Рекомендую проверить наличие реквизита ДоговорКонтрагента в формах документов через конфигуратор или через отладчик.

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

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

                          В 1С:Бухгалтерия предприятия 3.0 отключение интеграции с Личным кабинетом ЕНС (Единый налоговый счет) напрямую через стандартный интерфейс отсутствует, так как функционал ЕНС встроен в конфигурацию и тесно связан с налоговым учетом.

                          Однако, чтобы отключить или ограничить работу с ЛК ЕНС, можно сделать следующее:

                          1. **Отключить права доступа к разделу ЕНС**
                          В настройках ролей пользователей убрать права на работу с разделом «Единый налоговый счет» (раздел «Главное» — «Единый налоговый счет»). Это скроет раздел и запретит доступ к операциям ЕНС.

                          2. **Отключить автоматическую загрузку данных ЕНС**
                          В конфигурации нет отдельной настройки для отключения загрузки данных из ЛК ЕНС, но можно запретить пользователям выполнять операции загрузки и отправки данных, ограничив права.

                          3. **Отключить уведомления и операции по ЕНС**
                          Если в вашей базе есть автоматические задачи и уведомления по ЕНС, их можно отключить через настройки фоновых заданий или через права доступа.

                          4. **Если требуется полностью убрать функционал ЕНС**
                          Это возможно только через доработку конфигурации в режиме конфигуратора — удаление или отключение соответствующих подсистем и объектов, что требует квалифицированного разработчика 1С.

                          5. **Отключение интеграции с 1С-Отчетностью**
                          Если интеграция с ЛК ЕНС идет через 1С-Отчетность, можно отключить подключение к сервису 1С-Отчетность в настройках программы (раздел «Сервис» — «Настройки подключения к сервисам»).

                          Если задача — просто запретить пользователям работать с ЛК ЕНС, самый простой и безопасный способ — ограничить права доступа к разделу и операциям ЕНС.

                          Рекомендую проверить роли и права пользователей в разделе «Администрирование» — «Пользователи и права» и убрать доступ к подсистемам и документам, связанным с ЕНС.

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

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

                            В 1С:Предприятии для работы с безопасным хранилищем данных используется объект БезопасноеХранилищеДанных. Он позволяет сохранять и читать данные, при этом данные шифруются, но если нужно, чтобы данные были видны (то есть не шифровались), то можно использовать параметр «ВидимостьДанных» при создании хранилища.

                            Пример процедуры записи и чтения данных в безопасное хранилище с видимыми данными:

                            Пример вызова:

                            Объяснение:
                            — При создании объекта БезопасноеХранилищеДанных вторым параметром передается Истина — это означает, что данные будут храниться в виде открытого текста (видимы).
                            — Если передать Ложь или не указывать параметр, данные будут зашифрованы.
                            — Метод Записать сохраняет данные по ключу.
                            — Метод Прочитать возвращает данные по ключу.
                            — Метод Существует проверяет наличие ключа в хранилище.

                            Таким образом, вы можете безопасно хранить данные, при этом они будут видны (не шифруются).

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

                              Проверить, является ли параметр коллекцией (массивом, структурой или соответствием) в 1С можно так:

                              Пример использования:

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

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

                                Привет! Ты не приложил текст ошибки, а без него сложно точно сказать, в чём проблема. Но по опыту в 1С:КА при проведении документа «Приобретение услуг и прочих активов» с видом операции «Приобретение основных средств» часто возникают следующие типичные ошибки:

                                1. Неправильно заполнены реквизиты документа
                                — Не выбран вид операции «Приобретение основных средств».
                                — Не заполнены реквизиты, связанные с основными средствами (например, счет учета, статья затрат, объект ОС).
                                — Не заполнен или заполнен неверно реквизит «Объект основных средств» (если он есть).

                                2. Ошибки в настройках счетов учета
                                — В плане счетов отсутствуют нужные субсчета для учета ОС.
                                — В настройках видов операций не прописаны корректные счета учета для данного вида операции.
                                — В табличной части документа не заполнены счета учета по строкам.

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

                                4. Ошибки в обработчиках или расширениях
                                — Если есть доработки, они могут некорректно обрабатывать данный документ.

                                Чтобы помочь конкретно, пришли, пожалуйста, текст ошибки или скриншот. Пока могу дать универсальные рекомендации:

                                — Проверь, что в документе выбран правильный вид операции (например, «Приобретение основных средств»).
                                — Проверь заполнение всех обязательных реквизитов, особенно связанных с ОС.
                                — Проверь настройки счетов учета для данного вида операции в справочнике «Виды операций».
                                — Проверь, что в табличной части документа заполнены счета учета.
                                — Если есть доработки, попробуй провести документ на чистой базе или в режиме отладки.

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

                                Рекомендую посмотреть здесь, там много типовых ошибок и решений по проведению документов приобретения ОС:
                                https://helpf.pro/faq8/view/1462.html

                                Если пришлёшь текст ошибки, дам точный разбор.

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

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

                                  Пошагово:

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

                                  2. Выгрузите данные из расширения
                                  В расширении реквизит существует только в базе, но в основной конфигурации его нет. Чтобы получить данные из реквизита расширения, нужно написать обработку, которая прочитает данные из расширенного реквизита.

                                  3. Напишите обработку переноса данных
                                  В модуле обработки (например, в обработке или внешней обработке) выполните перебор документов и скопируйте данные из реквизита расширения в реквизит основной конфигурации.

                                  Пример кода на 1С (BSL):

                                  |Для каждого ДокументСсылка Из Документ.ИмяДокумента Цикл
                                  | // Получаем объект документа
                                  | ОбъектДокумента = ДокументСсылка.ПолучитьОбъект();
                                  | Если ОбъектДокумента <> Неопределено Тогда
                                  | // Копируем значение из реквизита расширения в реквизит основной конфигурации
                                  | ОбъектДокумента.РеквизитОсновнойКонфигурации = ОбъектДокумента.РеквизитРасширения;
                                  | ОбъектДокумента.Записать();
                                  | КонецЕсли;
                                  |КонецЦикла

                                  4. Запустите обработку
                                  Запустите обработку в режиме предприятия, чтобы перенести данные.

                                  5. Удалите расширенный реквизит
                                  После переноса данных и тестирования удалите реквизит из расширения, чтобы не было дублирования.

                                  Если реквизит расширения не виден напрямую в основном объекте, то можно получить его через механизм расширений:

                                  — В запросах реквизиты расширения не видны, поэтому только через объекты документов и их методы.

                                  — Если реквизит расширения — это реквизит формы, то данные берутся из объекта документа.

                                  Рекомендую посмотреть подробную инструкцию по переносу объектов из расширения в основную конфигурацию, там есть раздел про перенос данных:
                                  https://infostart.ru/1c/articles/1960294/

                                  Там описан способ выгрузки и загрузки данных XML, а также нюансы с переносом реквизитов.

                                Просмотр 15 сообщений - с 856 по 870 (из 2,874 всего)
                                База знаний 1С