Автоматическое разбиение строки на подстроки по ширине колонки / ячейки или по количеству символов

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

Разработка - Обработки - Универсальные обработки

форматирование текста перенос строки разбивка строк

Длинный адрес контрагента или нестандартная фамилия не входит в одну строку, а РазмещениеТекста = Переносить по какой-либо причине не устраивает? Что можно сделать? Вот пара полезных функций для решения данного вопроса с примерами применения.

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

Первое, что приходит на ум - просто изменить режим размещания текста:

ТекОбласть.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;

переносить

Но такой вариант не всегда подходит. Например, требуется, чтобы чтобы у области было нижнее подчёркивание вне зависимости от заполнения. Тогда можно использовать нижнюю границу ячейки, но если строк борее одной(в результате переноса), тогда подчёркнутой окажется лишь нижняя. Можно поизвращаться с самой входной строкой, вставляя лишние пробелы или знак "_" и используя подчёркнутый шрифт, но проще и правильнее, как мне кажется, вывести область несколько раз передавая в неё параметром нужную часть строки. И здесь возникает необходимость разбить строку на подстроки.

Вариант 1. По количеству символов строки.

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

Разбивка по пробелам есть, символ переноса, если слово не входит целиком есть, "защита от дурака" есть. Кстати, если передать вторым параметром 1, то получим преобразвание строки в "столбец".

Как узнать что передать в КоличествоСимволовПодстроки? Методом тыка или вводя в макете символы до заполнения области и, посчитав количество получившихся символов, использовать это значение.

Неплохо! С оговоркой, неплохо это только для моноширных шрифтов. А с обычными получается следующее. Посчитали, сколько входит единиц, а передав строку с буквами типа "Щ", "Ж", "Ю" окажется, что она не войдёт в область. Стоит это иметь ввиду и передавать количество символов с расчётом на самые широкие, но тогда в случае попадания узких символов, может показаться не очевидным, зачем произошёл перенос, если до правой границы ещё достаточно свободного места.

Вариант 2. По ширине ячейки / колонки.

Что изменяется из свойств области при переполнении? Высота! Отлично, она и будет индикатором для переноса строки.

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

Ну и выводим в табличный документ преобразованную строку:

ИсходнаяСтрока = "Очень длинная строка, неспособная войти в выделенную для неё область";

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
НекаяОбласть = Макет.ПолучитьОбласть("НекаяОбласть");
	
ФорматированнаяСтрока = СтрРазбитьНаПодстрокиПоШиринеЯчейки(НекаяОбласть, НекаяОбласть.Область("R1C2"), ИсходнаяСтрока);
	
Для ё = 1 По СтрЧислоСтрок(ФорматированнаяСтрока) Цикл
	НекаяОбласть.Параметры.НекийПараметр = СтрПолучитьСтроку(ФорматированнаяСтрока, ё);
	ТабДок.Вывести(НекаяОбласть);
КонецЦикла;

Вариант 3. Не разбивать строку, а уменьшать шрифт.

Лично меня такой вариант не устраивает минимум по трём причинам:

  1. Размер шрифта ниже некоего становится нечитаемым (порог достигается раньше, если зрение неидеальное).
  2. Печатному документу могут диктоваться стогие правила оформления/форматирования.
  3. Размер шрифта достиг минимально возможного, но текст так и не вместился.

Методика та же, что и в варианте 2, с той разницей, что играться прийдётся не с длиной строки, а с размером шрифта.

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

Надеюсь кому-то окажется полезным. 

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

Наименование Файл Версия Размер
АвтоматическоеРазбиениеСтрокиНаПодстроки

.epf 9,87Kb
13.10.16
3
.epf 9,87Kb 3 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gubanoff 50 21.10.16 16:03 Сейчас в теме
(0) порекламирую свою публикацию, которая также разбивает предложение на строки с заданным числом символов, но делает это по слогам Красивый перенос строк по слогам
2. yku 341 28.10.16 12:19 Сейчас в теме
И у меня очень похожий приём используется. В комментариях много всякого предложили.
http://infostart.ru/public/123769/
Оставьте свое сообщение

См. также

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.10.2014    151472    2000    ekaruk    165    

Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

1 стартмани

01.05.2020    8528    82    sapervodichka    1    

Работа с файлами (обычная и управляемая форма)

Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!

1 стартмани

10.06.2019    25313    145    Xershi    76    

Электронная таблица в 1С средствами табличного документа

Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

23.04.2019    16322    64    user706545_kseg1971    37    

Навигатор по конфигурации базы 1С 8.3 Промо

Инструментарий разработчика Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.69 от 27.09.2020

3 стартмани

28.10.2018    34131    307    ROL32    69    

Редактор объектов информационной базы 8.3

Универсальные обработки Обмен через XML v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.51 от 31.08.2020

2 стартмани

23.01.2019    30112    312    ROL32    39    

