Параметры выбора и связи параметров выбора в панели быстрых настроек отчета СКД

Публикация № 1185743 28.01.20

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

Предложен способ задать параметры выбора и связи параметров выбора для отборов и параметров отчета СКД, выведенных в панель быстрых настроек.

При разработке отчета на СКД часто требуется указать связь между параметрами этого отчета. Например если в отчете имеется параметры "Номенклатура" и "Серия", при выборе серии показывать только серии данной номенклатуры. Или нужно отображать в списке выбора элементов справочника "ЗначенияСвойствОбъектов" только значения, принадлежащие определенному элементу плана видов характеристик "ДополнительныеРеквизитыИСведения". Несмотря на то, что в полях и параметрах СКД есть возможность указать параметры выбора и связи параметров выбора, этот механизм не работает (по крайней мере, так обстоит дело в ERP 2.4.9.98).

Можно написать свою форму отчета, разместить на ней элементы отбора и сделать в ней все, что угодно. Но не хотелось бы терять мощные механизмы общей формы "ФормаОтчета" или копипастить их в свой отчет.

Можно модифицировать общую форму "ФормаОтчета" под свои задачи. Но не хотелось бы это делать каждый раз при разработке нового отчетов.

Предлагаю пример решения этой задачи для двух вариантов:

1. Фиксированный параметр выбора для поля "Отбор". В отчете сделан отбор по полю с типом "Справочник.ЗначенияСвойствОбъектов". При выборе значения отбора требуется показать пользователю только элементы с заданным владельцем.

2. Связи параметров выбора для поля "Параметр". В отчете имеется 2 параметра: Номенклатура и Серия. При выборе серии, показывать пользователю только серии выбранной номенклатуры

 

1. Фиксированный параметр выбора

Создаем отчет (файл ВнешнийОтчет_ФиксированныеПараметрыОтбора.erf). 

Если отчет встроен в расширение, то необходимо:

1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки

2. Добавить отчет в эту подсистему

3. В модуле менеджера отчета написать код:

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

Процедура ПриОпределенииНастроек(Настройки) Экспорт
	
	Настройки.ОпределитьНастройкиФормы = Истина;
	
КонецПроцедуры	

#КонецЕсли

В 1С добавить дополнительный реквизит справочника Номенклатура "Раздел комплектации" с типом значений "Дополнительное значение". Указать или сгенерировать имя реквизита, в моем случае это "РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e"

В отчете составляем текст запроса:
ВЫБРАТЬ
	НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка,
	НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
	НоменклатураДополнительныеРеквизиты.Значение КАК РазделКомплектации
ИЗ
	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
ГДЕ
	НоменклатураДополнительныеРеквизиты.Свойство = &Свойство

Для поля "РазделКомплектации" нужно указать тип значения СправочникСсылка.ЗначенияСвойствОбъектов

На вкладке "Параметры" укажем выражение для параметра "Свойство": ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e", Истина)

Включим отбор по полю "РазделКомплектации" в пользовательские настройки: на вкладке "Настройки", "Отбор" добавими отбор "РазделКомплектации", щелкнем на нем правой кнопкой мыши, "Свойства элементов пользовательских настроек", установим флажок "Включать в пользовательские настройки".

В модуле отчета указываем, что мы перехватываем событие "ПослеЗаполненияПанелиБыстрыхНастроек":
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	
	Настройки.События.ПослеЗаполненияПанелиБыстрыхНастроек = Истина;
	
КонецПроцедуры
В обработчике этого события нужно найти элемент формы в панели быстрого отбора, в котором пользователь указывает значение отбора "Раздел комплектации". В параметрах выбора этого элемента задаем отбор по владельцу - плану видов характеристик "Раздел комплектации":
Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыОбновления) Экспорт
	
	ПутьКДаннымПоля_РазделКомплектации = ПутьКДаннымЭлементаФормыЗначенияОтбора("РазделКомплектации");
	
	Для Каждого Элемент Из Форма.Элементы Цикл
		
		Если СтрНачинаетсяС(Элемент.Имя, "КомпоновщикНастроекПользовательскиеНастройкиЭлемент") 
			И ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда
			
			Если Элемент.ПутьКДанным = ПутьКДаннымПоля_РазделКомплектации Тогда
				
				Массив = Новый Массив;
				Массив.Добавить(Новый ПараметрВыбора("Отбор.Владелец", ПВХ_РазделКомплектации())); 
				ПараметрыВыбора = Новый ФиксированныйМассив(Массив);
				Элемент.ПараметрыВыбора = ПараметрыВыбора;
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

