Использование флажков в динамических списках 2.0

Публикация № 1584125 13.01.22

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

Флажки флажок пометка пометки динамический список подбор выбор заполнение выделение

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

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

Запрос динамического списка с пометками и реквизиты формы подбора:

Кот формы подбора:

#Область ОбработчикиСобытийФормы

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

#Область ОбработчикиСобытийЭлементовФормы

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

	ПоместитьВоВременноеХранилище(ВыбранныеДокументы, Настройки.ДополнительныеСвойства.АдресХранилищаВыбранныхДокументов);
	
КонецПроцедуры

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

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

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура УстановитьПометки(Команда)
	
	ИзменитьПометки(Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура СнятьПометки(Команда)
	
	ИзменитьПометки(Ложь);
	
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьПометки(Значение)
	
	Если Элементы.Список.ВыделенныеСтроки.Количество() > 1 Тогда
		
		ВыбранныеДокументы = ПолучитьИзВременногоХранилища(АдресХранилищаВыбранныхДокументов);
		
		Для Каждого СтрокаСписка Из Элементы.Список.ВыделенныеСтроки Цикл
			
			СтрокаВыбранных = ВыбранныеДокументы.НайтиПоЗначению(СтрокаСписка);
			Если Значение Тогда
				Если СтрокаВыбранных = Неопределено Тогда
					ВыбранныеДокументы.Добавить(СтрокаСписка);
				КонецЕсли;
			Иначе
				Если СтрокаВыбранных <> Неопределено Тогда
					ВыбранныеДокументы.Удалить(СтрокаВыбранных);
				КонецЕсли;
			КонецЕсли;
			
		КонецЦикла;
		
		ПоместитьВоВременноеХранилище(ВыбранныеДокументы, АдресХранилищаВыбранныхДокументов);
		
		Список.Параметры.УстановитьЗначениеПараметра("ОбщаяПометка", Ложь);
		Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеДокументы", ВыбранныеДокументы);
		
	Иначе
		
		ПоместитьВоВременноеХранилище(Новый СписокЗначений, АдресХранилищаВыбранныхДокументов);
		
		Список.Параметры.УстановитьЗначениеПараметра("ОбщаяПометка", Значение);
		Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеДокументы", Новый СписокЗначений);
		
	КонецЕсли;	
	
КонецПроцедуры

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

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

#Область СлужебныеПроцедурыИФункции

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

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

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

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

 

 

События интеграции для открытия формы подбора:

Котэ интеграции для работы с формой подбора:

#Область ОбработчикиКомандФормы

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

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

#Область ОбработчикиСобытийЭлементовФормы

&НаКлиенте
Процедура ПодобратьПослеВопроса(Результат, ДополнительныеПарамтеры) Экспорт
	
	Если Результат = КодВозвратаДиалога.Да Тогда
		Объект.ДокументыЗаказов.Очистить();
	КонецЕсли;
	
	Если Результат <> КодВозвратаДиалога.Отмена Тогда
		ОткрытьФормуПодбора();
	КонецЕсли;
	
КонецПроцедуры

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

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

&НаКлиенте
Процедура ДокументОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	Если ВыбранноеЗначение = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ТекущаяСтрока = Элементы.ДокументыЗаказов.ТекущиеДанные;
	ТекущаяСтрока.Документ = ВыбранноеЗначение.ВыбранныеДокументы[0].Документ;
	
КонецПроцедуры

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

#Область СлужебныеПроцедурыИФункции

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

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

З.Ы.: Ну а если вдруг, у кого-то возникнет непреодолимое желание очень поблагодарить автора, то он может скачать обработку с примером, лично я не против)). Там задействованы ссылки на типовой документ ЗаказКлиента. По идее, подойдет для любой конфигурации, где есть такой документ, и даже если его не окажется, всегда можно на любой другой переназначить.

Пользуйтесь на благо! Всем Радости и Добра!

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

Наименование Файл Версия Размер
Динамический список с пометками

.epf 18,09Kb
0
.epf 18,09Kb Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. o.nikolaev 206 16.01.22 01:18 Сейчас в теме
Если 1 млн. записей пометить, то что произойдет?
maksa2005; +1 Ответить
3. ActionBlog 17.01.22 09:19 Сейчас в теме
(1) Палец устанет галочки нажимать 100% :)
5. SnubbyAston 48 17.01.22 09:38 Сейчас в теме
(1) Главное в статье необычный подход =) А минусы можно найти почти всегда. Для определенных задач точно можно использовать. Для справочника в тысячу значений максимум, например.
А можно еще и таблицу подобранного снизу прикрутить аналогично.
2. user1067792 17.01.22 08:46 Сейчас в теме
У вас опечатка в наименовании второго параметра в процедуре ПодобратьПослеВопроса(): ДополнительныеПарамтеры -> ДополнительныеПараметры.
4. the1 965 17.01.22 09:20 Сейчас в теме
Зачем флажки в ДС? Зачем вообще эта публикация, если в исходной и так всё описано, причем даже лучше.
Прикрепленные файлы:
Оставьте свое сообщение

См. также

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

Адаптация типовых решений Прочие инструменты разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    11339    27    huxuxuya    11    

Интерактивная справка по объектам 1С (подключаемое расширение)

Работа с интерфейсом Практика программирования v8 ERP2 Абонемент ($m)

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

5 стартмани

29.09.2020    17162    94    sapervodichka    50    

Альтернативный способ добавления элементов и реквизитов на формы

Работа с интерфейсом v8 ERP2 УТ11 Россия Абонемент ($m)

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

1 стартмани

09.09.2019    19058    36    bmk74    8    

[Механизм интерфейса] Свой флажок (чекбокс)

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

09.08.2019    23652    21    rpgshnik    43    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.05.2017    40298    163    tormozit    25    

Вам нравятся запросы в 1С?

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    29554    7    m-rv    91    

Открывашка ячеек таблиц

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.10.2018    23539    13    tormozit    38    

Работа с публикациями "Инфостарт"

О сообществе WEB Практика программирования v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    30354    15    RocKeR_13    16    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    45714    924    Tatitutu    45    

Визуализация событий на временной шкале средствами "Поле HTML документа"

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    30333    148    Plotks2017    27    

Работа с данными выбора

Работа с интерфейсом Практика программирования v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    72042    25    kalyaka    17    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар")

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    38506    97    m-rv    58    

Нечеткий поиск одним запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.12.2015    36243    76    vasvl123    9    

Полезные примеры составления схемы компоновки данных #2

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Еще один набор примеров как решить частные задачи в СКД

1 стартмани

22.05.2018    42884    11    SITR-utyos    13    

Заполняем по шаблону (по умолчанию)

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2018    36436    20    mvxyz    17    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования v8 БП3.0 Абонемент ($m)

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

1 стартмани

06.12.2017    34859    60    kwazi    6    

Паузы при исполнении кода (Sleep для 1С)

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.11.2017    72923    19    swimdog    55    

Умный дом на 1С + ардуино

Практика программирования v8 Абонемент ($m)

Конфигурация для автоматизации быта программиста 1C и не только. В данной статье будет рассказано, как можно использовать 1С для задач, не входящих в стандартные рамки этой платформы. Например, управление домом. В качестве периферии для подключения будет использован микроконтроллер (МК) Ардуино, но на нём не будет никакой логической нагрузки, весь процесс будет проходить на сервере 1С. Работа с пинами ввода/вывода происходит напрямую из 1С.

1 стартмани

07.08.2017    29481    21    sasha777666    64    

Расширения конфигураций 1С: учимся перехватывать методы

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

30.05.2017    173688    13    signum2009    49    

Распознавание текста с помощью нейросетей Google Cloud Vision и 1С

Практика программирования v8 1cv8.cf Абонемент ($m)

Возможности Google Cloud Vision в распознавании текста.

1 стартмани

08.02.2017    40682    153    kiv1c    19    

Графическая схема. Управление при помощи XDTO.

Практика программирования v8 Абонемент ($m)

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

2 стартмани

16.01.2017    31239    133    Alxby    25    

HTTP-сервис: отчеты [Расширение]

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

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    35661    159    Stepa86    16    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    56644    36    Demanoidos    60    

Недокументированное использование стандартных форм Upd.

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

26.07.2016    35502    107    ZhokhovM    69    

Хранение файлов в томах на диске (для УПП 1.3)

Практика программирования v8 УПП1 Абонемент ($m)

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    70356    14    wowik    32    

Выполнение JavaScript кода из 1С в объекте Поле HTML Документа (HTML 5) и вызов события в 1С ПриНажатии

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Пример выполнения JS кода из 1С в Поле HTML Документа под управляемыми формами, с удобным получением результата в 1С(С помощью вызова привязанного события ПриНажатии к элементу ПолеHTMLДокумента)

1 стартмани

22.03.2016    99104    173    igo1    62    

Количество дней недели (понедельников/вторников/...) в заданном диапазоне одним запросом

Практика программирования v8 Абонемент ($m)

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

1 стартмани

03.03.2016    24381    2    Alexander.Shvets    5    

Простые радости жизни программиста 1С: выбор типа значения

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

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

1 стартмани

17.02.2016    61394    56    yuraos    18    

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

БСП (Библиотека стандартных подсистем) Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.02.2016    72805    220    balanton    23    

Мастер рассылки e-mail 2.2 для управляемых форм

Email Практика программирования v8 v8::УФ ERP2 БП3.0 УТ11 Абонемент ($m)

Для пользователей: переделанный из старый разработки под 8.2 с использованием библиотеки Мастер рассылки e-mail 2.2 (ERP, УТ, БП) (Только управляемые формы), который теперь может запускаться под любой версией платформы с разрешенными или запрещенными модальными/синхронными вызовами в конфигурации. Также удобный выбор e-mail и их владельцев с помощью отбора динамического списка по любым критериям и галочки исключения.

1 стартмани

29.12.2015    48653    23    milkers    4    

Передача больших пакетов через веб-сервисы

Инструменты администратора БД Внешние источники данных Практика программирования v8 Абонемент ($m)

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

1 стартмани

06.12.2015    68290    56    YPermitin    19    

Быстрое определение интервалов в запросе

Практика программирования v8 Абонемент ($m)

В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.

1 стартмани

01.10.2015    62988    35    ildarovich    41    

Полезные приемы при работе с Excel из 1С (Версия 3.1)

Разработка внешних компонент Загрузка и выгрузка в Excel Практика программирования v8 1cv8.cf Абонемент ($m)

Программисту 1С часто приходится работать с таблицами Excel из 1С. Я постарался собрать небольшой FAQ и набор функций для работы с файлами Excel. Надеюсь, кому-то будет полезна данная статья.

1 стартмани

22.09.2015    261148    525    Zerocl    81    

Javascript и 1С. Кросс-платформенное взаимодействие

Практика программирования v8 1cv8.cf Абонемент ($m)

Что делать, если необходим богатый интерфейс, а управляемые формы нам его не могут обеспечить? Использовать HTML и JavaScript. В статье рассмотрено взаимодействие кода 1С и JavaScript, работающее на любой платформе: толстый, тонкий и веб-клиент, под Windows и Linux.

1 стартмани

14.09.2015    83787    225    VitaliyCeban    64    

Code First и Linq to EF на примере 1С версии 7.7 и 8.3 часть I

Практика программирования v8 Абонемент ($m)

Данный проект является чисто исследовательским примером использования Code First и Linq to EF на примере 1С версии 7.7. Так как сам я программист 1С, то мне всегда было интересно, как можно перенести модель объектов 1С на компилируемые языки, и использовать мощь Linq to EF. С появлением Code First давно хотел прикрутить, но все как-то руки не доходили, и вот, наконец ..

1 стартмани

28.08.2015    26848    3    Serginio    2    

NativeDraw: Компонента рисования для 1С [V2.6.2]

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.07.2015    54538    474    ПерваяСистема    147    

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7

Универсальные функции Практика программирования v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    33338    4    Serginio    1    

И снова "Как сжать картинки для экспорта в EXCEL?" или Умная картинка 8.2

Загрузка и выгрузка в Excel Практика программирования v8 1cv8.cf Абонемент ($m)

Прошла уже эпоха , когда экономили на трафике интернета. Но все же...повторюсь. Я предлагаю совершенно новый способ сжатия картинки - эффект в 20 раз !!!

1 стартмани

17.06.2015    36397    63    Tatitutu    13    

Кнопки управления группировками табличного документа для управляемых форм

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.06.2015    30615    29    unichkin    9    

Альтернативная визуализация данных для 1С 8.3.6

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Нужен приятный Bi Dashboard? Или просто красивый график/диаграмма для сайта? Тогда эта разработка для Вас!

1 стартмани

29.05.2015    35600    84    vano-ekt    3    

Использование общих модулей "Длительные операции" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса

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

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

1 стартмани

17.03.2015    81722    193    Bassgood    16