Макаров Дмитрий | Руководитель проектного отдела | ООО "Информационные Технологии"

«Poka-yoke. Оператор производственной линии - пользователь 1С, кто сказал что 1С только для финансов»

Опыт автоматизации непосредственно на производственной линии или складе. В докладе поделимся опытом разработки и запуска Poka-yoke систем. 1. Что такое Poka-yoke системы и зачем они нужны. Как меняется работа на предприятии при внедрении подобных систем. 2. Почему используем 1С. 2. Чем отличается запуск системы классического учета от Poka-yoke систем. 3. "Подводные камни". На что необходимо обратить внимание при проектировании/внедрении и чем грозят ошибки, примеры из опыта. 4. Возможности интеграции. Arduino, Мобильный клиент 1С, MobileLogistics, технология штрих кодирования. Как все это применить для своего проекта, как связать "кучу" оборудования и тех. процессов в единую систему, какие проблемы встречаются, какие плюсы для предприятия - об этом мой доклад.

Состав объектов подсистем

Программирование - Инструментарий

Отчет по составу объектов, которые принадлежат соответствующей подсистеме.

Всем добра!

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

Погуглил и решения не нашёл.

Накидал свой вариант с использованием СКД.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	СтандартнаяОбработка =  Ложь;
	// Создаем таблицу значений для дальнейшей передачи в механизм СКД.
	табВнешнийИсточник  = Новый ТаблицаЗначений;
	табВнешнийИсточник.Колонки.Добавить("Родитель", Новый ОписаниеТипов("Строка"));
	табВнешнийИсточник.Колонки.Добавить("Подсистема", Новый ОписаниеТипов("Строка"));
	табВнешнийИсточник.Колонки.Добавить("ИмяОбъектаМетаданных", Новый ОписаниеТипов("Строка"));
	табВнешнийИсточник.Колонки.Добавить("ИмяОбъекта", Новый ОписаниеТипов("Строка"));
	табВнешнийИсточник.Колонки.Добавить("ПризнакНаличия", Новый ОписаниеТипов("Булево"));

	// Получаем коллекцию корневых подсистем.
	ВсеПодсистемы = Метаданные.Подсистемы;
	
	// Обходим все корневые и вложенные подсистемы.
	Для каждого ЭлементКоллекцииПодсистем из ВсеПодсистемы Цикл
		//Ограничение только по своим подсистемам.
		//Если СтрНайти(ЭлементКоллекцииПодсистем.Имя,"ХХ_") <> 0 Тогда
		//	Продолжить;
		//КонецЕсли;
		ПодсистемаРодитель = ЭлементКоллекцииПодсистем; 
		ПолучитьСоставОбъектовПодсистемы(ЭлементКоллекцииПодсистем, табВнешнийИсточник, Истина);
		Если ЭлементКоллекцииПодсистем.Подсистемы.Количество() <> 0 Тогда
			ВложенныеПодсистемы = ЭлементКоллекцииПодсистем.Подсистемы;
			Для каждого ЭлементКоллекцииПодсистем из ВсеПодсистемы Цикл
				//Ограничение только по своим подсистемам.
				//Если СтрНайти(ЭлементКоллекцииПодсистем.Имя,"ХХ_") <> 0 Тогда
				//	Продолжить;
				//КонецЕсли;
				ПолучитьСоставОбъектовПодсистемы(ЭлементКоллекцииПодсистем, табВнешнийИсточник, ПодсистемаРодитель);
			КонецЦикла;			
		КонецЕсли;
	КонецЦикла;	

#Область МеханизмСКД
	СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	ВнешнийНаборДанных = Новый Структура("ВнешнийИсточник", табВнешнийИсточник);
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки);
	ДокументРезультат.Очистить();
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
#КонецОбласти

КонецПроцедуры

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

Можете добавить в коде условие на префиксацию своих подсистем, у меня добавлено и закомментировано - будет анализировать только "нетиповые". 

Пользуйтесь, вносите изменения, корректируйте под себя. Я создал вариант отчета, который интересен для меня, но можно делать кросс-таблицы, группировки по родителю.

Проверено на:

  1. Управление торговлей, редакция 11 (11.4.2.144) 
  2. Документооборот 8 КОРП, редакция 2.1 (2.1.11.5)
  3. Зарплата и управление персоналом, редакция 3.1 (3.1.5.212)
  4. Ломаться на других версиях нечему.

Возможно, сэкономит время!

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

Наименование Файл Версия Размер
Состав объектов подсистем:
.erf 7,61Kb
23.05.18
2
.erf 1.1 7,61Kb 2 Скачать

См. также

Комментарии
1. Максим Жохов (ZhokhovM) 316 22.05.18 19:49 Сейчас в теме
Оставьте свое сообщение