Функция ПутьКДаннымЭлементаФормыЗначенияОтбора(ИмяПоляКомпоновкиДанных)
	
	ПолеКомпоновкиДанных = Новый ПолеКомпоновкиДанных(ИмяПоляКомпоновкиДанных);
	
	Для Каждого Элемент Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
		Если Элемент.ЛевоеЗначение = ПолеКомпоновкиДанных Тогда
			ИдентификаторПользовательскойНастройки = Элемент.ИдентификаторПользовательскойНастройки;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	Если ИдентификаторПользовательскойНастройки = Неопределено Тогда
		возврат Неопределено;
	КонецЕсли;
	
	ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
	Для Индекс = 0 По ПользовательскиеНастройки.Количество()-1 Цикл
		Если ПользовательскиеНастройки[Индекс].ИдентификаторПользовательскойНастройки = ИдентификаторПользовательскойНастройки Тогда
			возврат "Отчет.КомпоновщикНастроек.ПользовательскиеНастройки["+Формат(Индекс, "ЧДЦ=0; ЧН=0; ЧГ=")+"].Значение";
		КонецЕсли;
	КонецЦикла;
	
	возврат Неопределено;
	
КонецФункции

Функция ПВХ_РазделКомплектации()
	возврат ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "РазделКомплектации_c7a03c267bb64e0eb58489873f24c25e", Истина)	
КонецФункции

 

2. Связи параметров выбора

Здесь мне уже не получилось обойтись без модификации общей формы "ФормаОтчета". Произошло это потому, что не получилось задать связи параметров выбора в существующих элементах панели быстрых настроек. Я выбрал обходной путь - скрывать существующий элемент формы со значением отбора, и подставлять на его место свой элемент. Связи параметров выбора зависимого элемента (серии) я задаю с данными этого элемента. Я постарался свести изменения ФормыОтчета к минимуму, и сделать их универсальными (их не нужно переписывать при создании другого отчета).

Создаем отчет (файл ВнешнийОтчет_СвязиПараметровВыбора.erf). 

Как и в предыдущем примере, если отчет встроен в расширение, то необходимо:

1. Добавить в расширение подсистему ПодключаемыеОтчетыИОбработки

2. Добавить отчет в эту подсистему

3. В модуле менеджера отчета написать:

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

Процедура ПриОпределенииНастроек(Настройки) Экспорт
	
	Настройки.ОпределитьНастройкиФормы = Истина;
	
КонецПроцедуры	

#КонецЕсли
В отчете составляем текст запроса:
ВЫБРАТЬ
	РеализацияТоваровУслугСерии.Ссылка КАК Ссылка,
	РеализацияТоваровУслугСерии.Количество КАК Количество
ИЗ
	Документ.РеализацияТоваровУслуг.Серии КАК РеализацияТоваровУслугСерии
ГДЕ
	РеализацияТоваровУслугСерии.Номенклатура = &Номенклатура
	И РеализацияТоваровУслугСерии.Серия = &Серия

Параметры "Номенклатура" и "Серия" включим в пользовательские настройки (см. выше).

В модуле отчета указываем, что мы перехватываем событие "ПослеЗаполненияПанелиБыстрыхНастроек":
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	
	Настройки.События.ПослеЗаполненияПанелиБыстрыхНастроек = Истина;
	
КонецПроцедуры
В обработчике этого события:

1. Находим элементы формы - значения параметров "Номенклатура" и "Серия"

2. Добавляем в форму новый реквизит "МойРеквизит_Номенклатура". Добавить элемент формы для этого реквизита.
Элементу формы указать обработчик события "ПриИзменении" (обработчик этого события и будет то единственным изменением общей формы "ФормаОтчета").

3. Скрываем старый элемент формы "Номенклатура".