Сравнение pdf-файлов актов сверки

Универсальные обработки Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::БУ БП2.0 Россия БУ Абонемент ($m)

Обработка сравнивает два pdf-файла, в которых находятся стандартные печатные формы актов сверки, и показывает на экране совпадающие и/или отличающиеся по суммам документы взаиморасчетов.

1 стартмани

19.12.2018    17668    13    Torin99    2    

Выгрузка изображений из справочника на диск

Учет ТМЦ Универсальные обработки Учет ТМЦ v8 УТ11 Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

Обработка позволяет записать изображения из справочка Номенклатура на диск в указанное место.

1 стартмани

30.11.2018    17723    6    wrooom    8    

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Перенос данных из 1C8 в 1C8 Универсальные обработки Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Абонемент ($m)

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014    207408    3142    ekaruk    183    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    23289    301    morozov.sv    50    

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

Обработка документов Универсальные обработки Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

5 стартмани

15.10.2018    33855    123    json    42    

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом

Печатные формы документов Универсальные функции Email v8 КА1 БП2.0 УТ10 УПП1 Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    24469    16    stvorl    0    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    47200    156    ekaruk    32    

Просмотр, изменение реквизитов объекта. Сравнение двух одинаковых объектов метаданных ИБ

Универсальные обработки v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

26.04.2018    18484    24    Vin_Tik    0    

Построение маршрута доставки с расчётом расстояния для любой базы УФ

Универсальные обработки WEB Оптовая торговля Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    35701    43    KorotkovRV    16    

Проверка орфографии средствами Yandex Speller

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

Проверка орфографии средствами Yandex Speller с опциями и коррекцией ошибок. Возможность вызова как с сервера, так и с клиента (с последующим исправлением).

1 стартмани

09.11.2017    23594    57    🅵🅾️🆇    41    

Перемещение остатков по счету МЦ04 между материально ответственными лицами для конфигураций (8.2). Промо

Обработка документов Универсальные обработки Учет ТМЦ Учет ТМЦ v8 БП2.0 Россия БУ Абонемент ($m)

Небольшая обработка, которая позволяет перекидывать остатки по счету МЦ04 с одного материально ответственного лица на другое

1 стартмани

22.11.2012    15022    13    niksaf    4    

Ведение локального каталога обработок с Инфостарт

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

06.10.2017    29479    57    rpgshnik    48    

Инструменты бухгалтера: Виджеты рабочего стола

Универсальные обработки Рабочее место v8 v8::БУ БП3.0 Абонемент ($m)

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

2 стартмани

28.08.2017    37716    173    Bazil    28    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

Инструментарий разработчика Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.05.2017    25828    184    Bassgood    10    

Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers) Промо

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

С каждым годом становится все очевидно, что использование онлайн-сервисов намного упрощает жизнь. К сожалению по картографическим сервисам условия пока жестковаты. Но, ориентируясь на будущее, я решил показать возможности API выше указанных сервисов: Инициализация карты Поиск адреса на карте с текстовым представлением Геокодинг Обратная поиск адреса по ее координатами Взаимодействие с картами - прием координат установленного на карте метки Построение маршрутов по указанным точками Кластеризация меток на карте при увеличении масштаба Теперь также поддержка тонкого и веб-клиента

1 стартмани

28.12.2012    105878    1195    Smaylukk    355    

Консоль сравнения данных (1С 8, 1С 7.7, SQL, CSV, TXT, DBF, XLS, DOC, XML, JSON, табличный документ) (версия 15.4.56)

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Обработка Консоль сравнения данных (КСД) предназначена для сравнения данных, полученных из разных источников данных: информационных баз 1С 8, 1С 7.7, баз данных SQL, файлов формата CSV/TXT/DBF/XLS/DOC/XML, строки JSON, вручную заполненного табличного документа. Минимально необходимая версия платформы: 8.3.6.1977.

1 стартмани

13.02.2017    34048    123    sertak    100    

Отладка/доработка модуля менеджера "на лету"

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

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

1 стартмани

23.10.2016    30054    20    json    22    

Поиск и отключение зависших сеансов на сервере 1С: Предприятия

Универсальные обработки v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для мониторинга и отключения спящих (зависших) сеансов на сервере 1С: Предприятия.

1 стартмани

14.09.2016    32551    61    wowchik_85    11    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена) Промо

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

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

4 стартмани

11.11.2015    39701    135    catsam    8    

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора.

Обработка документов Универсальные обработки Обмен через XML v8 Абонемент ($m)

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    41594    156    Aphanas    4    

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID)

Универсальные обработки Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    33269    103    Dzenn    9    

Оптимальный способ расчета контрольной суммы объекта/записи регистра (CRC32, MD5, SHA1, SHA256)

Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

1 стартмани

01.08.2016    31717    6    hakerxp    9    

