Решение ошибок "Нет кнопки Создать на основании" или "Задвоились пункты в меню Создать на основании"

30.08.21

Разработка - БСП (Библиотека стандартных подсистем)

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пример на котором решал данную задачу. Расширение "Тендер" для Business Automation Software for small company. PROF (1.6.15.1) она же УНФ!
.rar 226,39Kb
2
2 Скачать (2 SM) Купить за 2 150 руб.

Задача: добавить два новые документа в типовую конфигурацию “Bas small business” (УНФ). Причем один из документов должен вводиться на основании другого.

Ошибка №1 В пользовательском режиме кнопка «Создать на основании» не появилась

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

В итоге мне пришлось добавить согласно инструкции процедуры и функции в модуль формы и в модуль менеджера нового документа.

Вот пример модуля менеджера моего нового документа. Привожу этот пример, т.к. поменял процедуру ДобавитьКомандуСоздатьНаОсновании не так, как в инструкции.

После этого, о чудо! Кнопка "Создать на основании" появилась, но тут появилась вторая ошибка №2:

Меню задвоилось! Вспомнил, что подобную ошибку встречал уже в своей практике, но решение сразу не нашел. Тогда решил упереться и докопаться до причины. Оказалось

Общий.Модуль.ПодключаемыеКоманды процедура ВывестиКоманды

В этом месте в таблице значений ВидыКоманд две строки СозданиеНаОсновании!

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

В итоге задача решается двумя вариантами:

1. ОбщийМодуль.СозданиеНаОснованииПереопределяемый  отключаем использование добавления команд ввода на основании в одном из случаев.

Но этот способ может повлиять на работу в других местах программы, где этот механизм нужен. Хотя я проверил документ ЗаказПокупателя (стандартный документ) и убедился, что кнопки Создать на основании остались. Но, на всякий случай, решил задачу вторым вариантом:

2. Там где формируется ТЗ ВидыКоманд таблицу нужно аккуратно свернуть, но для этого нужно поменять две процедуры ОбщийМодуль. ПодключаемыеКомандыПереопределяемый

И ОбщийМодуль.ПодключаемыеКоманды процедура ВидыКоманд()

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

БСП УНФ Создать на основании;

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    7338    36    23    

40

Анализ учета БСП (Библиотека стандартных подсистем) 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

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

22.05.2025    2028    91    seperblunt    6    

22

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С v8.3 1C:ERP Бесплатно (free)

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

12.05.2025    2079    PROSTO-1C    1    

15

БСП (Библиотека стандартных подсистем) Роли и права Программист 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Наткнулся на костыль по работе с ролями. Хочу поделиться, как не попасть на это странное поведение БСП.

07.05.2025    5659    dsdred    32    

87

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    2090    krasnoshchekovpavel    7    

17

БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С v8.3 Бесплатно (free)

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

01.04.2025    1456    krasnoshchekovpavel    0    

9

БСП (Библиотека стандартных подсистем) Программист 1С v8.3 Россия Бесплатно (free)

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

24.03.2025    2109    GeraltSnow    6    

31

БСП (Библиотека стандартных подсистем) Программист 1С v8.3 Бесплатно (free)

Добавим метки в новый документ средствами БСП.

10.02.2025    5586    John_d    24    

55
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Hatson 538 16.11.21 19:18 Сейчас в теме
Этого не достаточно. Нужно прописать объект метаданных в процедуру
СозданиеНаОснованииПереопределяемый.ПриОпределенииОбъектовСКомандамиСозданияНаОсновании(Объекты);
TerveRus; JIEX@; yaroslavch; +3 Ответить
2. MaxTolya 17 03.04.23 12:42 Сейчас в теме
Кроме этого (проверено опытным путем на ЕРП), если добавить в эту же процедуру и тот документ, который вводим на основании, а в модуле менеджера этого документа сделать заглушки функций ДобавитьКомандыСозданияНаОсновании и ДобавитьКомандуСоздатьНаОсновании, то задвоения строк не будет.
// Определяет список команд создания на основании.
//
// Параметры:
//   КомандыСозданияНаОсновании - ТаблицаЗначений - Таблица с командами создания на основании. Для изменения.
//       См. описание 1 параметра процедуры СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании().
//   Параметры - Структура - Вспомогательные параметры. Для чтения.
//       См. описание 2 параметра процедуры СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании().
//
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
	
КонецПроцедуры

// Добавляет команду создания документа "мо_АктОНепрохождениеВходногоКонтроля".
//
// Параметры:
//   КомандыСозданияНаОсновании - ТаблицаЗначений - Таблица с командами создания на основании. Для изменения.
//       См. описание 1 параметра процедуры СозданиеНаОснованииПереопределяемый.ПередДобавлениемКомандСозданияНаОсновании().
//
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт

	Возврат Неопределено;
КонецФункции

Показать
Enziger; dimanich70; +2 Ответить
Оставьте свое сообщение