4. Для элемента формы "Серия" задаем связи параметров выбора.

5. Сохраняем необходимую в дальнейшем информацию в дополнительных свойствах пользовательских настроек компоновщика настроек:

Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыОбновления) Экспорт
	
	//находим элементы формы - параметры "Номенклатура" и "Серия"
	ИмяПараметра_Номенклатура = "Номенклатура";
	ИдентификаторПользовательскойНастройки_Номенклатура = ИдентификаторПользовательскойНастройки(ИмяПараметра_Номенклатура);
	ПутьКДаннымПоля_Номенклатура = ПутьКДаннымЭлементаФормыЗначениеПараметра(ИдентификаторПользовательскойНастройки_Номенклатура);
	
	ИмяПараметра_Серия = "Серия";
	ИдентификаторПользовательскойНастройки_Серия = ИдентификаторПользовательскойНастройки(ИмяПараметра_Серия);
	ПутьКДаннымПоля_Серия = ПутьКДаннымЭлементаФормыЗначениеПараметра(ИдентификаторПользовательскойНастройки_Серия);
	
	СтарыйЭлемент_Номенклатура = ЭлементФормыПоПутиКДанным(Форма, ПутьКДаннымПоля_Номенклатура);
	Если СтарыйЭлемент_Номенклатура = Неопределено Тогда
		возврат;
	КонецЕсли;
	
	ПараметрыКомпоновкиДанныхСоответствующиеДобавленнымРеквизитам = Новый Структура();
	ЗначенияВДобавленныхРеквизитахФормы = Новый Структура();
	
	//добавляем новый реквизит в форму
	ИмяДобавляемогоРеквизита_Номенклатура = "МойРеквизит_Номенклатура";
	Если Не СуществуетРеквизитФормы(Форма, ИмяДобавляемогоРеквизита_Номенклатура) Тогда
		ДобавляемыеРеквизиты = Новый Массив;
		РеквизитФормы = Новый РеквизитФормы(ИмяДобавляемогоРеквизита_Номенклатура, Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); 
		ДобавляемыеРеквизиты.Добавить(РеквизитФормы);
		Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	КонецЕсли;
	
	//заполняем его значение
	СохраненноеЗначение_Номенклатура = ПолучитьЗначениеПараметраПользовательскойНастройкиОтчета(Форма, ИдентификаторПользовательскойНастройки_Номенклатура);
	Форма[ИмяДобавляемогоРеквизита_Номенклатура] = СохраненноеЗначение_Номенклатура;
	
	//добавляем элемент формы в панель пользовательских настроек
	НовыйЭлемент_Номенклатура = Форма.Элементы.Вставить(ИмяДобавляемогоРеквизита_Номенклатура, Тип("ПолеФормы"), СтарыйЭлемент_Номенклатура.Родитель, СтарыйЭлемент_Номенклатура);
	НовыйЭлемент_Номенклатура.Вид = ВидПоляФормы.ПолеВвода;
	НовыйЭлемент_Номенклатура.ПутьКДанным = ИмяДобавляемогоРеквизита_Номенклатура;
	НовыйЭлемент_Номенклатура.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
	
	//эта процедура должна быть определена в общей форме "ФормаОтчета"
	НовыйЭлемент_Номенклатура.УстановитьДействие("ПриИзменении", "МоиДобавленныеЭлементыПриИзменении");
	
	//скрываем старый элемент формы
	СтарыйЭлемент_Номенклатура.Видимость = Ложь;
	
	//определяем связи параметров выбора
	Элемент_Серия = ЭлементФормыПоПутиКДанным(Форма, ПутьКДаннымПоля_Серия);
	Если Элемент_Серия <> Неопределено Тогда
		Массив = Новый Массив;
	    Массив.Добавить(Новый СвязьПараметраВыбора("Номенклатура", ИмяДобавляемогоРеквизита_Номенклатура, РежимИзмененияСвязанногоЗначения.Очищать)); 
	    СвязиПараметровВыбора = Новый ФиксированныйМассив(Массив);
	    Элемент_Серия.СвязиПараметровВыбора = СвязиПараметровВыбора;
	КонецЕсли;
	
	//сохраняем все необходимые связи в дополнительных свойствах пользовательских настроек.
	//они затем используются в процедурах ПриКомпоновкеРезультата этого модуля 
	//и в МоиДобавленныеЭлементыПриИзменении общей формы "ФормаОтчета"
	ПараметрыКомпоновкиДанныхСоответствующиеДобавленнымРеквизитам.Вставить(ИмяДобавляемогоРеквизита_Номенклатура, ИмяПараметра_Номенклатура);
	ЗначенияВДобавленныхРеквизитахФормы.Вставить(ИмяДобавляемогоРеквизита_Номенклатура, СохраненноеЗначение_Номенклатура);
	
	Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(
		"ЗначенияВДобавленныхРеквизитахФормы", ЗначенияВДобавленныхРеквизитахФормы);
	Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(
		"ПараметрыКомпоновкиДанныхСоответствующиеДобавленнымРеквизитам", ПараметрыКомпоновкиДанныхСоответствующиеДобавленнымРеквизитам);
	
