Конструктор дерева/таблицы значений в режиме предприятия

Публикация № 536031

Разработка - Практика программирования

Генерация строки кода создания таблицы/дерева значений, удобно использовать с конструктором коллекции ИР

Когда-то пользовался скриптом для openconf - конструктор таблицы значений: в формочке указывается структура ТЗ, на выходе код. Работая с ИР, вдруг подумал, что было бы удобно сделать нечто похожее: в консоли кода ИР описываем структуру ТЗ, и генерим код для ее создания с помощью языка 1С. Что получилось - выкладываю сюда, наглядно на видео:

Сам код:

	тз = ИсходнаяТЗ.СкопироватьКолонки();
	
	#Область Описание_соответствий_имен_типов
	
	СтруктураСоответствиеИменТипов = Новый Структура;
	
	//Простые
	СтруктураСоответствиеИменТипов.Вставить("boolean", "Булево");
	СтруктураСоответствиеИменТипов.Вставить("decimal", "Число");
	СтруктураСоответствиеИменТипов.Вставить("string", "Строка");
	СтруктураСоответствиеИменТипов.Вставить("dateTime", "Дата");
	
	// Ссылочные
	СтруктураСоответствиеИменТипов.Вставить("CatalogRef", "СправочникСсылка");
	СтруктураСоответствиеИменТипов.Вставить("DocumentRef", "ДокументСсылка");	
	СтруктураСоответствиеИменТипов.Вставить("BusinessProcessRoutePointRef", "ТочкаМаршрутаБизнесПроцессаСсылка");
	СтруктураСоответствиеИменТипов.Вставить("ChartOfCalculationTypesRef", "ПланВидовРасчетаСсылка");
	СтруктураСоответствиеИменТипов.Вставить("BusinessProcessRef", "БизнесПроцессСсылка");
	СтруктураСоответствиеИменТипов.Вставить("ChartOfAccountsRef", "ПланСчетовСсылка");
	СтруктураСоответствиеИменТипов.Вставить("EnumRef", "ПеречислениеСсылка");
	СтруктураСоответствиеИменТипов.Вставить("ChartOfCharacteristicTypesRef", "ПланВидовХарактеристикСсылка");
	СтруктураСоответствиеИменТипов.Вставить("TaskRef", "ЗадачаСсылка");	
	СтруктураСоответствиеИменТипов.Вставить("ExchangePlanRef", "ПланОбменаСсылка");	
	
	// Коллекции
	СтруктураСоответствиеИменТипов.Вставить("ValueTree", "ДеревоЗначений");
	СтруктураСоответствиеИменТипов.Вставить("ValueTable", "ТаблицаЗначений");
	СтруктураСоответствиеИменТипов.Вставить("ValueListType", "СписокЗначений");
	СтруктураСоответствиеИменТипов.Вставить("Array", "Массив");  
	
	// Прочие
	СтруктураСоответствиеИменТипов.Вставить("StandardBeginningDate", "СтандартнаяДатаНачала");
	СтруктураСоответствиеИменТипов.Вставить("UUID", "УникальныйИдентификатор");
	СтруктураСоответствиеИменТипов.Вставить("StandardPeriod", "СтандартныйПериод");
	СтруктураСоответствиеИменТипов.Вставить("PointOfTime", "МоментВремени");
	СтруктураСоответствиеИменТипов.Вставить("Null", "Null");	
	СтруктураСоответствиеИменТипов.Вставить("Type", "Тип");
	СтруктураСоответствиеИменТипов.Вставить("Bound", "Граница");
	СтруктураСоответствиеИменТипов.Вставить("Field", "ПолеКомпоновкиДанных");	
	СтруктураСоответствиеИменТипов.Вставить("TypeDescription", "ОписаниеТипов");
	
	// Системные перечисления	
	СтруктураСоответствиеИменТипов.Вставить("AccumulationRecordType", "ВидДвиженияНакопления");
	СтруктураСоответствиеИменТипов.Вставить("AccountingRecordType", "ВидДвиженияБухгалтерии");
	СтруктураСоответствиеИменТипов.Вставить("AccountType", "ВидСчета");
	
	#КонецОбласти 	
	
	СтрокаКода = ИмяПеременной + " = Новый ТаблицаЗначений;";
	Для Каждого Колонка Из тз.Колонки Цикл
		
		//скк - строка кода конструктора
		скк_ОписанияТипов = "";
	    скк_МассивТипов = "";
		
#Область Генерация_строки_описания_типов
		
		МассивТипов = Колонка.ТипЗначения.Типы();
		
		// Если колонка несоставного типа, то воспользуюсь быстрым конструктором 
		// описания типов, иначе - через массив		
		Счетчик = 0; ВсегоТипов = МассивТипов.Количество();
		ЕстьОписание = ВсегоТипов > 0;
		
		Если ЕстьОписание Тогда
			ЭтоПростоеОписаниеТипов = ВсегоТипов = 1;
			
			скк_МассивТипов = "";
			
	#Область Генерация_строки_массива_типов
			Для каждого Тип Из МассивТипов Цикл	
				
				Счетчик = Счетчик + 1;
				
				ТипXML = СериализаторXDTO.XMLТип(Тип);	
				
				поз = Найти(ТипXML.ИмяТипа, ".");
				Если поз > 0 Тогда
					ТипМетаданногоАнгл = Лев(ТипXML.ИмяТипа, поз - 1);	
					ИмяМетаданного = Сред(ТипXML.ИмяТипа, поз + 1);
					ТипМетаданногоРус = СтруктураСоответствиеИменТипов[ТипМетаданногоАнгл];
					скк_ТекущийТип = ТипМетаданногоРус + "." + ИмяМетаданного;
				Иначе
					скк_ТекущийТип = СтруктураСоответствиеИменТипов[ТипXML.ИмяТипа];
				КонецЕсли; 				
				
				Если ЭтоПростоеОписаниеТипов Тогда
					скк_ПараметрОписания = """" + скк_ТекущийТип + """";	
				Иначе	
					скк_ПараметрОписания = "МассивТипов";
					Если Счетчик = 1 Тогда
						скк_МассивТипов = "МассивТипов = Новый Массив();"					
					КонецЕсли; 
					скк_МассивТипов = скк_МассивТипов + Символы.ПС + "МассивТипов.Добавить(Тип(""" + скк_ТекущийТип+ """));";
				КонецЕсли; 
				
			КонецЦикла;
	#КонецОбласти 		
			
		
	#Область Генерация_строки_квалификаторов
			скк_Квалификаторы = ",КвЧисла,КвСтроки,КвДаты";
			скк_квДаты = ""; скк_квЧисла = ""; скк_квСтроки = "";
			Если Колонка.ТипЗначения.СодержитТип(Тип("Дата")) Тогда
				
				Если Колонка.ТипЗначения.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Время Тогда
					скк_ЧастиДаты = "Время";
					
				ИначеЕсли Колонка.ТипЗначения.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Дата Тогда
					скк_ЧастиДаты = "Дата";
					
				ИначеЕсли Колонка.ТипЗначения.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.ДатаВремя Тогда
					скк_ЧастиДаты = "ДатаВремя";				
					
				КонецЕсли; 
				
				скк_квДаты = " Новый КвалификаторыДаты(ЧастиДаты."+ скк_ЧастиДаты +")"; 	
			КонецЕсли; 
			
			Если Колонка.ТипЗначения.СодержитТип(Тип("Строка")) Тогда
				скк_ДлинаСтроки = Колонка.ТипЗначения.КвалификаторыСтроки.Длина;
				скк_ДопустимаяДлина = "" + Колонка.ТипЗначения.КвалификаторыСтроки.ДопустимаяДлина;
				
				скк_квСтроки = " Новый КвалификаторыСтроки("+ скк_ДлинаСтроки +", " +
				"ДопустимаяДлина." + скк_ДопустимаяДлина +")";
			КонецЕсли; 
			
			Если Колонка.ТипЗначения.СодержитТип(Тип("Число")) Тогда
				скк_ЧислоРазрядов = "" + Колонка.ТипЗначения.КвалификаторыЧисла.Разрядность;
				скк_ЧислоРазрядовДробнойЧасти = "" + Колонка.ТипЗначения.КвалификаторыЧисла.РазрядностьДробнойЧасти; 
				скк_ДопустимыйЗнак = "" + Колонка.ТипЗначения.КвалификаторыЧисла.ДопустимыйЗнак;
				
				скк_квЧисла = " Новый КвалификаторыЧисла("+ скк_ЧислоРазрядов + ", " +
				скк_ЧислоРазрядовДробнойЧасти + 
				", ДопустимыйЗнак." + скк_ДопустимыйЗнак +")";
			КонецЕсли; 
			
			скк_Квалификаторы = СтрЗаменить(скк_Квалификаторы, "КвДаты", скк_квДаты);	
			скк_Квалификаторы = СтрЗаменить(скк_Квалификаторы, "КвСтроки", скк_квСтроки);
			скк_Квалификаторы = СтрЗаменить(скк_Квалификаторы, "КвЧисла", скк_квЧисла);
			
			//Удалю запятые с конца
			Пока Прав(скк_Квалификаторы, 1) = "," Цикл
				скк_Квалификаторы = Лев(скк_Квалификаторы, СтрДлина(скк_Квалификаторы) - 1);				
			КонецЦикла; 
	#КонецОбласти 

			скк_ОписанияТипов = "Новый ОписаниеТипов("+ скк_ПараметрОписания + скк_Квалификаторы +")";
		Иначе
			скк_ОписанияТипов = "";			
		КонецЕсли; 
		
#КонецОбласти 		
		
		скк_ПараметрыКолонки = 
		"""" + Колонка.Имя + """," +  // ИмяКолонки
		?(ПустаяСтрока(скк_ОписанияТипов), "", " " + скк_ОписанияТипов) + "," + // Описание типов
		?(ПустаяСтрока(Колонка.Заголовок), "", " """ + Колонка.Заголовок + """") + "," + // Заголовок
		?(Колонка.Ширина = 0, "", " "+ Колонка.Ширина); // Ширина
		
		//Удалю запятые с конца
		Пока Прав(скк_ПараметрыКолонки, 1) = "," Цикл
			скк_ПараметрыКолонки = Лев(скк_ПараметрыКолонки, СтрДлина(скк_ПараметрыКолонки) - 1);				
		КонецЦикла; 
				
		//Генерация кода создания колонки:
		СтрокаКода = СтрокаКода + Символы.ПС +
		скк_МассивТипов + ?(ПустаяСтрока(скк_МассивТипов), "", Символы.ПС) +
		ИмяПеременной + ".Колонки.Добавить("+ скк_ПараметрыКолонки +");" 
		+ ?(ПустаяСтрока(скк_МассивТипов), "", Символы.ПС);
		
	КонецЦикла;
	
	Сообщить(СтрокаКода);

 

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Дата
4. unichkin 1340 11.07.16 12:56 Сейчас в теме
(3) Yashazz, копался час с этим не нашел другого способа. В т. ч. и СериализаторXDTO.XMLСтрока("CatalogRef.Контрагенты") пробовал - возвращает "CatalogRef.Контрагенты". Может чего-то недопонимаю.
3. Yashazz 3637 11.07.16 12:21 Сейчас в теме
Товарисч, ну ты что. Работаешь с XDTO, а для соответствия русских и английских имён такой ужас нагородил. Это ж проще можно, вроде СокрЛП(СериализаторXDTO.XMLСтрока(рЗначение)) где Значение, например, системного типа, на выходе будет англоязычным. Или фабрики самой 1С почитай.
2. unichkin 1340 10.07.16 15:58 Сейчас в теме
(1) tormozit, это да. Для тестов взял что под рукой было - БП 3.0, показалось что долго коряжить - а на деле еще с видео провозился полчаса почти))
1. tormozit 6229 10.07.16 13:17 Сейчас в теме
На будущее. При записи ролика лучше запускать приложение без проверки модальности. Будет красивее.
German_Tagil; +1 Ответить 1
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    4319    comol    22    

«Варп-двигатель» для «среза последних»

Практика программирования Бесплатно (free)

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

10.08.2020    3219    hobi    45    

Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика

Практика программирования Бесплатно (free)

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

29.06.2020    10825    WildHare    33    

Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория

Практика программирования Бесплатно (free)

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

22.06.2020    11303    WildHare    23    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    38436    unichkin    74    

Не спеша, эффективно и правильно – путь разработки. Часть 1. Парадигма

Практика программирования Бесплатно (free)

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

15.06.2020    16920    WildHare    34    

JSON в запросах DaJet QL

Практика программирования Бесплатно (free)

Практические примеры работы с JSON непосредственно в языке запросов. Перенос курсов валют между УТ и БП. Требуется SQL Server 2016 и выше.

24.04.2020    4097    zhichkin    6    

Визионное программирование

Практика программирования Бесплатно (free)

Новый способ программирования и его практическая демонстрация.

22.04.2020    4774    mkalimulin    111    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    32033    tormozit    104    

Использование машинного обучения для решения инцидентов. Практическое применение

Практика программирования Бесплатно (free)

Продолжаю (и заканчиваю) тему с автоматическим решением инцидентов. Перейдем от теории к практике.

25.02.2020    4515    Repich    9    

Использование машинного обучения для решения инцидентов

Практика программирования Бесплатно (free)

История о том, как я с помощью машинного обучения сокращал затраты на техподдержку.

18.02.2020    7259    Repich    17    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    38940    ids79    26    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    79280    tormozit    131    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

15.01.2020    30434    John_d    22    

Часовой на страже логов

Практика программирования Инструментарий разработчика Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    7830    Scorpion4eg    8    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    23155    kuzyara    38    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    50035    tormozit    48    

Простейший пример создания бизнес-процессов

Практика программирования Управление бизнес-процессами (BPM) v8::Бизнес-процессы 1cv8.cf Бесплатно (free)

Простой пример создания бизнес-процессов в несколько шагов. Может пригодиться при первом знакомстве с ними или для решении задач экзамена 1С:Специалист по платформе.

20.11.2019    20803    YPermitin    18    

Полезные процедуры и функции для программиста

Практика программирования Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

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

07.10.2019    33123    HostHost    41    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    40058    Yashazz    50    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    46701    tormozit    74    

СКД. Отчеты с картинками

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    24883    YPermitin    40    

СКД не только для отчетов

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

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

18.09.2019    20290    YPermitin    36    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    18200    feva    42    

Развитие 1С программиста Промо

Практика программирования Личная эффективность Бесплатно (free)

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    22606    pashamak    64    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

06.09.2019    66888    rpgshnik    68    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    58099    ids79    55    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    33158    YPermitin    24    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16414    m-rv    2    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

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

03.09.2019    27034    YPermitin    80    

Приватный блокчейн и 1С популярно

Практика программирования Блокчейн Бесплатно (free)

Две предыдущие публикации на эту тему были сфокусированы преимущественно на технической стороне вопроса. Кроме того, их содержание оказалось понятным не каждому специалисту. В этой статье я постараюсь обяснить для всех и, что говорится, «на пальцах»: что такое приватный блокчейн, когда и зачем его следует применять и на что обратить внимание при использовании этой технологии в 1С.

02.09.2019    6414    mkalimulin    140    

Кодогенерация и метагенерация в 1С

Практика программирования Инструментарий разработчика Бесплатно (free)

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    9248    kirovsbis    28    

Как прикрутить ГУИД к регистру сведений Промо

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

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

16.04.2019    20945    m-rv    17    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

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

17.08.2019    35197    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    106510    ids79    63    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

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

02.08.2019    43833    avalakh    26    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    32278    m-rv    21    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    75656    ids79    14    

Как проводятся документы в типовых конфигурациях от 1С

Математика и алгоритмы Практика программирования Разработка v8::ОУ ERP2 УТ11 Россия УУ Бесплатно (free)

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    30189    skv_79    35    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    39861    ids79    27    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    28836    itriot11    34    

Интеграция сценарного тестирования в процесс разработки

Практика программирования Инструментарий разработчика Бесплатно (free)

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    9614    grumagargler    7    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    20398    SeiOkami    50    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    60309    ids79    26    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    78349    Serginio    113    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    27009    dmurk    146    

Регистры накопления. Структура хранения в базе данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

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

16.05.2019    49545    YPermitin    30    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    37810    ellavs    126    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    37355    ids79    40    

О времени и 1С

Практика программирования Разработка Бесплатно (free)

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

01.04.2019    41538    YPermitin    61