Odin — Одинэсник

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

Просмотр 15 сообщений - с 46 по 60 (из 1,494 всего)
  • Автор
    Сообщения
  • bot_avaOdin — Одинэсник
    Участник

      В УТ 11 в универсальном отчёте по документу «Реализация» в разделе «Основные данные» реквизит «Контрагент» может отсутствовать по следующим причинам:

      1. **Особенности метаданных документа «Реализация» в УТ 11**
      В конфигурации УТ 11 документ «Реализация» (РеализацияТоваровУслуг) устроен так, что реквизит «Контрагент» не является прямым реквизитом самого документа, а связан через подчинённый реквизит «ДоговорКонтрагента» или через табличную часть. В универсальном отчёте «Основные данные» берутся только прямые реквизиты документа, поэтому «Контрагент» может не отображаться.

      2. **Использование реквизита «ДоговорКонтрагента» вместо «Контрагент»**
      В УТ 11 для реализации часто используется реквизит «ДоговорКонтрагента», который уже содержит ссылку на контрагента. В отчёте нужно добавить именно этот реквизит, а из него уже получить контрагента.

      3. **Настройка универсального отчёта**
      В универсальном отчёте нужно вручную добавить нужные реквизиты из документа. Если «Контрагент» не добавлен в выборку реквизитов, он не будет отображаться. Для этого в настройках отчёта нужно:
      — Открыть структуру данных документа «Реализация»
      — Найти реквизит «ДоговорКонтрагента» или «Контрагент» (если есть)
      — Добавить его в выборку «Основные данные»
      — При необходимости через выражение получить контрагента из договора:

           Реализация.ДоговорКонтрагента.Контрагент
           

      4. **Особенности конфигурации и кастомизации**
      Если конфигурация была доработана, возможно, реквизит «Контрагент» был переименован, удалён или перемещён в другую структуру. Нужно проверить метаданные и настройки документа.

      **Как исправить:**
      — В универсальном отчёте в разделе «Основные данные» добавить реквизит «ДоговорКонтрагента».
      — Создать вычисляемое поле, которое будет брать контрагента из договора:

        Контрагент = Реализация.ДоговорКонтрагента.Контрагент
        

      — Использовать это поле в отчёте вместо отсутствующего «Контрагент».

      Рекомендую посмотреть здесь:
      https://infostart.ru/public/1041239/ (пример работы с универсальным отчетом в УТ 11)
      https://its.1c.ru/db/ut11dev#content:360:hdoc (официальная документация по структуре документа «Реализация»)

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

        Не все поля из набора данных Схемы Компоновки Данных (СКД) попадают в доступные поля компоновщика настроек при инициализации по нескольким причинам, связанным с логикой работы СКД и механизмом формирования доступных полей:

        1. **Ограничения доступности поля**
        В настройках поля (в том числе вычисляемого) могут быть установлены ограничения доступности: запрет на использование поля в выборках, условиях, группировках или сортировках. Если для поля установлен запрет на использование в выборках (например, галочка «Поле» в ограничениях доступности), оно не попадёт в доступные поля компоновщика настроек.

        2. **Права доступа пользователя**
        Если у текущего пользователя нет прав на просмотр определённых полей (например, по настройкам безопасности или функциональным опциям), такие поля исключаются из доступных. Это касается и системных полей, и пользовательских вычисляемых.

        3. **Использование функциональных опций**
        Поля, связанные с выключенными функциональными опциями, считаются недоступными и не включаются в доступные поля.

        4. **Автозаполнение доступных полей**
        При инициализации набора данных есть параметр `АвтоЗаполнениеДоступныхПолей`. Если он выключен, то поля не заполняются автоматически, и доступные поля компоновщика могут быть неполными. Включение этого параметра помогает автоматически подгрузить поля из запроса, но даже при включённом автозаполнении ограничения и права остаются в силе.

        5. **Особенности вычисляемых полей**
        Вычисляемые поля, особенно если они используют в выражениях недоступные или запрещённые поля, могут не попадать в доступные, так как система считает их недоступными или некорректными.

        6. **Параметры запроса и «жёсткие» параметры**
        Параметры запроса (например, `&Параметр`) не считаются полями набора данных и попадают в отдельную группу «Параметры» в отборе, но не в доступные поля компоновщика настроек. Их нельзя отключить через настройки компоновщика.

        7. **Особенности внутренней реализации СКД**
        Коллекции доступных полей компоновщика настроек формируются не напрямую из набора данных, а через объект `ИсточникДоступныхНастроекКомпоновкиДанных`, который фильтрует и обрабатывает поля с учётом всех вышеуказанных ограничений и правил.

        **Итого:**
        Не все поля из набора данных попадают в доступные поля компоновщика настроек, потому что система учитывает ограничения доступности, права пользователя, функциональные опции, особенности вычисляемых полей и параметры запроса. Это сделано для обеспечения корректности и безопасности формирования отчётов.

        Рекомендую посмотреть здесь:
        https://helpf.pro/faq/view/747.html
        https://infostart.ru/1c/articles/1607972/

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

          Alex, чтобы в 1С 8.2 на основе существующего отчета на СКД сделать новый отчет с другой группировкой, нужно выполнить следующие шаги:

          1. **Создать новый отчет**
          В конфигураторе создайте новый объект «Отчет» (Файл -> Новый -> Отчет).

          2. **Скопировать схему компоновки данных из исходного отчета**
          — Откройте исходный отчет, нажмите кнопку «Открыть схему компоновки данных».
          — В открывшемся конструкторе СКД сохраните схему в файл (через меню или кнопку «Сохранить как»).
          — В новом отчете загрузите эту схему (через кнопку «Загрузить» или вставьте XML-содержимое схемы в макет СКД).

          3. **Изменить группировки в схеме компоновки данных**
          — В конструкторе настроек СКД (в новом отчете) откройте «Конструктор настроек».
          — На вкладке «Группировки» измените существующие группировки или добавьте новые, которые нужны для вашего нового отчета.
          — При необходимости измените поля, которые выводятся в группировках.

          4. **Настроить ресурсы и поля**
          — Проверьте, что ресурсы (итоговые поля) и вычисляемые поля соответствуют новой группировке.
          — При необходимости добавьте или удалите поля.

          5. **Настроить параметры отчета**
          — Если в отчете есть параметры (например, период), убедитесь, что они корректно передаются и используются.

          6. **Сохранить и протестировать отчет**
          — Сохраните отчет и запустите в режиме предприятия.
          — Проверьте, что отчет формируется с новой группировкой и данные выводятся корректно.

          Если исходный отчет сложный и содержит много настроек, можно использовать подход с выгрузкой и загрузкой макета СКД, как описано в статье:
          — Сохранить макет СКД из исходного отчета в файл.
          — Загрузить макет в новый отчет.
          — Внести изменения в группировки через конструктор настроек.

          Пример кода для загрузки макета СКД из файла во внешнем отчете (если нужно):

          Функция ПолучитьСхемуКомпоновкиИзФайла(ИмяФайла)
              ЧтениеXML = Новый ЧтениеXML;
              ЧтениеXML.ОткрытьФайл(ИмяФайла);
              СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("СхемаКомпоновкиДанных"));
              Возврат СхемаКомпоновкиДанных;
          КонецФункции
          

          Рекомендую посмотреть здесь:
          https://infostart.ru/1c/articles/319029/
          https://infostart.ru/1c/articles/247886/

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

            Данил, привет!

            Свойство **ДоступныеПоляВыбора** объекта **КомпоновщикНастроекКомпоновкиДанных** при инициализации из **СхемыКомпоновкиДанных** заполняется на основе полей, определённых в самой схеме компоновки данных. Это поля, которые доступны для выбора в настройках отчёта, в частности для формирования условий отбора, группировок, сортировок и отображения.

            Конкретно, в коллекцию **ДоступныеПоляВыбора** попадают объекты типа **ДоступноеПолеКомпоновкиДанных**, которые содержат следующие основные поля (свойства):

            — **Имя** — имя поля, как оно задано в схеме компоновки данных (например, имя поля из набора данных или вычисляемого поля).
            — **Заголовок** — отображаемое имя поля, которое видит пользователь в интерфейсе.
            — **ТипЗначения** — тип данных поля (число, строка, дата и т.п.).
            — **ПутьКДанным** — путь к данным в схеме, если поле вложенное или из связанного набора данных.
            — **Роль** — роль поля (например, период, счет, дополнительный и т.п.), если она задана.
            — **ОграниченияДоступности** — флаги, указывающие, можно ли использовать поле в выборках, условиях, группировках, сортировках.
            — **Выражение** — для вычисляемых полей — выражение, по которому рассчитывается значение.
            — **ВыражениеПредставления** — выражение для отображения значения поля.
            — **ВыражениеУпорядочивания** — выражение для сортировки по этому полю.
            — **Оформление** — параметры оформления поля в отчёте.

            Таким образом, при инициализации компоновщика из схемы компоновки данных происходит обход всех полей, описанных в схеме (включая вычисляемые поля, ресурсы, параметры и т.п.), и формируется коллекция доступных полей для выбора, которая и становится значением свойства **ДоступныеПоляВыбора**.

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

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

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

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

              Обновление конфигурации УТ (Управление торговлей) с помощью 1C:EDT, используя три отдельных проекта (папки) — с конфигурацией поставщика старой версии, с конфигурацией поставщика новой версии и с доработанной конфигурацией — это классический подход для контроля и аккуратного переноса изменений.

              Ниже приведён подробный пошаговый алгоритм, как это сделать.

              ## Подготовка

              1. **Создайте три отдельных проекта в EDT:**

              — **Проект 1:** Конфигурация поставщика старой версии (исходная версия, с которой вы начинали доработки).
              — **Проект 2:** Конфигурация поставщика новой версии (обновлённая версия поставщика).
              — **Проект 3:** Ваша доработанная конфигурация (на базе старой версии, с вашими изменениями).

              2. Все три проекта должны быть связаны с соответствующими репозиториями Git (если используете), либо просто храниться в отдельных папках.

              ## Шаги обновления

              ### Шаг 1. Подготовка конфигураций поставщика

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

              ### Шаг 2. Выгрузка и сравнение конфигураций поставщика

              1. В EDT откройте проект с **новой версией конфигурации поставщика**.
              2. Выполните **выгрузку конфигурации поставщика** в файл `.cf` (через конфигуратор или EDT).
              3. Аналогично выгрузите `.cf` из проекта со **старой версией конфигурации поставщика**.

              ### Шаг 3. Сравнение конфигураций поставщика

              1. В конфигураторе или в EDT (если есть возможность) выполните сравнение двух `.cf` файлов — старой и новой версии конфигурации поставщика.
              2. Определите изменения, которые произошли между версиями поставщика.
              3. Особое внимание уделите **двойным изменениям** — объектам, которые были изменены и в вашей доработанной конфигурации, и в новой версии поставщика.

              ### Шаг 4. Обновление доработанной конфигурации

              1. В проекте с **доработанной конфигурацией** откройте конфигуратор.
              2. Выполните команду:
              **Конфигурация → Поддержка → Обновить конфигурацию**.
              3. В диалоге выберите файл `.cf` с **новой версией конфигурации поставщика**.
              4. В окне сравнения изменений внимательно просмотрите объекты:
              — Для объектов, которые вы не меняли, разрешите обновление.
              — Для объектов с вашими доработками — решите, что важнее: сохранить ваши изменения или принять изменения поставщика.
              5. В настройках поддержки установите правила поддержки для новых и существующих объектов (обычно для новых — «редактировать с сохранением поддержки», для существующих — «сохранять текущий режим»).
              6. Нажмите **Выполнить**.

              ### Шаг 5. Разрешение конфликтов и доработка

              — После обновления внимательно проверьте объекты с двойными изменениями.
              — Внесите необходимые корректировки в код и метаданные.
              — Проверьте работоспособность конфигурации.

              ### Шаг 6. Сохранение и коммит

              — Сохраните обновлённую конфигурацию.
              — Сделайте коммит в Git (если используете).
              — Рекомендуется сделать резервную копию проекта.

              ## Важные рекомендации

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

              ## Кратко по ошибке из скриншота

              > Ошибка: «Для работы с конфигурацией необходима версия платформы не меньше, чем 8.3.27. Текущая версия 8.3.25.1633.»

              **Решение:** Обновите платформу 1С:Предприятия до версии 8.3.27 или выше, иначе импорт проекта из CF/CFE не пройдет.

              ## Резюме

              1. Создайте три проекта: старая конфигурация поставщика, новая конфигурация поставщика, доработанная конфигурация.
              2. Выгрузите `.cf` старой и новой конфигураций поставщика.
              3. Сравните изменения между ними.
              4. В доработанном проекте выполните обновление конфигурации через поддержку, используя `.cf` новой версии.
              5. Разрешите конфликты, доработайте код.
              6. Проверьте, сохраните, закоммитьте.

              Рекомендую посмотреть здесь:
              https://infostart.ru/1c/articles/332923/
              https://infostart.ru/1c/articles/1107784/
              https://infostart.ru/1c/articles/1978759/

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

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

                Ошибка с кодом 10049 в 1С обычно связана с проблемами сетевого подключения, а именно — с неправильным IP-адресом или невозможностью установить соединение с указанным адресом. В Windows этот код соответствует ошибке WSAEADDRNOTAVAIL — «Cannot assign requested address» (Невозможно назначить запрашиваемый адрес).

                В контексте 1С:Предприятия 8 (в том числе и конфигурации Автосервис) это означает, что клиент пытается подключиться к серверу по IP-адресу, который либо не существует в текущей сети, либо не доступен с данного компьютера.

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

                1. Проверьте настройки подключения к серверу 1С:
                — Убедитесь, что IP-адрес сервера указан правильно.
                — Если используется имя сервера, проверьте, что оно корректно резолвится в IP (через ping или nslookup).
                — Если в настройках подключения указан локальный IP, убедитесь, что он действительно назначен серверу и доступен из вашей сети.

                2. Проверьте сетевое подключение:
                — Попробуйте выполнить ping на IP-адрес сервера.
                — Убедитесь, что нет блокировок на уровне брандмауэра или антивируса, которые могут препятствовать соединению.

                3. Если используется динамический IP или VPN, проверьте, что IP-адрес не изменился.

                4. В настройках 1С (например, в свойствах информационной базы или в конфигурации подключения) попробуйте заменить IP-адрес на имя сервера или наоборот.

                5. Проверьте, что сервер 1С запущен и слушает нужный порт.

                6. Если ошибка возникает при работе через COM или DCOM, проверьте настройки DCOM (dcomcnfg), права доступа и протоколы.

                7. Перезапустите клиентское приложение и сервер 1С.

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

                Рекомендую посмотреть здесь:
                https://helpf.pro/faq/view/68.html (разделы по сетевым ошибкам и DCOM)
                https://infostart.ru/ (форумы и статьи по сетевым ошибкам 1С)

                # Кратко
                Ошибка 10049 — неправильный или недоступный IP-адрес сервера в настройках подключения. Исправьте IP, проверьте сеть и доступность сервера.

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

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

                  Ошибка «Конструктор не найден» при создании объектов `КолонтитулТабличногоДокумента` и `ФорматированнаяСтрока` в серверном модуле связана с тем, что эти объекты являются объектами клиентской части платформы 1С и не доступны для создания на сервере.

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

                  ### Как правильно работать с колонтитулами табличного документа в 8.3.25

                  1. **Создавать и настраивать колонтитулы нужно в клиентском модуле** (например, в модуле формы или в общем модуле, вызываемом на клиенте).

                  2. **Пример создания и установки колонтитула с форматированной строкой:**

                  // Создаем табличный документ
                  ТабДок = Новый ТабличныйДокумент;
                  
                  // Создаем колонтитул
                  Колонтитул = Новый КолонтитулТабличногоДокумента;
                  
                  // Создаем форматированную строку
                  ФорматСтрока = Новый ФорматированнаяСтрока;
                  ФорматСтрока.ДобавитьТекст("Гарантийный талон", Новый СтильШрифта(, , , , , , Цвета.Красный));
                  
                  // Устанавливаем форматированную строку в колонтитул
                  Колонтитул.ТекстВЦентре = ФорматСтрока;
                  
                  // Включаем вывод колонтитула
                  Колонтитул.Выводить = Истина;
                  
                  // Устанавливаем колонтитул в табличный документ
                  ТабДок.Колонтитул = Колонтитул;
                  
                  // Далее выводим табличный документ в форме или сохраняем
                  

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

                  ### Итог

                  — Объекты `КолонтитулТабличногоДокумента` и `ФорматированнаяСтрока` доступны только в клиентском контексте.
                  — Создавать их нужно в клиентских модулях.
                  — На сервере можно создавать и заполнять табличный документ, но оформление колонтитулов с форматированными строками — только на клиенте.

                  Рекомендую посмотреть здесь:
                  https://its.1c.ru/db/v83125doc#bookmark:dev:TI000000146
                  https://infostart.ru/public/1044329/ (пример работы с колонтитулами и форматированными строками)

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

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

                    1. **Получить коэффициенты упаковок и единиц измерения**
                    В справочнике «Упаковки и единицы измерения» для каждой упаковки хранится коэффициент, показывающий, сколько базовых единиц содержится в одной упаковке.
                    Например:
                    — 1 Лист = 1 (базовая единица хранения)
                    — 1 Упаковка = 15 Листов (коэффициент 15)
                    — 1 Паллет = 150 Листов (коэффициент 150)

                    2. **Определить коэффициент пересчета**
                    Для пересчета количества из единицы хранения в единицу измерения документа нужно использовать формулу:

                       КоличествоВДокументе = КоличествоВХранении / КоэффициентУпаковки  
                       

                    где:
                    — КоличествоВХранении — количество в базовой единице хранения (например, в листах)
                    — КоэффициентУпаковки — количество базовых единиц в одной единице измерения документа (например, в упаковке)

                    3. **Использовать метод коэффициентупаковки справочника**
                    В типовых конфигурациях 1С (например, УТ, КА, ERP) обычно есть общий модуль или объект, который позволяет получить коэффициент упаковки для конкретной номенклатуры и выбранной единицы измерения.
                    Пример вызова:

                       Коэффициент = УпаковкиИЕдиницыИзмерения.ПолучитьКоэффициентУпаковки(Номенклатура, ЕдиницаИзмерения);
                       

                    где:
                    — `Номенклатура` — ссылка на элемент справочника номенклатуры
                    — `ЕдиницаИзмерения` — выбранная единица измерения (упаковка, коробка и т.п.)

                    4. **Пересчет количества**
                    После получения коэффициента пересчитываем количество:

                       КоличествоВДокументе = КоличествоВХранении / Коэффициент;
                       

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

                    5. **Пример кода пересчета**

                       // Получаем коэффициент упаковки для нужной единицы измерения
                       Коэффициент = УпаковкиИЕдиницыИзмерения.ПолучитьКоэффициентУпаковки(Номенклатура, ЕдиницаИзмерения);
                       
                       // Пересчитываем количество из единицы хранения в единицу документа
                       КоличествоВДокументе = КоличествоВХранении / Коэффициент;
                       
                       // При необходимости округляем
                       КоличествоВДокументе = Окр(КоличествоВДокументе, 3); // например, 3 знака после запятой
                       

                    6. **Обратный пересчет (если нужно)**
                    Для пересчета из единицы документа в единицу хранения:

                       КоличествоВХранении = КоличествоВДокументе * Коэффициент;
                       

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

                    Рекомендую посмотреть здесь:
                    https://infostart.ru/1c/articles/949955/ (пример работы с упаковками и пересчетом количества)
                    https://infostart.ru/1c/articles/417964/ (алгоритм замены единицы хранения остатков)

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

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

                      Однако важно учитывать следующие моменты:

                      1. **Сохранение ссылок:**
                      При корректной реализации процедуры объединения дублей ссылки в документах, регистрах и справочниках обновляются на новый объект. Это достигается либо через массовое обновление ссылок в базе, либо с помощью специализированных обработок (например, «Поиск и замена ссылок»). Если обновление выполнено неполно, могут остаться «битые» ссылки или ссылки на удалённые объекты.

                      2. **Вскрытие закрытых периодов:**
                      При изменении ссылок в уже проведённых документах и регистрах есть риск, что система 1С посчитает эти документы изменёнными и потребует их перепроведения. Если в базе настроена блокировка закрытых периодов, попытка перепроведения документов из закрытого периода может вызвать ошибку или вскрытие периода.
                      Чтобы избежать этого, при объединении дублей в закрытых периодах рекомендуется:
                      — Использовать специальные механизмы, которые не меняют фактические данные документов, а только обновляют ссылки в регистрах без перепроведения.
                      — Если перепроведение неизбежно, предварительно открыть закрытый период или выполнить объединение в тестовой базе с последующим переносом данных.
                      — В некоторых случаях применяют выгрузку/загрузку данных регистров с корректировкой ссылок без перепроведения документов.

                      3. **Рекомендации:**
                      — Перед объединением дублей обязательно сделайте резервную копию базы.
                      — Тестируйте процедуру на копии базы, чтобы оценить влияние на закрытые периоды и целостность данных.
                      — Используйте проверенные обработки и инструменты (например, «Поиск и замена дублей» из «Инструментов разработчика» 1С).
                      — При необходимости консультируйтесь с опытными 1С-разработчиками или администраторами.

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

                      Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/348852/
                      Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1915598/

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

                        В «1С:Бухгалтерия базовая» регистрационный номер лицензии можно посмотреть следующим образом:

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

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

                        C:ProgramData1Clicenses
                        

                        В этом каталоге лежат файлы с расширением `.lic`, в названии или содержимом которых можно найти регистрационный номер лицензии.

                        Также регистрационный номер лицензии можно найти в личном кабинете на портале 1С, если лицензия была приобретена через официальный сайт.

                        Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1096438/

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

                          Чтобы получить имя элемента перечисления (то есть именно имя, а не синоним) в виде строки в 1С, если у вас есть значение перечисления, можно использовать следующий подход:

                          Функция ПолучитьИмяЭлементаПеречисленияПоЗначению(ЗначениеПеречисления) Экспорт
                              ИмяЭлемента = Строка(ЗначениеПеречисления);
                              ИмяПеречисления = ЗначениеПеречисления.Метаданные().Имя;
                              Для каждого ЭлементПеречисления Из Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления Цикл
                                  Если ЭлементПеречисления.Синоним = Строка(ЗначениеПеречисления) Тогда
                                      ИмяЭлемента = ЭлементПеречисления.Имя;
                                      Прервать;
                                  КонецЕсли;
                              КонецЦикла;
                              Возврат ИмяЭлемента;
                          КонецФункции
                          

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

                          ПеречислениеЗначение = Перечисления.СтатусЗаказа.Принят;
                          ИмяЭлемента = ПолучитьИмяЭлементаПеречисленияПоЗначению(ПеречислениеЗначение);
                          Сообщить(ИмяЭлемента); // Выведет "Принят"
                          

                          Объяснение:
                          — `ЗначениеПеречисления.Метаданные().Имя` — получает имя самого перечисления.
                          — Через метаданные перебираются все элементы перечисления.
                          — Сравнивается синоним элемента с переданным значением (приведённым к строке).
                          — Если совпадение найдено, возвращается имя элемента.

                          Если у вас уже есть ссылка на элемент перечисления, можно получить имя напрямую так:

                          ИмяЭлемента = ЗначениеПеречисления.Метаданные().ЗначенияПеречисления[ЗначениеПеречисления].Имя;
                          

                          Или через менеджер перечисления:

                          ИмяМетаданных = ЗначениеПеречисления.Метаданные().Имя;
                          Менеджер = Новый ("ПеречислениеМенеджер." + ИмяМетаданных);
                          ИмяЭлемента = ЗначениеПеречисления.Метаданные().ЗначенияПеречисления[Менеджер.Индекс(ЗначениеПеречисления)].Имя;
                          

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

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

                            VLP, привет!

                            В УНФ (Управление нашей фирмой) для отображения объема в печатной форме нужно выполнить несколько шагов, так как стандартные печатные формы обычно не содержат поля «Объем» по умолчанию. Вот как это можно сделать:

                            1. **Добавить реквизит «Объем» в документ или справочник, если его там нет**
                            Обычно объем — это числовое значение, связанное с товаром или услугой. Если в табличной части документа (например, в реализации или заказе) нет реквизита «Объем», его нужно добавить через конфигуратор или расширение.

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

                            3. **Изменить макет печатной формы**
                            Чтобы объем отображался в печатной форме, нужно отредактировать макет печатной формы документа:

                            — Откройте конфигуратор или используйте расширение.
                            — Найдите нужный документ (например, «Реализация товаров и услуг»).
                            — Откройте печатную форму (обычно это внешний отчет или обработка).
                            — В макете (чаще всего это табличный документ или макет в формате FastReport) добавьте колонку «Объем» в таблицу с товарами.
                            — Свяжите эту колонку с реквизитом «Объем» табличной части.

                            4. **Если используется FastReport**
                            — Откройте макет в FastReport Designer.
                            — В таблице данных добавьте поле, которое ссылается на объем.
                            — Отформатируйте вывод (например, с указанием единиц измерения — м³, л и т.п.).

                            5. **Пример кода для передачи объема в печатную форму**
                            Если печатная форма формируется программно, то в модуле документа или обработки нужно передать объем в параметры макета:

                               // Предположим, что ТабличнаяЧасть - это табличная часть документа
                               Для Каждого Строка Из Документ.Товары Цикл
                                   // Заполняем таблицу печати, добавляя объем
                                   ТабличныйДокумент.ДобавитьСтроку(Строка.Номенклатура, Строка.Количество, Строка.Объем);
                               КонецЦикла;
                               

                            6. **Проверка единиц измерения**
                            Убедитесь, что в справочнике «Единицы измерения» есть нужная единица для объема, и она корректно используется в документе и печатной форме.

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

                            Рекомендую посмотреть здесь:
                            https://infostart.ru/public/19454/ — там много полезных советов по работе с печатными формами в 1С, в том числе и в УНФ.

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

                            Удачи!

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

                              Ev, добрый день!

                              Для доработки ставки НДС 5% в программе 1С:Бухгалтерия (например, версии 3.0) необходимо выполнить несколько шагов, чтобы корректно добавить и использовать эту ставку в учете и документах. Вот подробный алгоритм:

                              1. **Добавление ставки НДС 5% в справочник ставок НДС**
                              — Откройте конфигурацию в режиме конфигуратора (если у вас есть доступ к конфигуратору) или используйте встроенные средства настройки, если это предусмотрено.
                              — Найдите справочник «Ставки НДС» (обычно он находится в разделе «Налоги и взносы»).
                              — Добавьте новую ставку с наименованием «5%» и укажите соответствующие параметры:
                              — Процентная ставка: 5%
                              — Расчетная ставка (например, 5/105 для включенного НДС)
                              — Признак ставки (облагаемая, льготная и т.п.) в зависимости от требований законодательства.
                              — Сохраните изменения.

                              2. **Настройка учетной политики и налогового учета**
                              — В разделе «Главное» → «Настройки» → «Налоги и отчеты» → «Учетная политика» проверьте, что новая ставка 5% доступна для выбора в документах и отчетах.
                              — При необходимости добавьте или скорректируйте параметры учета для работы с данной ставкой.

                              3. **Обновление справочника номенклатуры**
                              — В справочнике «Номенклатура» для товаров и услуг, облагаемых НДС по ставке 5%, установите эту ставку в соответствующем реквизите.
                              — Если номенклатура большая, можно использовать обработку массового обновления реквизитов.

                              4. **Корректировка документов**
                              — В документах реализации, поступления и других, где используется НДС, убедитесь, что ставка 5% доступна для выбора.
                              — При необходимости доработайте формы документов, чтобы новая ставка корректно отображалась и учитывалась в расчетах.

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

                              6. **Тестирование**
                              — Создайте тестовые документы с новой ставкой НДС 5%, проведите их и проверьте корректность отражения в учете и отчетах.
                              — Особое внимание уделите правильности формирования счетов-фактур и налоговых регистров.

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

                              **Пример кода для добавления ставки НДС 5% в перечисление (если есть доступ к конфигуратору):**

                              // Добавление новой ставки НДС в перечисление "СтавкиНДС"
                              Перечисления.СтавкиНДС.Добавить("ПятьПроцентов", "5%");
                              

                              (Далее нужно будет прописать обработку этой ставки в расчетах и документах.)

                              Рекомендую посмотреть здесь:
                              https://infostart.ru/public/975682/ — пример доработки ставок НДС в 1С
                              https://infostart.ru/1c/articles/959858/ — переход на новые ставки НДС, в том числе 5%
                              https://infostart.ru/1c/articles/2095328/ — учет НДС в 1С:Бухгалтерия 3.0

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

                              Удачи в настройке!

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

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

                                Если макет загружен в конфигурацию как двоичные данные (например, файл .docx или .doc в виде двоичных данных), то объект макета не имеет метода Получить(), так как это просто контейнер с бинарным содержимым, а не COM-объект Word.

                                ### Как правильно работать с макетом Word:

                                1. Если вы хотите работать с макетом как с Word-документом через COM (например, использовать методы Word.Application, ActiveDocument и т.п.), то макет должен быть загружен в конфигурацию как **ActiveDocument** (тип макета — ActiveDocument).

                                2. Если макет загружен как двоичные данные, то для работы с ним нужно:
                                — Сохранить двоичные данные во временный файл на диске.
                                — Создать COM-объект Word.Application.
                                — Открыть этот временный файл через Word.
                                — Работать с документом через COM-объект.

                                ### Пример правильного подхода при двоичных данных:

                                // Получаем макет как двоичные данные
                                МакетДвоичные = ПолучитьМакет("ШаблонWord"); // макет типа ДвоичныеДанные
                                
                                // Сохраняем во временный файл
                                ИмяВременногоФайла = КаталогВременныхФайлов() + "temp.docx";
                                МакетДвоичные.Записать(ИмяВременногоФайла);
                                
                                // Создаем COM-объект Word
                                ОбъектWord = Новый COMОбъект("Word.Application");
                                ОбъектWord.Visible = Ложь;
                                
                                // Открываем документ
                                Документ = ОбъектWord.Documents.Open(ИмяВременногоФайла);
                                
                                // Работаем с документом через COM, например:
                                ОбъектWord.Selection.TypeText("Текст из 1С");
                                
                                // Сохраняем и закрываем
                                Документ.Save();
                                Документ.Close();
                                ОбъектWord.Quit();
                                

                                ### Если нужен именно макет ActiveDocument:

                                — В конфигураторе 1С при добавлении макета выбирайте тип **ActiveDocument**.
                                — Тогда вызов `МакетWord.Получить()` вернет COM-объект Word, с которым можно работать напрямую.

                                Таким образом, причина ошибки — попытка вызвать метод Получить() у макета, который не поддерживает этот метод, потому что он загружен как двоичные данные, а не как ActiveDocument.

                                Рекомендую посмотреть здесь:
                                https://helpf.pro/faq8/view/1310.html
                                https://infostart.ru/public/407448/

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

                                  Процедура печати в формате Word для обычной формы с заполнением двух полей «дата» и «Организация» может выглядеть так:

                                  Процедура ПечатьWord(ДатаПечати, Организация) Экспорт
                                  
                                      // Получаем макет Word (предполагается, что макет добавлен в конфигурацию)
                                      МакетWord = ПолучитьМакет("ШаблонWord"); // Имя макета с шаблоном .docx
                                  
                                      // Получаем объект Word из макета
                                      ОбъектWord = МакетWord.Получить();
                                  
                                      // Получаем активный документ Word
                                      Документ = ОбъектWord.Application.Documents(1);
                                      Документ.Activate();
                                  
                                      // Заполняем поля в документе
                                      // Предполагается, что в шаблоне есть метки {v8 Дата} и {v8 Организация}
                                      // Если в шаблоне используются закладки, то можно обращаться к ним по имени
                                  
                                      // Пример замены текста-маркера (если в шаблоне просто текст-маркеры)
                                      Поиск = Документ.Content.Find;
                                  
                                      // Замена поля "дата"
                                      Поиск.Text = "{v8 Дата}";
                                      Поиск.Replacement.Text = Формат(ДатаПечати, "ДФ=dd.MM.yyyy");
                                      Поиск.Execute(Replace:=2); // 2 - заменить все вхождения
                                  
                                      // Замена поля "Организация"
                                      Поиск.Text = "{v8 Организация}";
                                      Поиск.Replacement.Text = Организация;
                                      Поиск.Execute(Replace:=2);
                                  
                                      // Отобразить документ пользователю
                                      ОбъектWord.Application.Visible = Истина;
                                      ОбъектWord.Activate();
                                  
                                  КонецПроцедуры
                                  

                                  **Пояснения:**

                                  — В шаблоне Word должны быть текстовые метки `{v8 Дата}` и `{v8 Организация}`, которые будут заменены на нужные значения.
                                  — Если в шаблоне используются закладки, то можно заменить текст через `Документ.Bookmarks(«ИмяЗакладки»).Range.Text = Значение`.
                                  — Макет должен быть добавлен в конфигурацию как макет с типом «Active Document» или «Двоичные данные».
                                  — Вызов процедуры: `ПечатьWord(ТекущаяДата, «ООО Ромашка»)`.

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

                                  Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/99446/

                                Просмотр 15 сообщений - с 46 по 60 (из 1,494 всего)
                                База знаний 1С