КонецПроцедуры
В обработчике события "ПриИзменении" модуля формы "ФормаОтчета" сохраняем в дополнительных свойствах компоновщика выбранное значение поля "МойРеквизит_Номенклатура":
&НаКлиенте
Процедура МоиДобавленныеЭлементыПриИзменении(Элемент)
	
	ЗначенияВДобавленныхРеквизитахФормы = Неопределено;
	Если Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Свойство("ЗначенияВДобавленныхРеквизитахФормы", ЗначенияВДобавленныхРеквизитахФормы)
		И ТипЗнч(ЗначенияВДобавленныхРеквизитахФормы) = Тип("Структура") Тогда
		
		ЗначениеДобавленногоРеквизита = Неопределено;
		Если ЗначенияВДобавленныхРеквизитахФормы.Свойство(Элемент.Имя, ЗначениеДобавленногоРеквизита) Тогда
			//имя добавленного реквизита должно совпадать с именем элемента
			Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства["ЗначенияВДобавленныхРеквизитахФормы"].Вставить(Элемент.Имя, ЭтотОбъект[Элемент.Имя]);
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры
В процедуре "При компоновке данных" извлекаем эти данные и подставляем в компоновщик:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	Для Каждого КлючИЗначение Из КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.ПараметрыКомпоновкиДанныхСоответствующиеДобавленнымРеквизитам Цикл
		
		ПараметрКомпоновкиДанных = Новый ПараметрКомпоновкиДанных(КлючИЗначение.Значение);
		Если ПараметрКомпоновкиДанных<>Неопределено Тогда
			
			Для Каждого Элемент Из КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
				Если Элемент.Параметр = ПараметрКомпоновкиДанных Тогда
					ЗначениеПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.ЗначенияВДобавленныхРеквизитахФормы[КлючИЗначение.Ключ];
			        Элемент.Значение = ЗначениеПользовательскойНастройки;
			    КонецЕсли;
			КонецЦикла;
			
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

 

Вспомогательные процедуры модуля объекта отчета:
#Область Вспомогательные

Функция ЭлементФормыПоПутиКДанным(Форма, ПутьКДанным)
	
    Для Каждого Элемент Из Форма.Элементы Цикл
        
        Если СтрНачинаетсяС(Элемент.Имя, "КомпоновщикНастроекПользовательскиеНастройкиЭлемент") 
            И ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда
            
            Если Элемент.ПутьКДанным = ПутьКДанным Тогда
				возврат Элемент;
			КонецЕсли;
                
        КонецЕсли;
        
    КонецЦикла;
    
КонецФункции

Функция ПутьКДаннымЭлементаФормыЗначениеПараметра(ИдентификаторПользовательскойНастройки)
    
    Если ИдентификаторПользовательскойНастройки = Неопределено Тогда
        возврат Неопределено;
    КонецЕсли;
    
    ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
    Для Индекс = 0 По ПользовательскиеНастройки.Количество()-1 Цикл
        Если ПользовательскиеНастройки[Индекс].ИдентификаторПользовательскойНастройки = ИдентификаторПользовательскойНастройки Тогда
            возврат "Отчет.КомпоновщикНастроек.ПользовательскиеНастройки["+Формат(Индекс, "ЧДЦ=0; ЧН=0; ЧГ=")+"].Значение";
        КонецЕсли;
    КонецЦикла;
    
    возврат Неопределено;
    
