Универсальная функция для программного выполнения СКД

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

Разработка - Инструментарий разработчика

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

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

Передаваемые параметры описаны в комментарии к процедуре.
Функция возвращает ДанныеРасшифровкиКомпоновкиДанных.

Из БСП используется только общая процедура:
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора() 

Собственно сама общая функция.

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

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


    Для каждого ТекущийПараметр Из СтруктураПараметров Цикл

        ОбщегоНазначенияКлиентСервер.УстановитьПараметрСКД(СКД.Параметры, ТекущийПараметр.Ключ, ТекущийПараметр.Значение, ОграничениеИспользованияПараметров);

    КонецЦикла;

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

    Отбор = Настройки.Отбор;

    Для каждого ТекущийПараметр Из Настройки.ПараметрыДанных.Элементы Цикл
        // Надеюсь, временный костыль. Нужно перебрать параметры варианта и установить их.

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

    КонецЦикла;

    Для каждого ТекущийОтбор Из СтруктураОтборов Цикл

        Если ТекущийОтбор.Ключ = "СложныйОтбор" Тогда
            // Если в качестве ключа строка "СложныйОтбор", значит установка отбора через общие процедуры:
            //  ОбщиеПроцедуры.УстановитьУниверсальныйОтбор(Отбор);

            Выполнить ТекущийОтбор.Значение;

        Иначе

            СтруктураПараметровПроцедуры = Новый Структура("ПравоеЗначение, ВидСравнения, Представление, Использование, РежимОтображения, ИдентификаторПользовательскойНастройки");

            Для каждого ТекущийПараметрОтбора Из МассивПараметровОтбора Цикл

                Если ТекущийОтбор.Значение.Свойство(ТекущийПараметрОтбора) Тогда

                    СтруктураПараметровПроцедуры.Вставить(ТекущийПараметрОтбора, ТекущийОтбор.Значение[ТекущийПараметрОтбора]);

                КонецЕсли;

            КонецЦикла;

            ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Настройки.Отбор, ТекущийОтбор.Ключ, СтруктураПараметровПроцедуры.ПравоеЗначение,
                                                                    СтруктураПараметровПроцедуры.ВидСравнения,
                                                                    СтруктураПараметровПроцедуры.Представление,
                                                                    СтруктураПараметровПроцедуры.Использование,
                                                                    СтруктураПараметровПроцедуры.РежимОтображения,
                                                                    СтруктураПараметровПроцедуры.ИдентификаторПользовательскойНастройки);

        КонецЕсли;

    КонецЦикла;


    КомпоновщикМакетаКомпоновкиДанных = Новый КомпоновщикМакетаКомпоновкиДанных;
    ДанныеРасшифровкиКомпоновкиДанных = Новый ДанныеРасшифровкиКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакетаКомпоновкиДанных.Выполнить(СКД, Настройки, ДанныеРасшифровкиКомпоновкиДанных);

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    Если Не СтруктураИсточниковДанных = Неопределено Тогда
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, СтруктураИсточниковДанных, ДанныеРасшифровкиКомпоновкиДанных);
    Иначе
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, , ДанныеРасшифровкиКомпоновкиДанных);
    КонецЕсли;

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДокумент);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

    СтруктураВозврата = Новый Структура;
    СтруктураВозврата.Вставить("ДанныеРасшифровкиКомпоновкиДанных", ДанныеРасшифровкиКомпоновкиДанных);

    Возврат СтруктураВозврата;

КонецФункции // ВыполнитьСКД

 Спасибо, Yashazz, за то что нашел использование общей процедуры УстановитьПараметрСКД()(которую я не описал).

// Поиск и установка значения параметра схемы компоновки данных
// Параметры:
//		ПараметрыСКД		- ПараметрыСхемыКомпоновкиДанных - Параметры СКД
//		ИмяПараметра		- Строка		- Имя параметра
//		ЗначениеПараметра	- Произвольное	- Устанавливаемое значение параметра
//
Процедура УстановитьПараметрСКД(ПараметрыСКД, ИмяПараметра, ЗначениеПараметра, ОграничениеИспользования = Неопределено) Экспорт 
	
	НайденныйПараметр = ПараметрыСКД.Найти(ИмяПараметра);
	Если НайденныйПараметр = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	НайденныйПараметр.Значение		= ЗначениеПараметра;
	
	Если Не ОграничениеИспользования = Неопределено Тогда
		НайденныйПараметр.ОграничениеИспользования = ОграничениеИспользования;
	КонецЕсли;
	
КонецПроцедуры // УстановитьПараметрСКД
 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. zqzq 21 21.05.15 08:15 Сейчас в теме
Уже было http://infostart.ru/public/80164/ причем без использования внешних функций из БСП и с возможностью выгрузки в таблицу значений. Также лучше передавать не ИмяВариантаНастроек, а сам вариант настроек: при наличии компоновщика настроек Компоновщик.ПолучитьНастройки() возвращает настройки с учетом пользовательских настроек компоновщика, по имени варианта вы их не получите.
2. dj_serega 371 21.05.15 09:36 Сейчас в теме
(1) zqzq, Спасибо за ссылку на статью. Но в ней нет возможности установить отборы (поэтому и используется общая процедура). Получается по ссылке мы можем только выполнить СКД.

Вот рабочий пример выполнения с параметрами, отборами и вариантом.

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

3. zqzq 21 21.05.15 11:48 Сейчас в теме
(2) пользуюсь той процедурой. При необходимости отбора, его можно установить в настройке и передать саму настройку. Тут, наверное, удобнее.
4. Yashazz 3265 21.05.15 12:06 Сейчас в теме
Чудовищный баян. Но, вероятно, те, кому лень почитать пару абзацев у Хрусталёвой, рады возможности воспользоваться халявой, чем и объясняется рейтинг статьи.

Автор, видимо, не в курсе возможности такой вещи, как КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра, поэтому делает какие-то странные костыли, да ещё применяет какую-то левую функцию "ОбщегоНазначенияКлиентСервер.УстановитьПараметрСКД" (о чём, кстати, не предупреждает, громко заявляя, что
Из БСП используется только общая процедура:
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора()


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

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

...жаль, не нашёл, где минуснуть можно.
triera2000; vardeg; Dach; +3 2 Ответить
5. dj_serega 371 21.05.15 12:24 Сейчас в теме
(4) Yashazz, Извиняюсь за указанную общую процедуру не из БСП. Уже приложил к публикации.

Автор, видимо, не в курсе возможности такой вещи, как КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра, поэтому делает какие-то странные костыли,

Вкурсе-вкурсе.

1. Читаем СП:
Описание:
Устанавливает значение параметра и включает свойство Использование. Если параметр с указанным именем не найден, будет вызвано исключение.
.
Обрабатывать исключения попыткой нет желания ;)
2. КомпоновщикНастроек есть в отчетах. А я эту функцию вызываю из справочников, документов и при программном формировании скд.
3.
p.s. не говоря уж о том, что предложенное ещё и не универсально. Вывода в таблицу значений нет, а бывает очень надо. Действительно профессиональным подходом было бы сделать общий механизм - в табличный документ, таблицу, дерево.

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

Чудовищный баян.

И почему баян так еще и чудовищный?
albert.goncharov; +1 Ответить
6. Yashazz 3265 21.05.15 12:48 Сейчас в теме
(5)
КомпоновщикНастроек есть в отчетах. А я эту функцию вызываю из справочников, документов и при программном формировании скд.
Да что вы говорите? А вот это уже отменили, да?
	комп=Новый КомпоновщикНастроекКомпоновкиДанных;
	комп.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(мояСКД));
	комп.ЗагрузитьНастройки(мояСКД.НастройкиПоУмолчанию);

спокойно юзается, где только в голову взбредёт.

Обрабатывать исключения попыткой нет желания ;)
А использовать циклы там, где не надо, желание есть?

Я у себя уж лет пять назад всё сделал, и в таблицу значений, и куда угодно...
7. dj_serega 371 21.05.15 12:53 Сейчас в теме
(6) Yashazz,
Да что вы говорите? А вот это уже отменили, да?

Не злитесь ;)
А использовать циклы там, где не надо, желание есть?

Как по мне то цикл с одной итерацией лучше чем инициализировать компоновщик и загружать настройки.
Я у себя уж лет пять назад всё сделал, и в таблицу значений, и куда угодно...

Можно увидеть ссылку на публикацию?
8. Yashazz 3265 21.05.15 13:35 Сейчас в теме
(7) а вы возьмите любую из моих публикаций, где мне ругались в комментах на отсутствие функций "СоздатьСКД" или "ПревращениеИмениВНаименование". Я это пихаю почти везде, а запостить вместе с основным кодом иногда забываю)))

upd: если очень надо, могу через прям щас запузырить сюда все свои основные блоки на эту тему
9. dj_serega 371 21.05.15 14:15 Сейчас в теме
(8) Yashazz,
если очень надо, могу через прям щас запузырить сюда все свои основные блоки на эту тему

А может Офигенную публикацию по своим основным блокам сделаете? ;)
10. Yashazz 3265 21.05.15 17:33 Сейчас в теме
(9) честно? Я все эти годы, глядя на свой код, думаю: "ну баян же очевидный, фигли его выкладывать", а потом обнаруживаю гораздо менее проработанные аналоги, которые, оказывается, пользуются спросом. Каждый раз ситуация сия вызывает у меня лёгкое охренение.

Сделал вот удобное создание табличного поля (реквизита и элемента формы) под УФ, потом смотрю на типовую БП 3.0 и вижу там почти ровно то же самое). Перенёс когда-то доп.свойства объектов из единого регистра сведений (как было модно во времена 8.1) в табчасть объекта, глянь - и типовая 1С туда же) Поэтому, просто баянить неохота. Если есть конкретная нужда - выложу, а так, чисто "в никуда" - смысл?...

Ну, вот, например:

// Ищет среди всей иерархии отборов Компоновщика элемент с ПолемСКД (ЛевоеЗначение), равным указанному, или
// ищет группу по её типу и имени (в этом случае рПолеСКДилиИмяТипГруппы это структура: ИмяГруппы, ТипГруппы)
// Если не нашёл, возвращает Неопределено.
Функция ПолучитьОтборСКД(рКомпоновщикИлиОтбор,рПолеСКДилиИмяТипГруппы) Экспорт
	Если ТипЗнч(рКомпоновщикИлиОтбор)=Тип("ОтборКомпоновкиДанных") или ТипЗнч(рКомпоновщикИлиОтбор)=Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
		обрОткуда=рКомпоновщикИлиОтбор;
	ИначеЕсли ТипЗнч(рКомпоновщикИлиОтбор)=Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда
		обрОткуда=рКомпоновщикИлиОтбор.Настройки.Отбор;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
	Если ТипЗнч(рПолеСКДилиИмяТипГруппы)=Тип("ПолеКомпоновкиДанных") Тогда
		рИщемДляЭлемента=Истина;
	ИначеЕсли ТипЗнч(рПолеСКДилиИмяТипГруппы)=Тип("Структура") Тогда
		рИщемДляЭлемента=Ложь;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
	//
	Для каждого элотб Из обрОткуда.Элементы Цикл
		#Если Клиент Тогда
			ОбработкаПрерыванияПользователя();
		#КонецЕсли
		рТип=ТипЗнч(элотб);
		Если рТип=Тип("ЭлементОтбораКомпоновкиДанных") Тогда
			Если рИщемДляЭлемента и элотб.ЛевоеЗначение=рПолеСКДилиИмяТипГруппы Тогда
				Возврат элотб;
			КонецЕсли;			
		ИначеЕсли рТип=Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
			Если не рИщемДляЭлемента 
			и СокрЛП(элотб.Представление)=СокрЛП(рПолеСКДилиИмяТипГруппы.ИмяГруппы)
			и элотб.ТипГруппы=рПолеСКДилиИмяТипГруппы.ТипГруппы
			Тогда
				Возврат элотб;
			КонецЕсли;
			// идём глубже
			Возврат ПолучитьОтборСКД(элотб,рПолеСКДилиИмяТипГруппы);
		КонецЕсли;
	КонецЦикла;
	//
	Возврат Неопределено;
КонецФункции


// Добавляет произвольное условное оформление на управляемую форму; должна вызываться строго с сервера
// Параметры:
//    рФорма - сериализованная форма, вызванная с &НаСервере
//    рПараметры - структура:
//         ОформляемоеПоле - строка (обязательный), имя элемента формы, подлежащего оформлению
//         ПолеИсточник - строка (обязательный), имя реквизита формы, чьи данные определяют отбор
//         ВидСравнения - вид сравнения СКД для отбора условия оформления
//         ПравоеЗначение - конкретное значение реквизита ПолеИсточник, определяющее отбор
//         Оформление - структура с именами полей (см.ниже), определяющая оформление (по умолч.жирный шрифт)
//         
// Имена элементов настройки оформления:
// ЦветТекста (TextColor); 
// ЦветФона (BackColor); 
// Шрифт (Font); 
// Формат (Format); 
// ГоризонтальноеПоложение (HorizontalAlign); 
// ВертикальноеПоложение (VerticalAlign); 
// ОриентацияТекста (TextOrientation); 
// Отступ (Indent); 
// АвтоОтступ (AutoIndent); 
// ВыделятьОтрицательные (MarkNegatives); 
// Текст (Text).
//
Процедура ДобавитьУсловноеОформление(рФорма,рПараметры) Экспорт
Попытка
	// адреса (обязательное)
	рПутьОформляемогоПоля=СокрЛП(рПараметры.ОформляемоеПоле);
	рПутьПоляИсточника=СокрЛП(рПараметры.ПолеИсточник);
	// оформление и прочее
	рВидСравнения=?(рПараметры.Свойство("ВидСравнения"),рПараметры.ВидСравнения,ВидСравненияКомпоновкиДанных.Равно);
	рПравоеЗначение=?(рПараметры.Свойство("ПравоеЗначение"),рПараметры.ПравоеЗначение,Неопределено);
	рОформление=?(рПараметры.Свойство("Оформление"),рПараметры.Оформление,Новый Структура);
	Если рОформление.Количество()=0 Тогда 
		рОформление.Вставить("Шрифт",Новый Шрифт(,,Истина));
	КонецЕсли;
	
	// оформляемый элемент добавляем каждый раз, не глядя, что уже есть элементы про этот же элемент формы!
	// если делать иначе, то для каждого элформы возможно лишь одно оформление
	рПолеОформляемое=Новый ПолеКомпоновкиДанных(рПутьОформляемогоПоля);
	эуо=рФорма.УсловноеОформление.Элементы.Добавить();
	полеэуо=эуо.Поля.Элементы.Добавить();
	полеэуо.Поле=рПолеОформляемое;
	полеэуо.Использование=Истина;
	//
	рПолеИсточник=Новый ПолеКомпоновкиДанных(рПутьПоляИсточника);
	отб=ПолучитьОтборСКД(эуо.Отбор,рПолеИсточник);
	Если отб=Неопределено Тогда
		отб=эуо.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		отб.ЛевоеЗначение=рПолеИсточник;
	КонецЕсли;
	отб.ВидСравнения=рВидСравнения;
	отб.ПравоеЗначение=рПравоеЗначение;
	Для каждого киз Из рОформление Цикл
		эуо.Оформление.УстановитьЗначениеПараметра(киз.Ключ,киз.Значение);
	КонецЦикла;
	//
Исключение
	Сообщить("РаботаСДиалогамиСервер.ДобавитьУсловноеОформление, ошибка: "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
КонецПопытки;
КонецПроцедуры

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


И кому оно надо?
17. akor77 918 22.11.15 22:08 Сейчас в теме
(5) не поддавайся на провокации!
Процветай и преуспевай!
http://www.scientology.ru/videos/category/twth/twth-film-precept-21.html#/videos/category/twth/twth-film-precept-21
Вспомни, как меня на корню хотел один тип задавить.
Начал, продолжай, развивай!
dj_serega; +1 Ответить
11. Yashazz 3265 22.05.15 16:34 Сейчас в теме
Вообще, тенденция пугающая. Стабильно большой популярностью пользуются куцые, слабо структурированные, откровенно копипащенные, мутно и отрывочно изложенные "публикации", выложенные средненько знающими для совсем слабо знающих. За счёт рейтинга такие горе-публикации легко обходят действительно профессиональные разработки, стоившие несоизмеримо больше ресурсов их авторам. Энтузиазм профи-авторов, таким образом, не получает должной оценки. Так на первый план ИС выходят не профессиональные разработки, как хотелось бы, а убогие исходники или псевдо-учебные фрагменты (редко-редко можно видеть действительно качественный учебник, буде то справочник или пошаговик). В результате ИС становится "лягушатником" для начинающих, которые и жёлтых книжек-то не читали, не то что материалов ИТС, а в "лучших" публикациях болтается такое позорище, что уж не знаю, как Доржи перед 1С не стыдно.

пы.сы. Себя отношу не к профи, а к средненько знающим. Именно посмотрев на ситуацию и рейтинг, резко перестал выкладывать "статьи". Мне хватило печального опыта с XPath и модальностями/асинхроном. Жаль, что автору этой публикации самокритики недостаёт.
KSy; unichkin; +2 Ответить
12. dj_serega 371 22.05.15 17:41 Сейчас в теме
(11) Yashazz,
Стабильно большой популярностью пользуются куцые, слабо структурированные, откровенно копипащенные, мутно и отрывочно изложенные "публикации", выложенные средненько знающими для совсем слабо знающих.

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

Да ну. Вот взять к примеру ildarovich'а. Его публикации всегда пользуются популярностью. И очень часто на первых местах.
Жаль, что автору этой публикации самокритики недостаёт.

Жаль что Вы так считаете.

Именно посмотрев на ситуацию и рейтинг, резко перестал выкладывать "статьи".

А Вы не сдавайтесь, выкладывайте свои Стоящие статьи. С интересом почитаю.
13. gigapevt 21 27.05.15 09:28 Сейчас в теме
(12) Согласен с автором, тоже с удовольствием почитаю !
14. alon 171 27.05.15 11:37 Сейчас в теме
Вряд ли возможно научиться сразу выдать профессионально написанные публикации, полезные специалистам абсолютно всех уровней. Всегда приходится с чего-то начинать.
Кроме того, часто только в процессе обсуждения удается выяснить некоторые нюансы обсуждаемого вопроса. При этом пользу получает и автор и окружающие, которые не будут повторять те же грабли.
Я считаю, что здесь на передний план выступает более глубокая модерация знающими специалистами. Нужно установить более строгие требования на публикацию. Сделать предварительное обсуждение в песочнице. Ранжировать статьи для разных уровней профессионализма.
Вы же не предъявляете к ребенку на уроке рисования те же требования, что и к выпускнику художественного училища? То же самое и тут.
cleaner_it; user804163; V.Nikonov; KSy; dgolovanov; dj_serega; +6 Ответить
18. cleaner_it 240 21.11.17 09:51 Сейчас в теме
(14) Больше двух лет прошло - до сих пор актуально)
15. IamIvan 20.06.15 23:10 Сейчас в теме
Программное выполнение это здорово.
А кто-нибудь решал задачку такого рода:
Есть внешние отчеты на СКД. Надо из одной конфигурации выполнить их в другой и отобразить.

Я ничего кроме как выполнить запрос через ком и подставь в таблицу набора не придумал.
16. tristarr1 52 08.09.15 09:03 Сейчас в теме
(15) IamIvan, А данные нужны с расшифровками? если без, то можно выполнять их и передавать табличный документ.
Оставьте свое сообщение

См. также

Подсистема "Инструменты разработчика" v5.42 Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Интегрированный набор инструментов разработчика: - консоль кода - консоль запросов - консоль построителя отчетов - консоль компоновки данных - консоль заданий - конструктор запроса - справочник алгоритмов - исследователь объектов - интерфейсная панель - настройка журнала регистрации - анализ журнала регистрации - настройка техножурнала - анализ техножурнала - подбор и обработка объектов - редактор объекта БД - редактор констант - редактор параметров сеанса - редактор изменений по плану обмена - редактор пользователей - редактор предопределенных - редактор хранилищ настроек - динамический список - поиск дублей и замена ссылок - контекстная подсказка - синтакс-помощник - поиск битых ссылок - поиск ссылок на объект - структура хранения БД - удаление объектов с контролем ссылок - и прочее

23.09.2007    482217    4340    tormozit    2678    

Вывод дерева в табличный документ СКД

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

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    843    0    Yashazz    3    

Файл тестов для xUnitFor1C: тестирование проведения документов

Тестирование и исправление Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

Тестирование проведения документов. Проверяется, что: а) документ проводится; б) движения документа после перепроведения не изменились.

30.06.2020    1523    0    q_i    16    

Unit-тесты с помощью 1C:Enterprise Development Tools

EDT v8 Бесплатно (free)

Концепция TDD требует перестроения подходов к разработке и наличия инструментов для запуска Unit-тестов. Про написание плагина для EDT, который содержит в себе инструменты написания, анализа результатов и запуска Unit-тестов для конфигураций 1С на конференции Infostart Event 2019 Inception рассказал ведущий специалист по внедрению компании 1С-Рарус Александр Капралов.

11.06.2020    2963    0    doublesun    6    

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

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

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

27.01.2016    73415    0    Serginio    108    

Нейроконструктор

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

Изучайте нейронные сети и экспериментируйте вместе с расширением конфигурации "Нейроконструктор". Навыки программирования не требуются.

20.05.2020    5568    19    user1404129    18    

Загрузка, редактирование и установка цветовых схем (раскраски кода) в Конфигуратор и EDT

Работа с интерфейсом Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

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

14.05.2020    4046    43    CyberCerber    29    

Шпаргалка. Автоматическое тестирование внешних отчетов и обработок в нескольких информационных базах

Прочие инструменты разработчика v8 Бесплатно (free)

Используем Автоматизированное тестирование на практике. Простой код для обновления и запуска внешних отчетов и обработок в нескольких ИБ. Создаем рабочее решение с нуля.

02.05.2020    3555    0    pparshin    21    

Универсальные функции с примерами использования Промо

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

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

26.02.2016    40461    0    unichkin    38    

Enterprise Development Tools, версия 2020.2 для мобильной разработки. Бег по граблям (серия публикаций от чайника для чайников)

EDT v8::Mobile 1cv8.cf Бесплатно (free)

Небольшие советы, которые сберегут время при работе с Enterprise Development Tools, версия 2020.2.

10.04.2020    3778    0    capitan    8    

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

Прочие инструменты разработчика Консоль запросов v8::УФ v8::Запросы v8::СКД Бесплатно (free)

Консоль запросов и СКД – один из наиболее часто используемых программистом инструментов. Как с его помощью можно упростить разработку, в своем докладе на конференции Infostart Event 2019 Inception рассказал Евгений Люлюк, ведущий программист компании GLT.

06.04.2020    5733    0    Evg-Lylyk    0    

Универсальные инструменты 1С

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

Свободно распространяемый набор универсальных обработок и отчетов в виде расширения для разработки и поддержки, которое работает во ВСЕХ видах клиентских приложений и во всех операционных системах, которые поддерживает платформа 1С:Предприятие, кроме мобильных. Консоль запросов - консоль отчетов - консоль кода - редактор объектов базы данных - удаление помеченных объектов - поиск и удаление дублей - редактор констант - консоль заданий - групповая обработка справочников и документов - динамический список - поиск ссылок на объект - регистрация изменений для обмена данными - структура хранения базы - консоль HTTP запросов-консоль вебсервисов- консоль сравнения данных- информация о лицензиях- загрузка из табличного документа-файловый менеджер-все функции- навигатор по конфигурации-конструктор регулярных выражений-Выгрузка загрузка XML с фильтрами

21.01.2020    21417    295    cprit    94    

Минимализмы 3 Промо

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

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    44909    0    ildarovich    45    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 03

EDT v8 Бесплатно (free)

Групповая разработка в EDT.

21.01.2020    3906    0    YuriYuriev    3    

EDT + УТ 11.4 + БП 3.0 + Расширения. Часть 02

EDT v8 Бесплатно (free)

Продолжение "путевых заметок" про EDT...

09.01.2020    5619    0    YuriYuriev    31    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 01

EDT v8 Бесплатно (free)

...продолжаем мучить(ся с) EDT

28.12.2019    5970    0    YuriYuriev    8    

Легкий способ обновления измененной конфигурации Промо

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

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

25.10.2017    22730    0    avk72    63    

Сходство Джаро - Винклера. Нечеткое сравнение строк

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

В области информатики и статистики сходство Джаро - Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.

25.12.2019    6311    0    brooho    17    

EDT 1.16. Первые 20 часов работы

EDT v8 Россия Бесплатно (free)

Первое знакомство с 1C:Enterprise Development Tools, версия 1.16.0.363.

25.12.2019    10017    0    YuriYuriev    11    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

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

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    11470    0    TitanLuchs    23    

Выполнение произвольного кода в фоновых заданиях Промо

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

Если надо быстро провести 100`000 документов...

13.01.2016    24237    4    unichkin    13    

Мониторим производительность с помощью 1С RAS

Инструментарий разработчика Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

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

19.12.2019    9934    0    ivanov660    16    

Полезности | Дерево значений | Обычные формы |

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

Полезные функции при работе с деревом значений.

04.12.2019    4845    0    Mellow    7    

Обработка расширением на клиенте

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

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

31.10.2019    6649    0    EvgenURNN    9    

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

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

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

09.02.2015    32412    0    boogie    21    

Git для 1С-ника и другие технологии групповой разработки

Инструментарий разработчика Git (GitHub, GitLab, BitBucket) v8 1cv8.cf Россия Бесплатно (free)

У многих специалистов в отношении Git сложились стереотипы, мешающие начать работу с этим прекрасным и удобным инструментом. Почему его не стоит бояться, и чем он может упростить жизнь 1С-никам, рассказал архитектор ГК «Невада» Станислав Ганиев.

28.10.2019    11866    0    stas_ganiev    16    

Использование XML-схемы из макета внешней обработки

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

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    10041    0    Olesia_Matusevich    10    

Быстрое создание наполненных коллекций

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

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

28.10.2019    6677    0    SeiOkami    66    

Генерация кода управляемой формы (декомпиляция элементов) Промо

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

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

29.09.2014    100594    0    ekaruk    127    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

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

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

24.10.2019    10058    0    kraspila    28    

Обертка функций Excel на русском. Ускорение процесса разработки.

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

Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С? Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

24.10.2019    6783    0    DmitryKotov    6    

Полезняшки по СКД и построителям. Просто код

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

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    9035    0    Yashazz    45    

Сервис обмена кодом Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С? Теперь решение есть!

26.06.2015    20043    0    Infactum    23    

Про ТабДок или TabDoc Pro

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

Табличный документ – всем знакомый и привычный компонент продукта 1С. Про оптимизацию работы табличного документа, его проблемы и недостатки в своем докладе на конференции Infostart Event 2019 Education рассказал ведущий программист BIA-Technologies Князьков Алексей.

11.09.2019    6005    0    AKnyazkov    26    

FastCode - сервис шаблонов кода 1С

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

Удобный поиск по базе шаблонов кода, БСП, ответы на вопросы, помощь сообщества программистов 1С. Клиент для поиска прямо в Конфигураторе!

10.09.2019    9328    0    m.bolsun    22    

Как мы разрабатываем в EDT

EDT Инструментарий разработчика v8 Бесплатно (free)

EDT – это новая среда разработки, на которую сейчас перешли разработчики фирмы «1С». Однако до сих пор существует ряд «белых пятен», касающихся как теоретической, так и практической части применения этого инструмента. Про опыт перехода на разработку в EDT на конференции INFOSTART EVENT 2018 EDUCATION рассказал начальник сектора разработки в компании «Группа Полипластик» Владимир Крючков.

23.08.2019    11449    0    ivanov660    24    

1C:Enterprise Development tools (EDT) или кодим в Eclipse Промо

EDT v8 Бесплатно (free)

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

11.04.2015    76251    0    DitriX    297    

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

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

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

17.08.2019    28269    0    ids79    16    

1С:EDT. Первые шаги… или есть ли альтернатива конфигуратору?

EDT v8 Бесплатно (free)

Заменить конфигуратор сложно, а в некоторых случаях невозможно, если, например, нужно оперативно подправить код непосредственно в рабочей конфигурации…

15.08.2019    20944    0    ellavs    105    

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

Работа с интерфейсом Инструментарий разработчика v8 Бесплатно (free)

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    10421    0    IvanAT1981    15    

Распределение оплаты по товарам Промо

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

Учебная задача. Оплата приходит по заказу. Требуется запросом распределить её по товарам. Практическая задача была сложнее. Упростил специально для иллюстрации. Сначала собираем в одну таблицу заказы и товары. Затем ОБЪЕДИНТЬ ВСЕ с оплатами. Потом намазываем оплату на товар.

04.08.2014    18864    0    Трактор    5    

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

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

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

17.07.2019    31497    0    ids79    27    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    19365    0    Evil Beaver    33    

TurboConf:Шаблоны - сервис для поиска и хранения фрагментов кода Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

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

13.08.2014    22171    0    m.bolsun    68    

Групповая обработка (Управляемая консоль отчетов)

Обработка документов Инструментарий разработчика Обработка справочников v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    8893    0    Evg-Lylyk    10    

Перенос и резервное копирование настроек конфигуратора

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Удобный перенос между рабочими местами и резервное копирование настроек конфигуратора через подсистему "Инструменты разработчика".

14.04.2019    9069    0    tormozit    18    

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы)

Инструментарий разработчика Работа с интерфейсом v8 v8::УФ v8::СКД Бесплатно (free)

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

25.03.2019    12254    0    ellavs    9    

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода». Промо

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    25788    0    yuraos    2    

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4

Практика программирования Универсальные функции Разработка v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free)

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

22.03.2019    16603    0    ids79    16    

Добавление отчетов в типовые конфигурации 1С

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8::УФ v8::СКД 1cv8.cf Бесплатно (free)

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

07.03.2019    48302    0    ids79    45    

Расширение конструктора мобильного рабочего места для варианта "клиент 1С+RDP" (для любых wi-fi терминалов). Экосистема решений Simple WMS

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Универсальные функции Мобильная разработка Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8::УФ УУ Бесплатно (free)

Развитие проекта «Конструктор мобильного клиента на Android» https://infostart.ru/public/976636/ для устройств не на Андроиде (работающих в режиме RDP). В отличие от варианта Android работа на терминалах происходит в режиме 1С:Предприятие через RDP а конфигурации мобильных клиентов полностью совместимы для обоих версий. Т.е. конфигурация единая, создается один раз и ее может читать как Android -устройство, так и 1С-клиент на RDP без необходимости какой либо переделки.

05.02.2019    12292    0    informa1555    5    

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    16433    0    stas_ganiev    28