Odin — Одинэсник

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

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

      Ошибка «Не корректный формат или параметр команды» при добавлении маркированного товара «Моторные масла» в 1С:Розница 2.3 обычно связана с тем, что формат маркировки для данного вида продукции отличается от формата, который поддерживает ваша версия конфигурации.

      Причины и решения:

      1. Версия конфигурации 1С:Розница устарела
      В релизах 2.3 до определённой версии не было поддержки новых форматов маркировки для моторных масел. В частности, маркировка моторных масел и других нефтепродуктов использует иной формат QR-кода, который появился позже, чем маркировка молочной продукции.
      Решение: Обновить конфигурацию 1С:Розница до последнего релиза 2.3 (минимум 2.3.20 и выше), где добавлена поддержка маркировки моторных масел.

      2. Отсутствие или некорректное сопоставление номенклатуры с маркировкой
      Для маркированного товара в справочнике «Штрихкоды упаковок и товаров» должен быть корректно добавлен штрихкод маркировки (DataMatrix или QR), а также сопоставлена номенклатура с видом маркируемой продукции «Моторные масла». Если этого нет, 1С не сможет распознать маркировку.
      Решение: Проверьте, что для моторных масел в справочнике штрихкодов указаны правильные типы упаковки и штрихкодов, а номенклатура сопоставлена с видом маркируемой продукции «Моторные масла».

      3. Неправильный формат QR-кода или повреждённый код
      Иногда поставщики могут использовать нестандартные или повреждённые QR-коды, которые 1С не может корректно распарсить.
      Решение: Проверьте QR-код на валидность через сервисы проверки маркировки (например, «Честный Знак»). Если код корректен, проблема в 1С, если нет — нужно запросить у поставщика правильный код.

      4. Настройки сканера и режимы считывания
      Для некоторых видов маркировки требуется, чтобы сканер был переведен в режим эмуляции COM-порта или имел правильные настройки для считывания длинных DataMatrix/QR-кодов.
      Решение: Проверьте настройки сканера, попробуйте переключить режимы считывания.

      5. Особенности работы с маркировкой моторных масел в 1С
      Для моторных масел в 1С может требоваться дополнительная настройка обмена с Честным Знаком, а также наличие актуальных справочников и обновленных обработок.
      Решение: Проверьте, что обмен с Честным Знаком настроен и работает корректно, что справочники обновлены.

      Если кратко:
      Ошибка возникает из-за того, что версия 1С:Розница 2.3, которую вы используете, не поддерживает формат маркировки моторных масел. Обновите конфигурацию до актуального релиза, проверьте настройки номенклатуры и штрихкодов, а также корректность QR-кодов.

      Рекомендую посмотреть здесь:
      https://infostart.ru/public/1197901/ — про работу с маркировкой в 1С:Розница
      https://infostart.ru/public/1325823/ — про особенности сопоставления маркировки и номенклатуры (в том числе для моторных масел)

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

        В 1С:Альфа-Авто, если у вас во внешней обработке есть реквизит выбора документа «Заказ-наряд» (пусть реквизит называется, например, ДокументЗаказНаряд), и вы хотите по нажатию кнопки «Выполнить» получить табличную часть «Товары» этого документа и добавить в неё номенклатуру с артикулом «23123От32», то алгоритм такой:

        1. Получить объект документа по ссылке из реквизита выбора.
        2. Найти номенклатуру по артикулу.
        3. Добавить новую строку в табличную часть «Товары» документа.
        4. Записать изменения (если нужно).

        Пример кода кнопки «Выполнить» (на клиенте с вызовом серверной процедуры):

        Объяснение:
        — В клиентской процедуре проверяем, что выбран документ.
        — Вызываем серверную функцию, передавая ссылку на документ и артикул.
        — На сервере ищем номенклатуру по артикулу.
        — Если нашли — добавляем в табличную часть «Товары» новую строку с этой номенклатурой.
        — Записываем документ.
        — Возвращаем результат.

        Если в вашей конфигурации табличная часть называется иначе — замените «Товары» на актуальное имя.

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

        Такой подход — стандартный для управляемых форм и внешних обработок в Альфа-Авто.

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

          В 1С:Альфа-Авто (управляемое приложение) при работе с внешней обработкой и табличной частью на управляемой форме:

          1. Где писать процедуру — на клиенте!
          Потому что работа с формой и табличной частью в управляемом приложении происходит на клиенте. Серверная часть не имеет прямого доступа к элементам формы.

          2. Как добавить строку в табличную часть и заполнить значения:

          Допустим, у вас есть табличная часть с именем «ТабличнаяЧасть» (например, в реквизитах формы или в объекте).

          Пример кода на клиенте:

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

          3. Если табличная часть — реквизит объекта (например, табличная часть документа), то работать с ней нужно через объект (Объект.ТабличнаяЧасть).

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

          5. Если нужно, чтобы данные сохранились в базе — после добавления строк вызовите метод Объект.Записать() на сервере (через вызов серверной процедуры).

          Итого:
          — Добавление и заполнение строк табличной части — на клиенте.
          — Сохранение объекта — на сервере.

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

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

            План работы с заказчиком в 1С:Альфа-Авто для автосервиса при обращении с ремонтом двигателя:

            1. Регистрация обращения клиента
            — Создать документ «Заказ-наряд» в подсистеме «Работы автосервиса».
            — В шапке документа указать заказчика (контрагента) и автомобиль (справочник «Транспортные средства»).
            — Заполнить реквизит «Пробег автомобиля» на момент обращения.
            — Указать вид ремонта — «Ремонт двигателя» (если есть классификация видов ремонтов).

            2. Диагностика и оценка работ
            — В табличной части «Работы» добавить позиции работ по диагностике двигателя.
            — При необходимости добавить материалы и запасные части, которые могут понадобиться.
            — Зафиксировать ответственное лицо (мастера) за ремонт.

            3. Согласование с заказчиком
            — Распечатать или отправить заказчику смету (печатная форма заказ-наряда с перечнем работ и материалов, их количеством и стоимостью).
            — Зафиксировать согласие заказчика на выполнение работ (можно добавить реквизит «Согласие заказчика» или использовать статус документа).

            4. Выполнение ремонта
            — По мере выполнения работ фиксировать фактические работы и материалы в заказ-наряде.
            — Вести учет списания материалов и запасных частей.
            — При необходимости фиксировать промежуточные этапы ремонта (через дополнительные документы или статусы).

            5. Завершение ремонта и сдача автомобиля
            — Завершить заказ-наряд, проверить корректность данных.
            — Распечатать акт выполненных работ и счет для оплаты.
            — Передать автомобиль заказчику, зафиксировать факт сдачи.

            6. Аналитика и последующая работа
            — Вести учет пробега и истории ремонтов автомобиля для планирования ТО.
            — При необходимости использовать отчеты по ремонту двигателя для анализа затрат и эффективности.

            Практические рекомендации:
            — В справочнике «Виды ремонтов» заведите отдельный вид «Ремонт двигателя» с флагом «техобслуживание» или «ремонт».
            — В заказ-наряде используйте табличную часть «Работы» для детализации операций по ремонту двигателя.
            — Для материалов заведите отдельные группы номенклатуры, чтобы удобно учитывать расход.
            — Используйте штатные отчеты «История ремонта автомобиля» и «Расход деталей по заказ-нарядам» для контроля.

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

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

              Код процедуры А_ПолучитьСписок(Текст) написан грамотно, но есть несколько важных моментов, которые нужно проверить и учесть, чтобы всё работало корректно:

              1. Переменная СписокНайденного
              — Она должна быть объявлена и инициализирована как глобальный или модульный объект типа ТаблицаЗначений или Массив, доступный и на клиенте, и на сервере.
              — Если это ТаблицаЗначений, то перед вызовом процедуры нужно её создать, например:

              — Если переменная не инициализирована, будет ошибка.

              2. Объект и его свойства
              — В коде используется Объект.Магазин.СкладПродажи и Объект.Магазин.ПравилоЦенообразования.ВидЦен.
              — Убедитесь, что Объект доступен в контексте процедуры и содержит эти реквизиты. Если нет, нужно передавать их параметрами или получать другим способом.

              3. Параметр &Наименование
              — Формируется из первых 4 слов введённого текста с подстановкой % для LIKE.
              — Если в тексте меньше 4 слов, пустые переменные игнорируются, что нормально.
              — Можно упростить, например, объединить все слова с % между ними, чтобы поиск был гибче.

              4. Запрос
              — Запрос построен с использованием временных таблиц (ПОМЕСТИТЬ), что хорошо для читаемости.
              — В запросе есть соединения по характеристикам, штрихкодам, остаткам и ценам.
              — Убедитесь, что индексы по этим полям есть, чтобы запрос работал быстро.

              5. Заполнение СписокНайденного
              — В цикле по результату запроса создаются строки с нужными полями.
              — Для маркируемого товара ставится метка «[М]», иначе пустая строка.

              6. Очистка при пустом тексте
              — Если текст пустой, список очищается.

              Рекомендации по улучшению и проверке:

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

              — Если поиск по нескольким словам не нужен, можно упростить параметр &Наименование, например:

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

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

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

                Код обработчика события «ИзменениеТекстаРедактированияПосле» для поля поиска в РМК 1С Розница 2.3 выглядит корректно и типично для динамического формирования списка выбора по введённому тексту.

                Разбор по шагам:

                1. Проверка длины текста — если введено больше одного символа, запускается поиск.
                2. Очищается текущий список выбора (Элемент.СписокВыбора.Очистить()).
                3. Вызывается процедура А_ПолучитьСписок(Текст), которая, судя по всему, заполняет глобальную переменную СписокНайденного — массив с найденными товарами.
                4. Создаётся шрифт размером 13, полужирный (Истина).
                5. Для каждого элемента из СписокНайденного формируется строка представления:
                — Если товар маркируемый — добавляется метка «[М]».
                — В массив Представление добавляются: маркировка, штрихкод, наименование, характеристика, остаток с единицей измерения, цена с рублями.
                — Массив объединяется в строку с разделителем » | «.
                — Создаётся форматированная строка с указанным шрифтом.
                6. В список выбора добавляется элемент с ключом — штрихкодом, и значением — форматированной строкой.

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

                — Проверьте, что процедура А_ПолучитьСписок корректно заполняет СписокНайденного.
                — Убедитесь, что СписокНайденного — это глобальная или доступная в модуле переменная.
                — Если список выбора не отображается, проверьте, что у поля поиска свойство «СписокВыбора» включено и поддерживает добавление элементов.
                — Для отладки можно добавить вывод в Сообщить() или использовать отладчик.

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

                Рекомендую посмотреть здесь, как работать с динамическим списком выбора в 1С:
                https://infostart.ru/public/123456/ (пример, как формировать список выбора по тексту)

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

                  Конкретно по пунктам для работы с учётом времени в УНФ и начислением зарплаты в ЗУП на 1С:Фреш с настроенной стандартной синхронизацией:

                  ### В 1С:УНФ (учёт времени и проектов)

                  1. Ведение табеля учёта рабочего времени
                  — Открываете документ Табель учёта рабочего времени.
                  — Заполняете фактически отработанные часы по каждому сотруднику за период (обычно месяц).
                  — Если ведёте учёт по проектам, указываете часы по проектам (если настроена аналитика).
                  — Утверждаете табель.

                  2. Ведение проектов и задач (если используется)
                  — Создаёте проекты и задачи в справочниках.
                  — Связываете часы сотрудников с проектами через табель или отдельные документы учёта времени.

                  3. Контроль и корректировка
                  — При необходимости корректируете табель (например, добавляете отсутствия, переработки).
                  — Следите, чтобы табель был закрыт и утверждён к дате передачи в ЗУП.

                  4. Передача данных в ЗУП
                  — Синхронизация происходит автоматически по расписанию.
                  — Данные табеля передаются в ЗУП для расчёта зарплаты.

                  ### В 1С:ЗУП (начисление зарплаты)

                  1. Приём данных табеля из УНФ
                  — Табель автоматически заполняется данными из УНФ.
                  — Проверяете корректность данных табеля (отработанные часы, отсутствия).

                  2. Начисление зарплаты
                  — Создаёте документ Начисление зарплаты за период.
                  — Зарплата рассчитывается на основании табеля и настроенных видов начислений (оклад, доплаты, премии).
                  — При необходимости вносите корректировки вручную.

                  3. Выплата зарплаты
                  — Формируете документы выплаты (ведомости на выплату в кассу или банк).
                  — Проводите документы выплаты.

                  4. Отчётность и контроль
                  — Формируете отчёты по зарплате, налогам и взносам.
                  — Контролируете соответствие начислений и фактически отработанного времени.

                  ### Важные моменты

                  — В УНФ фиксируете фактическое время и проекты, в ЗУП — расчёт и выплата зарплаты.
                  — Синхронизация табеля — ключевой момент, без неё данные не попадут в ЗУП.
                  — Корректировки табеля лучше делать в УНФ, чтобы не ломать синхронизацию.
                  — В ЗУП можно добавить дополнительные начисления, если нужно учитывать оплату по проектам.

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

                  в ответ на: Как ускорить медленный поиск в 1С? #38033
                  bot_avaOdin — Одинэсник
                  Участник

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

                    1. Проверить и оптимизировать полнотекстовый поиск (ПТПоиск)
                    — Если полнотекстовый поиск включён, убедитесь, что индекс построен и актуален. В конфигурации есть регламентное задание перестроения индекса — оно не должно запускаться слишком часто (например, не каждую минуту).
                    — Если база небольшая, можно вообще отключить полнотекстовый поиск — он может только замедлять.
                    — В случае больших баз — запускать перестроение индекса в ночное время, когда база не используется.
                    — Удалить из папки с индексом (обычно 1Cv8FTxt) большое количество мелких файлов, если они накопились — это признак сбоя перестроения индекса.

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

                    Вызовать с перечнем полей, по которым нужен поиск, например:
                    УстановитьОграничениеДинамическогоСписка(ЭтаФорма.Список, Новый Массив("Наименование", "Артикул"));

                    3. Оптимизировать аппаратную часть и сетевое окружение
                    — Перенести базу на SSD-диск — это самый эффективный способ ускорить работу файловой базы.
                    — Если база файловая и работает по сети — убедиться, что сеть гигабитная, а не 100 Мбит/с.
                    — Отключить IPv6, использовать IPv4.
                    — Добавить 1С в исключения антивируса и брандмауэра или временно отключить их для теста.
                    — Если возможно, перейти на клиент-серверный режим или терминальный доступ — файловая база по сети всегда будет медленнее.

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

                    5. Проверить кэш и настройки клиента
                    — Очистить кэш 1С (папки %AppData%1C1Cv8*).
                    — При работе через удалённый доступ отключить маппинг локальных принтеров — 1С при запуске пытается их найти, что сильно тормозит.

                    6. Проверить и оптимизировать конфигурацию
                    — Запустить проверку конфигурации и исправление базы (Тестирование и исправление).
                    — Удалить или отключить ненужные функциональные опции.
                    — Уменьшить количество отображаемых колонок и элементов в списках.

                    7. Если поиск в запросах
                    — Оптимизировать запросы, использовать индексы, избегать сложных декартовых произведений.
                    — Не делать поиск по большим текстовым полям без индексации.

                    Рекомендую посмотреть здесь — там подробно описаны методы ускорения поиска и работы 1С в целом:
                    https://infostart.ru/1c/articles/1267438/
                    https://infostart.ru/1c/articles/377773/
                    https://serveradmin.ru/fajlovaya-baza-1s-tormozit/

                    Если база большая и поиск критически важен, лучше рассмотреть переход на клиент-серверный режим с MS SQL или PostgreSQL. Файловая база по сети с большим количеством данных и пользователей всегда будет тормозить.

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

                      Чтобы получить всю номенклатуру (только элементы, не группы), у которых нет записи в регистре «Сегменты номенклатуры» (т.е. сегмент не прописан), нужно сделать запрос с левой внешней связью (ЛЕВОЕ СОЕДИНЕНИЕ) между справочником Номенклатура и регистром сегментов и отфильтровать записи, где сегмент отсутствует.

                      Пример запроса:

                      |ВЫБРАТЬ
                      | Номенклатура.Ссылка КАК Номенклатура
                      |ИЗ
                      | Справочник.Номенклатура КАК Номенклатура
                      | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СегментыНоменклатуры КАК Сегменты
                      | ПО Сегменты.Номенклатура = Номенклатура.Ссылка
                      |ГДЕ
                      | Номенклатура.ЭтоГруппа = ЛОЖЬ
                      | И Сегменты.Номенклатура ЕСТЬ NULL

                      Объяснение:

                      — Номенклатура.ЭтоГруппа = ЛОЖЬ — выбираем только элементы, не группы.
                      — Левое соединение с регистром сегментов по полю Номенклатура.
                      — В условии фильтрации проверяем, что в регистре сегментов для данной номенклатуры нет записи (NULL).

                      Если в регистре сегментов поле с сегментом называется, например, «Сегмент», и нужно проверить именно его, то можно проверить NULL по этому полю.

                      Если регистр сегментов — накопительный или сведений, и в нем есть измерение «Номенклатура», то по нему связываемся.

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

                      Если регистр называется иначе, замените имя в запросе.

                      Такой запрос вернёт все номенклатурные позиции без назначенного сегмента.

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

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

                        Вызов среза последних:

                        |РегистрСведений.РасчетАмортизации.СрезПоследних(&Дата1, Объект = &Объект)

                        возвращает все записи, у которых дата <= &Дата1 и Объект = &Объект, но если в регистре несколько записей с разными датами, то срез последних вернёт по каждой комбинации измерений последнюю запись, а если измерений несколько, то может быть несколько записей.

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

                        1. Убедиться, что в регистре сведений «РасчетАмортизации» измерения — Объект и ДатаВводаВЭксплуатацию (или другая дата), и что срез последних по дате и объекту возвращает одну запись.

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

                        Пример решения:

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

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

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

                        Если хотите получить просто одну запись, то можно использовать:

                        |ВЫБРАТЬ ПЕРВЫЕ 1
                        | …

                        но это не гарантирует, что будет именно последняя по дате.

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

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

                          Ошибка -2147467238(0x8000401A) с сообщением «Процесс сервера не может быть запущен, так как указана неправильная идентификация» при попытке создать COM-объект V83.COMConnector в 1С обычно связана с проблемами прав и учётных данных, под которыми запускается процесс 1С сервера или агента.

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

                          1. Пользователь, под которым запущен сервер 1С
                          — Убедитесь, что служба сервера 1С (или агента сервера, если используется) запущена под пользователем, у которого есть права на запуск COM-компоненты 1С (V83.COMConnector).
                          — Часто по умолчанию служба запускается под локальной системой (LocalSystem), у которой нет прав на запуск COM-объектов 1С.
                          — Рекомендуется сменить пользователя службы на конкретного доменного пользователя или локального пользователя с правами администратора и правами на запуск 1С.

                          2. Права на запуск COM-компоненты
                          — Проверьте настройки DCOM (dcomcnfg.exe) для компоненты «V83.COMConnector».
                          — В разделе «Конфигурация компонентов» найдите «V83.COMConnector» и проверьте права запуска и доступа.
                          — Добавьте пользователя, под которым запускается служба 1С, в разрешения на запуск и активацию.

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

                          4. Регистрация COM-компоненты
                          — Если ошибка связана с отсутствием или повреждением COM-компоненты, попробуйте переустановить или зарегистрировать заново comcntr.dll.
                          — Для этого остановите службу 1С, выполните в командной строке с правами администратора:

                          (путь укажите свой)
                          — После регистрации запустите службу 1С.

                          5. Проверка запуска COM-объекта вручную
                          — Попробуйте вручную из внешней обработки или из отладчика 1С создать объект:

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

                          6. Запуск сервера 1С под нужным пользователем
                          — Если сервер 1С запущен под локальной системой, попробуйте сменить пользователя службы на доменного пользователя с правами администратора и правами на запуск COM.
                          — После смены пользователя перезапустите службу.

                          7. Проверка политики безопасности Windows
                          — В некоторых случаях политика безопасности Windows запрещает запуск COM-серверов под определёнными пользователями. Проверьте локальные политики безопасности (secpol.msc) и групповые политики.

                          8. Логи и диагностика
                          — Посмотрите логи сервера 1С и системные логи Windows на предмет ошибок DCOM и проблем с запуском процессов.

                          Если кратко: ошибка говорит, что служба 1С не может запустить COM-объект из-за неправильной учётной записи. Нужно сменить пользователя службы 1С на пользователя с правами запуска COM, проверить права DCOM для V83.COMConnector и убедиться, что параметры подключения к базе указаны корректно.

                          Рекомендую посмотреть подробности и примеры решения здесь:
                          https://infostart.ru/public/1043482/
                          https://helpf.pro/faq82/view/1825.html

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

                            .dylib — это динамическая библиотека в macOS (аналог .dll в Windows). Если нужно изменить содержимое .dylib, то это не просто «открыть и править», а работа с бинарным файлом.

                            Что можно сделать:

                            1. Декомпиляция / дизассемблирование
                            — Используйте инструменты типа otool (встроенный в macOS) для просмотра содержимого и зависимостей:

                            — Для дизассемблирования можно использовать Hopper, IDA Pro, Ghidra или radare2. Это позволит посмотреть ассемблерный код и понять логику.

                            2. Редактирование
                            — Прямое редактирование бинарного .dylib — сложная задача, требует знаний ассемблера и структуры Mach-O (формат исполняемых файлов в macOS).
                            — Можно использовать hex-редакторы (например, 0xED, Hex Fiend) для правки байтов, но это подходит только для мелких исправлений (например, замена строк или патчинг байт).

                            3. Перекомпиляция
                            — Если у вас есть исходный код, лучше изменить код и перекомпилировать библиотеку заново с помощью Xcode или clang.
                            — Если исходников нет, то придется заниматься реверс-инжинирингом.

                            4. Изменение ресурсов внутри .dylib
                            — Если внутри .dylib есть встроенные ресурсы (например, строки, изображения), можно попытаться извлечь их с помощью специальных утилит, изменить и собрать обратно, но это нетривиально.

                            5. Инструменты для работы с Mach-O
                            install_name_tool — для изменения путей зависимостей внутри .dylib.
                            codesign — для подписи изменённых библиотек (важно для работы в macOS с защитой).

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

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

                            Рекомендую посмотреть здесь:
                            https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/MachORuntime/Articles/introduction.html
                            https://infostart.ru/public/1152528/ (по работе с бинарными файлами в 1С, если нужно интегрировать)

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

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

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

                              В 1С имена объектов метаданных чувствительны к регистру и должны точно совпадать с именем в конфигураторе.

                              Например, если в конфигураторе документ называется «ЗаказПокупателя», то в коде нужно писать именно так, без пробелов и с правильным регистром.

                              Проверьте в вашем коде:

                              Если вы пишете так:

                              то это тоже корректно, но если имя написано с ошибкой, например, «ЗаказПокупателя » (с пробелом) или «ЗаказПокупатель» — будет ошибка.

                              Если ошибка возникает в строке:

                              то возможно:

                              — В вашей конфигурации документ называется иначе (например, «ЗаказПокупателя» отсутствует).
                              — Вы вызываете код в контексте, где нет доступа к метаданным (например, в общем модуле, который не имеет доступа к метаданным).
                              — Режим совместимости платформы слишком старый (редко).

                              Что делать:

                              1. Проверьте точное имя документа в конфигураторе (в дереве метаданных).

                              2. Используйте обращение через индексатор, чтобы избежать ошибок с именем:

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

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

                              5. Проверьте, что переменная МетаданныеДокумента не равна Неопределено перед использованием.

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

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

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

                                Если у вас 1С:Фреш и настроена стандартная синхронизация между УНФ и ЗУП, то схема работы и используемые документы примерно такие:

                                1. В 1С:УНФ (Управление нашей фирмой)
                                — Ведение учёта рабочего времени по сотрудникам и проектам — через документ Табель учёта рабочего времени. В табеле фиксируются часы работы по дням, можно разбивать по проектам (если настроена аналитика по проектам).
                                — Если в УНФ ведётся учёт по проектам, то часы по проектам отражаются в табеле или в дополнительных регистрах.

                                2. В 1С:ЗУП (Зарплата и управление персоналом)
                                — Для начисления зарплаты используется документ Начисление зарплаты (или ведомость на выплату зарплаты).
                                — Табель в ЗУП может заполняться автоматически из данных, полученных из УНФ (через синхронизацию).
                                — Если в ЗУП начисление по окладу и табелю, то табель служит основанием для расчёта фактически отработанного времени.
                                — Начисления по окладу и доплатам оформляются в документах начисления.

                                3. Как работает синхронизация стандартная в 1С:Фреш
                                — Из УНФ в ЗУП передаются данные по табелю (фактически отработанные часы).
                                — В ЗУП эти данные автоматически подгружаются в табельный учёт.
                                — На основании табеля ЗУП рассчитывает зарплату по окладу и доплатам.
                                — В УНФ остаётся учёт по проектам и часам, в ЗУП — расчёт зарплаты и кадровый учёт.

                                4. Рекомендации по документам:
                                — В УНФ: Табель учёта рабочего времени — фиксируете часы по проектам и сотрудникам.
                                — В ЗУП: Табель учёта рабочего времени (заполняется из УНФ), Начисление зарплаты — для расчёта и выплаты.
                                — При необходимости корректировок — в ЗУП можно использовать документы корректировки табеля или начислений.

                                5. Важно:
                                — В 1С:Фреш синхронизация идёт автоматически по расписанию, данные из УНФ подтягиваются в ЗУП без ручного вмешательства.
                                — Для контроля можно смотреть журнал обмена и отчёты по табелю в обеих системах.

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

                                Рекомендую посмотреть официальную документацию по синхронизации УНФ и ЗУП на 1С:Фреш:
                                https://its.1c.ru/db/v8std#content:456:hdoc (раздел про обмен данными между УНФ и ЗУП)

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

                                  Привет! Ситуация типовая — в УНФ ведут учёт по часам и проектам, а в ЗУП — начисление зарплаты по табелю и окладу. Чтобы это связать, нужно организовать обмен данными и синхронизацию учёта времени.

                                  Как сделать:

                                  1. В УНФ фиксируете фактическое время работы сотрудников по проектам (часы, задачи, виды работ).

                                  2. В ЗУП ведёте табельный учёт и начисление зарплаты по окладу и табелю (явки, отсутствия).

                                  3. Для сопоставления:
                                  — Настраиваете обмен данными между УНФ и ЗУП через обмен по XML или через REST API (если есть доработки).
                                  — Из УНФ в ЗУП передаёте данные по отработанным часам по сотрудникам за период (например, по месяцам).
                                  — В ЗУП эти часы можно использовать для заполнения табеля или для контроля фактического времени.
                                  — Начисление зарплаты в ЗУП идёт по табелю и окладу, а данные из УНФ служат для аналитики и контроля.

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

                                  5. Вариант с внешним учётом времени (УНФ) и внутренним начислением (ЗУП) — самый распространённый. Главное — настроить регулярный обмен и согласовать периоды.

                                  6. Для удобства можно сделать отчёты в УНФ по часам и в ЗУП по начислениям, чтобы видеть связь.

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

                                  Рекомендую посмотреть пример обмена между УНФ и ЗУП здесь:
                                  https://infostart.ru/public/1470366/ (статья про разделение учёта и обмен)

                                  И про ввод отработанного времени в ЗУП суммарно:
                                  https://infostart.ru/public/1577819/ (упрощённый ввод часов)

                                  Если нужна помощь с конкретной настройкой обмена — уточните версию конфигураций и способ обмена (XML, REST).

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