КонецФункции

Функция ИдентификаторПользовательскойНастройки(ИмяПоляКомпоновкиДанных)
	
    ПараметрКомпоновкиДанных = Новый ПараметрКомпоновкиДанных(ИмяПоляКомпоновкиДанных);
    
    Для Каждого Элемент Из КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы Цикл
        Если Элемент.Параметр = ПараметрКомпоновкиДанных Тогда
            возврат Элемент.ИдентификаторПользовательскойНастройки;
        КонецЕсли;
	КонецЦикла;
	
КонецФункции

Функция ПолучитьЗначениеПараметраПользовательскойНастройкиОтчета(Форма, ИдентификаторПользовательскойНастройки)
	
    Если ИдентификаторПользовательскойНастройки = Неопределено Тогда
        возврат Неопределено;
    КонецЕсли;
    
	Для Каждого Элемент Из Форма.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
		
		Если Элемент.ИдентификаторПользовательскойНастройки = ИдентификаторПользовательскойНастройки Тогда
			возврат Элемент.Значение;
		КонецЕсли;
		
	КонецЦикла;
	
КонецФункции

Функция СуществуетРеквизитФормы(Форма, ИмяРеквизита)
	
	РеквизитыФормы = Форма.ПолучитьРеквизиты();
	Для Каждого Реквизит Из РеквизитыФормы Цикл
		Если Реквизит.Имя = ИмяРеквизита Тогда
			возврат Истина;
		КонецЕсли;
	КонецЦикла;
	
	возврат Ложь;
	
КонецФункции

#КонецОбласти

 

Скачать файлы

Наименование Файл Версия Размер
Параметры выбора и связи параметров выбора в панели быстрых настроек отчета СКД:

.zip 10,36Kb
5
.zip 10,36Kb 5 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1049275 16.03.20 15:17 Сейчас в теме
Большое спасибо за наводку. Бился несколько дней, чтобы при открытии дополнительного отчета с общей формой "ФормаОтчета" из элемента справочника, выполнялся отбор по данному элементу. В процедуре "ПриСозданииНаСервере" никак не хотело отрабатывать нормально, при установке Форма.ФормаПараметры.Отбор сам отбор исчезал из панели быстрых настроек. В процедуре "ПослеЗаполненияПанелиБыстрыхНастроек" получилось. Не факт, что правильно, но пока делает то, что нужно. Благодарю за статью
2. Sersh2010 4 06.11.20 15:19 Сейчас в теме
Тоже искал как сделать связь параметров выбора для подразделений в зависимости от организации в отборах.
Почитал. Много кода. Нашел решение проще.
Функция ОпределитьНастройкиФормы(Форма, КлючВарианта, НастройкиОтчета) Экспорт
	НастройкиОтчета.События.ДополнитьСвязиОбъектовМетаданных = Истина;
КонецФункции

Функция ДополнитьСвязиОбъектовМетаданных(Связи) Экспорт
	НовСтр = Связи.Добавить();
	НовСтр.ПодчиненныйРеквизит = "Отбор.Владелец";
	НовСтр.ПодчиненныйТип = Тип("СправочникСсылка.ПодразделенияОрганизаций");
	НовСтр.ВедущийТип = Тип("СправочникСсылка.Организации");
КонецФункции
Показать
3. ipoloskov 159 06.11.20 19:02 Сейчас в теме
(2) странный способ выбрали разработчики - задавать связи через тип. А если в отчете два параметра типа Организация?
4. Sersh2010 4 06.11.20 20:39 Сейчас в теме
На самом деле в платформе была такая возможность - указывать связи параметров выбора в полях СКД. Но она не работала. Сейчас набросал простой отчет - работает. Видимо когда-то поправили. Платформа 8.3.16.1063.
Прикрепленные файлы:
user703659_elvan.1c; leemuar; +2 Ответить
5. leemuar 20.01.23 19:13 Сейчас в теме
(4) спасибо тебе, мил человек, выручил
Оставьте свое сообщение

См. также

Учим БСП печатать активные ссылки и подложку в документе WORD

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Небольшое расширение БСП для печати в WORD. Добавлена печать активных ссылок, подложки документа, и фона страницы.

1 стартмани

13.03.2023    1227    3    user1575928    0    

6

Пример многопоточной обработки (БСП)

Обработка документов HighLoad оптимизация Обработка справочников БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

13.02.2023    5905    4    echo77    8    

76

Запуск фонового задания с прогрессом во внешней обработке независимо от места вызова на Библиотеке стандартных подсистем

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Открытый код. Реализован запуск как из справочника дополнительных обработок, так и с файла на диске без обязательного доступа с сервера. Используется актуальная процедура БСП ДлительныеОперации.ВыполнитьПроцедуру.

1 стартмани

10.02.2023    1799    5    janit    0    

7

Ошибка механизма автонумерации объектов. Обработка «Максимальный код (номер) объекта» (БСП 3.1.7.61)

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Сбой механизма автонумерации документов и справочников 1С:Предприятие 8.3. Методика исправления проблемы. Вспомогательная обработка.

1 стартмани

30.01.2023    1311    1    mobiledrivec    0    

3

Работа с файлами

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.09.2022    2250    10    Tash.B    0    

8

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

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

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

1 стартмани

31.08.2022    5902    52    VdZMWOnC    5    

83

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

Обработка документов Печатные формы БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

27.07.2022    3255    5    Alex33614    2    

6

Выгрузка дополнительных отчетов и обработок

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Внешняя обработка 1С:Предприятие, позволяющая быстро выгрузить все подключенные внешние отчеты и обработки в рабочий каталог в виде одного архивного файла *.zip или набора файлов.

1 стартмани

21.07.2022    2186    7    mobiledrivec    0    

5

Рассылки отчетов по графикам

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

14.06.2022    3008    5    Sirruf    0    

2

Как подключить документ расширения к версионированию БСП

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Пример расширения, в котором добавлен новый документ и он же подключен к подсистеме версионирования объектов. Важно! Основную конфигурацию нужно переключить в режим совместимости 8.3.20.

2 стартмани

27.05.2022    5806    5    EvgeTrofi    9    

13

Подсистема регулярных заданий

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Абонемент ($m)

Подсистема регулярных заданий предназначена для выполнения произвольных алгоритмов (задач) по заранее сформированным графикам с учетом производственного календаря.

1 стартмани

23.05.2022    5208    15    Sirruf    15    

14

Универсальный анализ и управление ролями

Инструменты администратора БД БСП (Библиотека стандартных подсистем) Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Универсальный анализ прав доступа (без RLS) по ролям конфигурации. Работает с конфигурациями на библиотеке стандартных подсистем.

1 стартмани

27.04.2022    4231    27    denmp    0    

5

Шаблон обработки внешнего заполнения  (БСП, управляемые формы)

БСП (Библиотека стандартных подсистем) Обработка документов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Сделан на примере заполнения документа «Перемещение материалов в кладовую» (ДвижениеПродукцииИМатериалов). При старте открывает дополнительную внешнюю форму обработки где запрашивается ресурсная спецификация и количество комплектов. Особенности: - открытие дополнительной формы для ввода параметров, форма для отладки, позволяющая запускать внешнюю обработку непосредственно через меню файл.

1 стартмани

31.01.2022    3429    6    milkers    0    

2

БСП 3.1.5 Форма отчета. Быстрый вызов редактирования варианта

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В последних релизах современных конфигураций, основанных на БСП версии 3.1.5, спрятали кнопку настройки варианта в дебри вложенных форм. Вернём всё как было, и даже лучше.

1 стартмани

20.12.2021    6467    1    ixijixi    0    

10

Расширение, реализующее загрузку адресного классификатора с сайта fias.nalog.ru.

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение, модифицирующее в основном общий модуль АдресныйКлассификаторСлужебный, позволяющее получать и обрабатывать файлы ФИАС.

3 стартмани

22.06.2021    4762    4    RomanCrow13    1    

4

Просмотр и редактирование условного оформления открытой формы на БСП

Универсальные обработки БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.06.2021    6111    13    Foster13    3    

9

Производственный календарь без БСП онлайн (простое определение рабочих дней)

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бухгалтерский учет Абонемент ($m)

Проверяем тип дня (рабочий, не рабочий, предпраздничный) для Белоруссии, Казахстана, России и Украины без БСП и огромных регистров.

1 стартмани

22.03.2021    6344    7    elephant_x    0    

5

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

Универсальные обработки БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

12.11.2020    7139    18    demaxim    5    

2

БСП - рабочие примеры асинхронного запуска функций и процедур

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

4 стартмани

02.11.2020    14017    28    quazare    3    

49

Шаблон ВПФ (внешней печатной формы) для вывода в Word

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Шаблон для разработки ВПФ для БСП версии 3.1. Основные возможности: 1. Описание требуемых для вывода данных при помощи СКД. 2. Вывод в документ средствами БСП (не используется COM-соединение с word) 3. Реализована форма для тестирования без подключения обработки к БСП и без помещения документа-макета в обработку.

1 стартмани

10.10.2020    8968    19    Gladkov_Anton    4    

16

Шаблон обработки заполнения объекта в форме

БСП (Библиотека стандартных подсистем) Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Шаблон обработки заполнения формы объекта без записи, с возможностью отладки.

1 стартмани

18.08.2020    8016    6    Arc    1    

8

Шаблоны выполнения длительных операций (процедур и функций) без блокировки пользовательского интерфейса

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

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

1 стартмани

11.08.2020    7354    45    Hitcher    8    

9

Не удаляются объекты, помеченные на удаление

БСП (Библиотека стандартных подсистем) Чистка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Когда в конфигурации включено "Ограничивать доступ на уровне записей" и вариант работы выбран "Производительный", при "Удалении помеченных объектов" не все объекты удаляются из базы.

1 стартмани

31.07.2020    14508    31    Maito    6    

1

Шаблон загрузки данных из табличного документа (Excel, Open Office, MXL, CSV) с использованием БСП для УФ

БСП (Библиотека стандартных подсистем) Загрузка и выгрузка в Excel Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка предназначена для организации собственного механизма обработки данных из табличного документа (Excel, Open Office, MXL, CSV). Для загрузки используются механизмы БСП.

2 стартмани

26.06.2020    9580    27    Hitcher    2    

5

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

БСП (Библиотека стандартных подсистем) Бухгалтерский учет 1С:Бухгалтерия 3.0 Абонемент ($m)

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

2 стартмани

08.06.2020    9810    6    andy_zhav    0    

7

Установка даты запрета изменения по расписанию

БСП (Библиотека стандартных подсистем) Роли и права Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Внешняя обработка для установки даты запрета изменений по расписанию. Применяется для всех пользователей, кроме уже имеющихся в списке дат запрета.

1 стартмани

14.04.2020    7725    4    user1393353    0    

3

Добавление контекстных дополнительных обработок в командную панель (немного практики по доработке БСП расширениями)

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

При добавлении контекстных дополнительных отчетов они не попадают в командную панель (КП), а открываются специальной командой из КП "Отчеты - Дополнительные отчеты..." Не всегда это удобно, и если контекстный отчет нужен для частого использования, то гораздо лучше, если бы он попадал сразу в подменю "Отчеты" на КП, а не требовал открытия дополнительной формы.

1 стартмани

18.03.2020    9690    1    work.sable    6    

19

Перенос данных БП 3 - УТ 11 (Исправление обработки с ИТС)

БСП (Библиотека стандартных подсистем) Обмен между базами 1C Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Абонемент ($m)

Для текущих на данный момент версий УТ 11.4.11.63 и БП 3.0.75.93 обработка с сайта обновлений 1С из указанного релиза торговли отказывается работать, ссылаясь на ошибки БСП и некорректные правила обмена. Исправляется совсем небольшим расширением и корректировкой указанной на сайте 1С обработки (прилагается).

1 стартмани

13.02.2020    8020    21    &rew    9    

3

Отключение напоминаний о динамическом обновлении базы

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Отключаем всплывающее окно о том, что конфигурации была изменена и требуется выполнить перезапуск.

1 стартмани

13.01.2020    9095    20    DanDy    18    

5