Универсальная обработка "Изменение записей регистров сведений и накопления" (8X) Промо

Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка для Добавления/удаления/изменения записей в любых регистрах сведений (подчиненных и не подчиненных регистраторам) и накопления. Для Платформ 8.1, 8.2, 8.3

2 стартмани

24.05.2015    65632    1507    Erofeevgv    66    

Работа с Яндекс.Диском (обычная и управляемая форма)

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

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

1 стартмани

10.07.2016    29312    167    Xershi    55    

Просмотр данных системы Платон на картах Google

Универсальные обработки WEB v8 1cv8.cf Автомобили, автосервисы Транспорт, автопарки, такси Абонемент ($m)

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

1 стартмани

15.04.2016    33185    18    anig99    8    

ЕГАИС: код алкогольной продукции из штрихкода акцизной марки

Универсальные обработки Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Акцизы Абонемент ($m)

В последнее время мне пришлось потратить очень много времени на внедрение и реализацию функционала ЕГАИС. Очень часто, на форумах, я встречал вопрос: "Как из штрих-кода акцизной марки получить код алкогольной продукции ЕГАИС?". Несколько раз видел неверную реализацию этой задачи. Глядя на это, я набросал простую обработку пересчета кода акцизной марки (base36) в понятный нам уникальный ФСРАР ID алкогольной продукции (Base10).

1 стартмани

11.02.2016    57352    157    OrcaMax    29    

Снимок экрана для 1С

Универсальные обработки Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Довольно часто люди сталкиваются с необходимостью сделать снимок экрана. Если вы или ваши сотрудники основную часть времени проводят в 1С и у вас есть необходимость прикреплять графические файлы, то эта компонента для вас.

1 стартмани

08.02.2016    27968    33    linkforget    11    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API)

Универсальные функции Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    48142    173    TuneSoft    30    

Автоматическая генерация Web-интерфейса с использованием http-сервисов

WEB Универсальные функции v8 1cv8.cf Абонемент ($m)

Пример автоматической генерации Web-интерфейса с использованием http-сервисов.

1 стартмани

03.01.2016    18759    74    BurningChrome    19    

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

Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    20241    0    SeiOkami    3    

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса

Работа с интерфейсом Универсальные функции Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

09.10.2015    36042    128    pbazeliuk    6    

[x1c.ru] MXL Stamps - Печати и подписи в макетах печатных форм в несколько кликов

Печатные формы документов Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.08.2015    36590    18    GusevNA    6    

Работа с push сервисами только средствами 1С 8.2

Сервисные утилиты Инструментарий разработчика Универсальные обработки v8 Абонемент ($m)

Обработка для настройки, тестирования и использования с предустановками для 3-х сервисов. Текст модуля для внедрения в конфигурацию или другие обработки. Уведомления на телефон, компьютер, браузер.

1 стартмани

18.08.2015    30865    43    anig99    1    

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

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

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

1 стартмани

25.06.2015    28125    3    Serginio    1    

Супер-быстрый поиск и замена значений на УФ

Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Возможности: 1. Замена ссылок в объектах сгруппирована по самим объектам, что сильно ускоряет работу: объект 1 раз получается из БД, в нем производятся все необходимые замены после чего объект 1 раз записывается в БД. 2. Существует возможность отключения итогов во время выполнения замены ссылок, что также сильно ускоряет замену в движениях регистров. 3. Представлена возможность пометки на удаление заменяемых значений (для последующего удаления). 4. На форме расположен прогресс-бар, что позволяет оценить оставшееся время работы. 5. Предусмотрена запись объектов в режиме "Загрузка" (данная опция позволяет производить замены в некорректно введенных данных). 6. Предложена возможность отбора видов объектов, в которых будет произведен поиск ссылок. Документы (и их движения), бизнес- процессы, задачи и периодические регистры сведений также можно отобрать по периоду. 7. Реализована функциональность "точечных" замен, установкой флагов "Выбран". 8. Замена в движениях регистров происходит без перепроведения документов, что позволяет делать замены по "закрытым" периодам.

1 стартмани

03.06.2015    19285    527    IvanAlekseev    43    

Нейронная сеть. Создаем, учим и используем. В одной обработке

Инструментарий разработчика Универсальные обработки v8 Абонемент ($m)

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

1 стартмани

12.05.2015    39123    174    dusha0020    52    

Программное создание скриншотов из 1С

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Пример программного создания снимков экрана (скриншотов) непосредственно из 1С.

1 стартмани

07.05.2015    22970    83    terroristish    19    

Яндекс (Yandex) Диск. Обновляйте свои внешние обработки, обработки заполнения, печатные формы и отчеты.

Универсальные обработки WEB v8 1cv8.cf Абонемент ($m)

Хранить свои внешние обработки на внешнем носителе типа Yandex диска удобно, а обновлять в базах 1С еще удобней.

1 стартмани

15.04.2015    39096    103    Patriot1S    37