Имя команды не может совпадать с именем стандартной команды 1с
Управляемый интерфейс. Команды в 1с
При переходе на управляемый интерфейс логика работы с некоторыми привычными еще со времен 7.7 объектами поменялась. В классическом интерфейсе для взаимодействия с пользователем программист проектировал форму, указывал поля ввода данных, кнопки, надписи и прочие элементы для взаимодействия с пользователями. Потом выбирал, на какие события формы должен реагировать объект и прописывал обработчик события. Все логично и понятно, в управляемом интерфейсе появилось такое понятие как команда. Команда запускает определенный алгоритм, набор действий, который прописывает программист в модуле команды. Вызвать команду можно из управляемой формы, но как будет выглядеть элемент управления который вызовет команду зависит от того куда программист перетащит команду, в какую группу элементов он ее поместит.
Думаю можно сказать, что в 8.1, да и в 7.7 концепция была следующей: оформление определяет логику работы формы, в управляемом интерфейсе во главе стола поставили логику работы, формирование внешнего вида формы переложили на плечи движка 1с. Таким чином от того куда перетащил программист команду зависит визуальное оформление элемента который запустит команду на выполнение
Как видите, это может быть «объемная кнопка», плоская кнопка на панели инструментов, или пункт выпадающего меню.
Но если посмотреть на скриншот, то видно, что кроме нашей «Команда1» на форме есть кнопки «Провести и закрыть», а в меню наша команда потерялась во множестве других, которые мы не программировали и не создавали. Это стандартные команды 1с, они есть у форм, справочников, документов и других объектов 1с. Некоторые команды общие некоторые присущи только определенному типу объектов.
Команды могут находиться в 3 местах в конфигурации:
- команды формы (управляемой) находятся в модуле формы
- команды конкретного объекта конфигурации находятся в соответствующей ветке
- команды без привязки к конкретным объектам конфигурации – общие команды, которые находятся в ветке Общие – общие команды (кто бы мог подумать).
Как и в обычных процедурах и функциях командам 1с можно передавать значения для обработки. Значение, которое передается, указывается в соответствующем поле свойств команды:
То где будет отображаться команда указывается в поле «Группа». Например, если мы укажем, так как показано на скриншоте то в системе команда отобразиться так:
Когда я впервые столкнулся с командным интерфейсом, я долго не мог понять, почему у меня не отображается созданный мной документ в интерфейсе указанной мною подсистемы, притом что управляемые формы были написаны и права все стояли. Причиной всему была галочка «Использовать стандартные команды» с закладки «Команды». Не забывайте про нее.
Разложим все по полочкам. В типовых конфигурациях 90% форм списков и форм объектов ссылочного типа на командной панели в подменю "Ввод на основании" содержат действие "(Ввести на основании)". Это действие в режиме предприятия замещается списком синонимов типов объектов, которые можно вводить на основании текущего объекта. Это обстоятельство предоставляет нам отличную возможность замечательного нецелевого использования этого списка.
Бонус
При обновлении почти никаких забот. Только в случае добавления новых объектов придется доставить для них галочки во вводе на основании.
- планы обмена
- справочники
- документы
- планы видов характеристик
- планы счетов
- планы видов расчета
- бизнес-процессы
- задачи
Для наглядности возьмем и создадим 2 универсальные команды "Запомнить" и "Использовать". Первая будет сохранять ссылку. Вторая будет ее использовать в форме.
1. Команда "Запомнить".
Итак, создаем новый план обмена. Даем ему имя "кмдЗапомнить", синоним "Запомнить".
Открыв закладку ввода на основании, мы неприятно удивимся, что средств для групповой установки флажков в этом диалоге нет. Здесь нужно каждый флажок установить персонально. Однако есть альтернатива (спасибо KAO111 ) - в конфигураторе есть возможность сразу выбрать группу объектов для ввода на основании. Для этого необходимо открыть дополнительные свойства объекта конфигурации (Alt+Shift+Enter), перейти на закладку "Ввод на основании" и снять флажок "Только выбранные".
Теперь создаем основную форму объекта (узла обмена). Она будет нужна только для обработки события ПередОткрытием, так что избавляемся от излишеств. Закрываем конструктор. Открываем модуль формы. Ссылка на основание доступна здесь через свойство ПараметрОснование расширения формы. Таким образом, весь функционал можно разместить здесь и не использовать обработку заполнения.
2. Команда "Использовать".
Аналогично создаем команду "Использовать".
Хотелось бы получить доступ к той форме (в случае формы объекта) или элементу формы (в случае формы списка), откуда вызвали команду. В модуле формы нам предоставляется такая возможность через использование свойства ВладелецФормы .
Как поступить с теми формами, в которых нет подменю ввода на основании?
В случае, если флажок "Автозаполнение" у нужной командной панели формы отключен и разработчики формы не добавили туда подменю ввода на основании, вы не увидите нужного вам списка в режиме предприятия. В этом случае можно добавить его туда вручную, а можно использовать более элегантный метод, программно добавляющий необходимое подменю в обработчике ПриОткрытии. Так как действие "(Ввести на основании)" является предопределенным, программно его создать, к сожалению, нельзя! Но можно обойти это ограничение. Создадим в одной из форм наших объектов-команд командную панель и добавим туда ввод на основании в режиме конфигуратора. Эта форма все равно никогда не открывается, так что используем ее как шаблон. Перед открытием нужной формы будем проверять наличие в заданной командной панели необходимого подменю, и, если его там не обнаружим, то скопируем его из нашей формы-шаблона.
Добавляем в форме объекта "кмдЗапомнить" командную панель "ДействияФормы".
Создаем там подменю с типом "Ввести на основании".
В глобальном модуле размещаем функцию
Теперь в теле обработчика ПриОткрытии любой формы можно вызывать эту процедуру. При отсутствии подменю ввода на основании она будет добавлять его в логический (в зависимости от типа выравнивания) конец найденной командной панели, список которых задан в массиве МассивИменКомандныхПанелей в порядке убывания приоритета. Алгоритм конечно предусматривает далеко не все возможные варианты, но на типовых отрабатывает почти всегда.
Итоги.
Полезность описанного метода создания универсальных интерактивных команд трудно переоценить. Пользуюсь этими командами каждый рабочий день! В платформах 8.0 и 8.1 на текущий момент отсутствует какая либо альтернатива этому методу.
Можно развить идею и сделать только один объект-команду. В него поместить все необходимые функции. А пользователю при активации этой команды предоставлять возможность выбора конкретной функции. Получится что то вроде универсального контекстного меню ссылочных объектов.
Ошибка обновления- БУХ КОРП 3.0 (3.0.54.20) на платформе 8.3 (8.3.11.2867)
При обноление возникает ошибка :
Обработка.ПанельАдминистрированияБИД.Команда.Открыть: Имя команды не может совпадать с именем стандартной команды
9576981 ,
А зачем переходили на 11 ?
Планируется добавить новые объекты (документы).
9576981 , стандартный вопрос, кэш чистили? Тестирование и исправление делали? База файловая или клиент-серверная?
Prikum ,
У меня эта ошибка возникла в момент "обновить конфигурацию базы данных" на этой платформе. Переименование команды -ошибку исправило.
Tanya , скорее всего будут расширение конфигурации использовать! Хотя мне оно не понравилось. Может быть 3 попытка будет более удачная, но пока не понял всех прелестей расширения.
Tanya , у меня нет этой ошибки, правда БП Проф, а не КОРП.
Prikum ,
То что из-за новых возможностей расширения - это понятно. Я бы то же пока не спешила. Встретила два мнения - что будет с данными если расширение отвалиться. В одной статье - что данные не пропадут. в другой что данные потеряются.
Цитата |
---|
Планируется добавить новые объекты (документы). |
А вы в курсе что
- документы из расширения не могут делать движений по регистрам
и самое главное - что режим совместимости 8.3.10 ,Будите снимать конфигурацию с поддержки ?
P.S.
Хотя у вас и так все снято с поддержки.
Читают тему:
Мероприятия
- Где купить СОФТ
- Вакансии фирм-партнеров "1С"
- Центры Сертифицированного Обучения
- Интернет курсы обучения "1С"
- Самоучители
- Учебный центр № 1
- Учебный центр № 3
- Сертификация по "1С:Профессионал"
- Организация обучения под заказ
- Книги по 1С:Предприятию
При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.
Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.
Редакция уважает мнение авторов, но не всегда разделяет его.
Дизайн сайта
Мы используем файлы cookie, чтобы анализировать трафик, подбирать для вас подходящий контент и рекламу, а также дать вам возможность делиться информацией в социальных сетях. Если вы продолжите использовать сайт, мы будем считать, что вас это устраивает.
Добавлена интеграция Статей ДДС для внутреннего документа.
Библиотека интеграции с 1С:ДО. Версия 1.1.16.1 (01.04.2020)
Описание изменений
Обновлен раздел ошибки 1С:Документооборот в руководстве администратора. Добавлены описание ошибок и способы их исправления, влияющие на работу бизнес-процесса подписания внутренних документов.
Обновление статуса подписания. Ранее этот статус не мог обновляться из-за недоработок на стороне 1С:Документооборот. Обновление статуса подписания будет работать только при исправлении ошибок, указанных в руководстве администратора.
Исправленные ошибки
В случае обновления файлов, подписанных в 1С:Документообороте электронной подписью, обмен всегда завершался ошибкой "Ошибка при изменении внутреннего документа:Подписанный файл нельзя редактировать".
Исправлена ошибка, привнесенная в версии 1.1.15.1 для формы внутреннего документа. Следствием этой ошибки были невозможность изменить сроки исполнения из формы внутреннего документа и функциональная ошибка в некоторых сценариях работы с формой внутреннего документа.
Для процесса и задач подписания изменены заголовки элементов управления. Ранее фигурировали термины "Утвердить".
Форма правил настройки индикаторов. Исправлена ошибка некорректного отображения статусов подписания.
Библиотека интеграции с 1С:ДО. Версия 1.1.15.1 (09.08.2019)
Описание изменений
В программный интерфейс (общий модуль рав_Документооборот) добавлены методы для прикрепления файлов к объекту учетной системы (метод ПрикрепитьФайлКОбъектуИС) и к объекту Документооборота, связанному с объектом учетной системы (метод ПрикрепитьФайлКОбъектуДО). Из прикладного интерфейса эти методы не вызываются, однако можно их использовать по своему усмотрению.
Соответствие справочника пользователей при заполнении реквизитов интегрированного объекта этого типа теперь осуществляется по коду (раньше было по наименованию)
Оптимизировано начальное заполнение справочника Правила интеграции для договоров: добавлено автоматическое правило заполнения для передачи в ДО для реквизитов Контрагент, Регистрационный номер, Дата начала действия, Дата окончания действия, Срок действия, Порядок продления.
Для объектов штрих-кодирования добавлена настройка возможности штрих-кодировать только новые объекты. Настройка сделана, чтобы после включения штрих-кодирования при массовой перезаписи объектов (например, перепроведении документов) всем этим объектам не присвоен штрих-код и они не встали в очередь для передачи в 1С Документооборот.
В интерфейсе правил настроек отображения индикаторов увеличилось количество возможных состояний с 4 до 9. При этом количество возможных цветов состояний осталось прежним - 4
Исправленные ошибки
Соответствие справочника пользователей при заполнении реквизитов интегрированного объекта этого типа теперь осуществляется по коду (раньше было по наименованию).
Удалены вызовы методов отсутствующего модуля ДополнительныеОтчетыИОбработкиПовтИсп
Библиотека интеграции с 1С:ДО. Версия 1.1.14.1 (14.03.2019)
Изменена форма выполняемой задачи. Теперь на форме любой задачи показывается история выполнения всех процессов по предмету, а также вся история переписки. Описание задачи история выполнения представляется в виде HTML, что делает более наглядную визуализацию и позволяет быстро переходить с помощью гиперссылок к другим объектам истории.
Если в 1С: Документооборот не стоял учет по организациям, то в форме интеграции на закладке "История переписки" могла возникать ошибка.
На платформе 8.3.12 и выше при установки настройки "Использование интеграции с 1С: Документооборот" приложение завершалось ошибкой. Это ошибка платформы, найден обходной путь.
Библиотека интеграции с 1С:ДО. Версия 1.1.13.1 (24.10.2018)
Добавлен функционал печать с использованием нативной компоненты платформы. Данный функционал позволяет печатать штрих-код как для 32, так и для 64-битного клиента. Ранее использовался функционал компоненты ActievX, который поддерживается только 32- битным приложением. Также, нативная компонента позволяет выводить штрихкоды при работе на OS X и Linux- системах.
Библиотека интеграции с 1С:ДО. Версия 1.1.12.1 (17.09.2018)
Описание изменений |
Добавлен новый интегрированный объект - Документ "Внутренний заказ". Для полноценной интеграции этого документа необходимо после обновления на текущую версию добавить программный код в формы документа. Данный процесс описан в руководстве администратора в разделе "Этап №2: Автоматическое изменение типовых объектов конфигурации" |
Библиотека интеграции с 1С:ДО. Версия 1.1.11.2 (16.08.2018)
Это исправительный релиз, описание изменений и исправленных ошибок:
Исправленные ошибки |
Для договоров контрагентов если не подходили никакие правила по условиям применимости, всё равно всегда подтягивалось первое попавшееся правило. Вследствие этого могли создаваться договора, которые не были нужны в системе. |
Из подсистемы НовыеОбъектыБиблиотекиДО убраны некоторые общие формы, которые вошли в состав УПП в последних релизах (ОбщаяФорма.ДобавлениеЭлектроннойПодписиИзФайла и ОбщаяФорма.СохранениеВместеСЭлектроннойПодписью) |
Если в форме авторизации в 1С:Документооборот поставить флаг "Уведомлять о новых задачах" и не указать интервал уведомления, то возникала ошибка. |
В версии 1.1.11.1 была ошибка при попытке запуска тонкого клиента |
Исправлены некоторые неточности в документации |
Библиотека интеграции с 1С:ДО. Версия 1.1.11.1 (02.07.2018)
Описание изменений
Подписание документов. К функционалу процесса Утверждение добавлен термин Подписание, если предмет процесса (внутренний документ) подписывается согласно настройкам 1С:Документооборота. Появилась возможность устанавливать цвет индикатора для статусов подписаний.
Для упрощения диагностики поведения модуля при проблемах с авторизацией, в журнал регистрации пишутся расширенная информация: как для корректной, так и для некорректной авторизации в веб-сервис. События журнала: "Успешное определение веб-сервиса", "Интеграция с 1С:Документооборотом Ошибка подключения к 1С:Документообороту." |
В формах интегрированных объектов появилось поле сумма НДС, если организация является плательщиком НДС. |
В форме Задачи в контекстном меню предметов добавлена команда "Добавить файл к основному предмету". Это ускоряет возможность добавлять файлы к договору и другим документам. |
Исправление документации
В руководстве администратора добавлено описание ошибки "Сумма НДС. Получение реквизита из 1С:Документооборот", возникающей при использовании модуля интеграции и способы их исправления. На данный момент указаны четыре ошибки:
Типы значения для дополнительных реквизитов |
Правило заполнения «Из выражения на встроенном языке». Особенности. |
Прикрепление файлов к процессам |
Сумма НДС. Получение реквизита из 1С:Документооборот |
Подробное описание этих ошибок и способ их исправления описаны в разделе "Ошибки 1С:Документооборот" |
Исправленные ошибки
Библиотека интеграции с 1С:ДО. Версия 1.1.10.1 (05.04.2018)
На форме интеграции доработана таблица "Файлы объекта Документооборота": добавлены команды на командную панель по аналогии с таблицей "Файлы объекта ИС"
Типы значения для дополнительных реквизитов
Правило заполнения «Из выражения на встроенном языке». Особенности.
Прикрепление файлов к процессам
Подробное описание этих ошибок и способ их исправления описаны в разделе "Ошибки 1С:Документооборот"
Исправлена ошибка, препятствующая прикреплению внутренних печатных форм к объектам Документооборота
При прикреплении со стороны интегрированной системы файлов с раширением .pdf, .jpg и т.д. (которые указаны в качестве форматов файлов скан-копий в настройках 1С:Документооборот) не проставлялся признак, что этот файл - скан-копия оригинала документа.
Для пользователей с неполными правами доступа нельзя было редактировать дополнительный реквизиты объектов Документооборота
Для интеграции с 1С:Документооборот версии ПРОФ не работало выполнение задач по процессу "Рассмотрение"
Библиотека интеграции с 1С:ДО. Версия 1.1.9.1 (29.01.2018)
Акт сверки взаиморасчетов
Исправлено поведение переноса штрихкода в ДО. Если штрихкод не перенесен по какой-то ошибке, то количество этих ошибок фиксируется с комментарием. Объекты, которые три раза не смогли перенестись при создании штрихкода, больше не переносятся. Таким образом ошибочные объекты исключаются из массива для переноса.
Библиотека интеграции с 1С:ДО. Версия 1.1.8.2
Библиотека интеграции с 1С:ДО. Версия 1.1.7.1 (06.04.2017)
При добавлении нового процесса в документооборот нужно иногда присваивать ему дополнительные реквизиты, но эти реквизиты отображаются во всех процессах данного типа, а это неудобно и не правильно. В стандартном механизме документооборота есть ограничение на видимость и заполнение по отборам, но оно не работает (выдает ошибку). Чтобы решить эту проблему без влезания в код и привлечения программистов, я сделал расширение конфигурации.
В документообороте можно назначить дополнительные реквизиты для шаблонов и потом с ними работать в шаблоне процесса. (рис 1)
В дополнительных реквизитах можно указывать ограничения как на видимость реквизита так и на обязательность его заполнения. Удобней всего указывать в отборе шаблон которому принадлежит реквизит, что бы Шаблоне "Заявка" и "Исправления" был разный набор реквизитов обязательных к заполнению. (Рис 2)
Но если пользоваться эти отборы использовать возникает ошибка (Поле объекта не обнаружено (Шаблон), которую можно убрать только программным путём. (рис 3)
Ошибка исправляется очень просто если вы знаете как открыть конфигуратор и добавить реквизит.
Нужно в справочнике ШаблоныКомплексныхБизнесПроцессов добавить реквизит Шаблон с типом значения СправочникСсылка.ШаблоныКомплексныхБизнесПроцессов
После этого ошибка будет исправлена и отборы будут правильно работать. Но тогда придётся снимать конфигурацию с поддержки.
Если вы это не умеете или нет желания снимать конфигурацию с поддержки то я сделал для вас расширение.
Не буду расписывать весь процесс добавление, по этому поводу очень много информации в интернете, вот вам ссылка на первую статью Ссылка
Расширение добавляет нужный реквизит в справочник.
Конфигурация Документооборот 2.1 (2.1.13.28)
Платформа: 1С:Предприятие 8.3 (8.3.14.1630)
UPD если у вас не обновлен документооборот до версии 2.1.13.28 то нужно будет в конфигурации менять режим совместимости на 8.3.12 иначе расширение использовать будет нельзя
Читайте также: