Анти-сортировка табличной части

17.11.23

Задачи пользователя - Подбор и обработка объектов

Обработка расставляет строки табличной части в случайном порядке у документа или элемента справочника. Вот даже не спрашивайте, зачем это нужно. Заказали такую.

Скачать исходный код

Наименование Файл Версия Размер
СпутатьСортировкуТЧ.epf
.epf 7,29Kb
0
.epf 7,29Kb Скачать

Опробовано в УТ 10.3 на заказе покупателя (дописанном-переписанном).

Пользоваться просто:

  1. Открываем обработку.
  2. Выбираем тип (обработка работает только со справочниками и документами).
  3. Выбираем нужный объект.
  4. Выбираем табличную часть (если есть ТЧ "Товары", она выбирается автоматически).
  5. Нажимаем выполнить.

Обработка должна нормально работать с любыми документами и любыми ТЧ, но все же:

Если вы будете это использовать - то делаете это на свой страх и риск. Перед использованием примите меры безопасности (архивация, или хотябы скопируйте объект и проверьте, как обработка отработает на копии)

Перем ПоследнийТипСсылки;

Процедура КнопкаВыполнитьНажатие(Кнопка)
	Если ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
		ЭтоСправочник = Метаданные.Справочники.Содержит(СсылкаНаОбъект.Метаданные());
		ЭтоДокумент = Метаданные.Документы.Содержит(СсылкаНаОбъект.Метаданные());
		Если НЕ ЭтоСправочник И НЕ ЭтоДокумент Тогда
			Предупреждение("Работа с выбранным объектом не поддерживается");
		ИначеЕсли ЭлементыФормы.ТабличныеЧасти.ТекущаяСтрока = Неопределено Тогда
			Предупреждение("Не выбрана табличная часть");
		Иначе
			Ответ = Вопрос("Вы уверены, что хотите спутать сортировку табличной части '"
							+ ЭлементыФормы.ТабличныеЧасти.ТекущаяСтрока.Представление
							+ "' объекта '" + СсылкаНаОбъект + "' ?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
			Если Ответ = КодВозвратаДиалога.Да Тогда
				Об = СсылкаНаОбъект.ПолучитьОбъект();
				ТЧ = Об[ЭлементыФормы.ТабличныеЧасти.ТекущаяСтрока.Значение];
				ТЗ = ТЧ.Выгрузить();
				ТЗ.Колонки.Добавить("_Хаос_", Новый ОписаниеТипов("Число"));
				ГСЧ = Новый ГенераторСлучайныхЧисел();
				Для Каждого СтрокаТЗ Из ТЗ Цикл
					СтрокаТЗ._Хаос_ = ГСЧ.СлучайноеЧисло();
				КонецЦикла;
				ТЗ.Сортировать("_Хаос_");
				ТЧ.Загрузить(ТЗ);
				Если ЭтоСправочник Тогда
					Об.Записать();
				ИначеЕсли ЭтоДокумент Тогда
					Об.Записать(РежимЗаписиДокумента.Запись);
				КонецЕсли;
				Предупреждение("Обработка выполнена");
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

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

 

ТЧ ТабличнаяЧасть табличная часть сортировка генератор случайных чисел гсч случайное число

См. также

Групповое копирование документов из периода в период

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

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

3600 руб.

29.06.2015    44699    90    18    

100

Групповая обработка проводок для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0

Подбор и обработка объектов Бухгалтерский учет 1С:Бухгалтерия 2.0 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Данная обработка предлагается для случаев, когда бывает необходимо изменить какой-либо реквизит в группе проводок, отобранных по определенному набору полей, за определенный период, с определенным типом документа-регистратора. Предлагается четыре варианта обработки для конфигураций: БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0 .

2000 руб.

30.05.2016    28840    29    0    

49

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

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

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

10 стартмани

13.04.2024    686    5    user1527257    0    

12

Шаблон обработки документов/справочников по произвольному алгоритму

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

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

1 стартмани

11.03.2024    330    6    SanchoD    1    

3

Объединение табличных частей "Товары" документов "Реализация товаров и услуг"

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

Заказчик попросил написать обработку по объединению документов "Реализация товаров услуг" в один итоговый документ, в процессе выполнения получилось 2 обработки.

1 стартмани

29.02.2024    404    3    VdZMWOnC    8    

4

Автоматическое начисление ежемесячных услуг

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

Автоматизированное начисление ежемесячных услуг с отправкой по электронной почте счетов. Модуль будет полезен организациям, которые ежемесячно выписывают большое количество счетов и реализаций клиентам, например: IT-компании, охранные предприятия, рекламные организации и другие, оказывающие профессиональные услуги на регулярной основе. Упрощенная версия предназначена для организаций, которые работают без НДС и при выписке услуг предполагается одна услуга в документе "Реализация товаров и услуг"

5 стартмани

18.02.2024    573    4    pean    1    

8

Проведение документов на управляемых формах

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

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

1 стартмани

10.02.2024    529    16    SanchoD    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 05.11.15 13:24 Сейчас в теме
Вот даже не спрашивайте, зачем это нужно
Вопрос-то в следующем. Зачем это нужно выкладывать сюда?

Ну, а по поводу дисклеймера
Если вы будете это использовать - то делаете это на свой страх и риск. Перед использованием примите меры безопасности (архивация, или хотябы скопируйте объект и проверьте, как обработка отработает на копии)
так следует поступать перед каждым нажатием "Выполнить"?)
spy-83; bashirov.rs; +2 Ответить
3. gruk 15 05.11.15 18:06 Сейчас в теме
(1) TMV,
Зачем это нужно выкладывать сюда?

Я только здесь зарегистрирован :) А вдруг пригодится кому-нибудь?

так следует поступать перед каждым нажатием "Выполнить"?)

По желанию, можно через два или три раза )
Если серьезно - перед первой обработкой определенного типа документов.
2. TODD22 18 05.11.15 13:43 Сейчас в теме
Зачем это выкладывать в виде обработки?
Можно было и просто процедурой.

А мне вот как раз такой механизм нужен. Правда нужно ТЗ в случайном порядке сортировать.
bashirov.rs; +1 Ответить
4. gruk 15 05.11.15 18:20 Сейчас в теме
(2) TODD22,
А мне вот как раз такой механизм нужен. Правда нужно ТЗ в случайном порядке сортировать.

Там анти-сортировка как раз реализована через ТЗ, вам пригодится.

Зачем это выкладывать в виде обработки?

На клерк.ру задублировал, там процедуры не любят.
Если совсем 1$m за 5 строк кода жалко, пишите в личку, поделюсь кусочком для ТЗ ;)
5. dgolovanov 06.11.15 10:38 Сейчас в теме
Выгрузил в ТЗ, добавил колонку типа число, заполнил ее для каждой строки генератором случайных чисел, упорядочил, загрузил обратно. В натуре меньше 10 строк )
IvanBoychuk123; almierm; +2 Ответить
Оставьте свое сообщение