Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок

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

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

Таблица значений Таблица HTML HTML

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

 

Добрый день, Коллеги!

Возникла необходимость формировать программно таблицы значений в таблицы HTML в виде строкового типа 1С, нашел готовый вариант функции: //infostart.ru/public/174149/ но не подошла.

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

Так же данную функцию можно считать дополнением к моей публикации - Массовая рассылка писем в формате HTML

Ещё хочется отметить, что с помощью параметра можно вывести первую колонку "пункт по порядку", который часто необходим.

Функция ТаблицаЗначенийВТаблицуХТМЛ(ТабЗначений,СтруктураПараметрыТаблицыХТМЛ = Неопределено) Экспорт
	
	//СтруктураПараметрыТаблицыХТМЛ
	//
	//Общие параметры:
	//СтруктураПараметрыТаблицыХТМЛ.ШиринаТаблицы - общая ширина таблица
	//СтруктураПараметрыТаблицыХТМЛ.ЦветШапки - цвет шапки таблицы пример "eadbaf"
	//СтруктураПараметрыТаблицыХТМЛ.ПунктПорядкуИспользуется - по умолчанию ЛОЖЬ
	//
	//Индивиуальные для каждой колонки:
	//СтруктураПараметрыТаблицыХТМЛ.Заголовок1 - заголовок для первой колонки, цифра на конце обознает номер колонки (не с нуля)
	//СтруктураПараметрыТаблицыХТМЛ.Ширина1 - ширина для первой колонки, цифра на конце обознает номер колонки (не с нуля)
	//СтруктураПараметрыТаблицыХТМЛ.Положение1 - отвечает за положение текста в колонке (по умол. лево), передовать "center" или "right"
	
	//ТабЗначений = Новый ТаблицаЗначений;
	МассивИменКолонок = Новый Массив;
	
	Если ТипЗнч(СтруктураПараметрыТаблицыХТМЛ) <> Тип("Структура") Тогда
		СтруктураПараметрыТаблицыХТМЛ = Новый Структура;
	КонецЕсли;
				
	КоличествоКолонок = ТабЗначений.Колонки.Количество();
	ПунктПорядкуИспользуется = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство("ПунктПорядкуИспользуется"),СтруктураПараметрыТаблицыХТМЛ.ПунктПорядкуИспользуется,ЛОЖЬ);	
	
	Если КоличествоКолонок < 0 Тогда
		Возврат Неопределено;
	КонецЕсли;
			
	ЦветШапки = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство("ЦветШапки")," bgcolor=""#" + СтруктураПараметрыТаблицыХТМЛ.ЦветШапки + """","");
	ШиринаТаблицы = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство("ШиринаТаблицы")," style=""width:" + СтруктураПараметрыТаблицыХТМЛ.ШиринаТаблицы + "px""",""); 
	ТаблицаХТМЛ = "<table border=""1"" cellpadding=""1"" cellspacing=""0"" " + ШиринаТаблицы + ">
				|<tbody>
				|<tr>";
	
	//Первым выводим столбик П/П если он задан в шапку
	Если ПунктПорядкуИспользуется Тогда
		ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|<td" + ЦветШапки + " style=""width:30px"" align=""center"">п/п</td>";	
	КонецЕсли;
	
	//Формируем шапку
	Для Счетчик = 1 по КоличествоКолонок Цикл
		ИмяСвойстваШирина = "Ширина" + Счетчик;
		ШиринаСтолбца = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство(ИмяСвойстваШирина)," style=""width:" + СтруктураПараметрыТаблицыХТМЛ[ИмяСвойстваШирина] + "px""","");
		ИмяКолонки = ТабЗначений.Колонки[Счетчик-1].Имя;
		ИмяСвойстваЗаголовок = "Заголовок" + Счетчик;
		ЗаголовокКолонки = ?(СтруктураПараметрыТаблицыХТМЛ.Свойство(ИмяСвойстваЗаголовок),СтруктураПараметрыТаблицыХТМЛ[ИмяСвойстваЗаголовок],ИмяКолонки);
		ТаблицаХТМЛ = ТаблицаХТМЛ + " 
				|<td" + ЦветШапки + ШиринаСтолбца + " align=""center"">" + ЗаголовокКолонки + "</td>";	
		МассивИменКолонок.Добавить(ИмяКолонки);
	КонецЦикла;
	ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|</tr>";
	
	//Заполняем таблицу	
	ПунктПорядку = 0;
	Для каждого СтрокаТаблицы Из ТабЗначений Цикл
		ПунктПорядку = ПунктПорядку + 1;
		ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|<tr>" + ?(ПунктПорядкуИспользуется, Символы.ПС + "<td align=""center"">" + ПунктПорядку + "</td>","") + "";
		Для Счетчик = 0 по КоличествоКолонок - 1 Цикл
			ИмяСвойстваПоложение = "Положение" + Строка(Счетчик + 1);
			Положение = " align=""" + ?(СтруктураПараметрыТаблицыХТМЛ.Свойство(ИмяСвойстваПоложение),СтруктураПараметрыТаблицыХТМЛ[ИмяСвойстваПоложение],"left") + """";
			ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|<td " + Положение + ">" + СтрокаТаблицы[МассивИменКолонок[Счетчик]] + "</td>";			
		КонецЦикла;				
		ТаблицаХТМЛ = ТаблицаХТМЛ + "
				|</tr>";
	КонецЦикла;	
	
	ТаблицаХТМЛ = ТаблицаХТМЛ + " 
				|</tbody>
				|</table>";
	
	Возврат ТаблицаХТМЛ;

КонецФункции

 

Пример использования #1 - Формируем страничку HTML

Демонстрация работы приводиться на моей конфигурации Тренажер для тестирования (удобно использоваться для подготовки к профессионалу и не только).

Код обработки с заданием ряда параметров для будущей таблицы HTML. Создается готовый 1.html файл на диске, в котором содержится искомая таблица.

&НаКлиенте
Процедура ЧтоТоСделать(Команда)
	КодСтраницыХТМЛ = "<html><BODY>" + Символы.ПС + ПолучитьТаблицуХТМЛ() + Символы.ПС + "</BODY></html>";
	ТекстовыйДокумент = Новый ТекстовыйДокумент;
	ТекстовыйДокумент.УстановитьТекст(КодСтраницыХТМЛ);
	ТекстовыйДокумент.НачатьЗапись(,"C:\public\1.html","windows-1251");	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьТаблицуХТМЛ()
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	котВопросы.Курс КАК Курс,
	               |	котВопросы.Раздел КАК Раздел,
	               |	котВопросы.НомерВопроса КАК НомерВопроса,
	               |	котВопросы.Вопрос КАК Вопрос,
	               |	котВопросы.НаличиеКартинки КАК НаличиеКартинки,
	               |	котВопросы.НомерВерногоОтвета КАК НомерВерногоОтвета
	               |ИЗ
	               |	РегистрСведений.котВопросы КАК котВопросы";
	
	ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
	Параметры = Новый Структура;
	Параметры.Вставить("ПунктПорядкуИспользуется",ИСТИНА);
	Параметры.Вставить("ШиринаТаблицы","800");
	Параметры.Вставить("ЦветШапки","eadbaf");
	Параметры.Вставить("Ширина3","300");
	Параметры.Вставить("Положение2","center");
	Параметры.Вставить("Положение3","center");
	Параметры.Вставить("Положение6","center");
	Параметры.Вставить("Заголовок3","Номер вопроса");	
	Параметры.Вставить("Заголовок5","Наличие картинки");
	Параметры.Вставить("Заголовок6","Правильный ответ");
	ТаблицаХТМЛ = ТаблицаЗначенийВТаблицуХТМЛ(ТаблицаЗначений,Параметры);
	Возврат ТаблицаХТМЛ; 
КонецФункции

Результат работы выше написанного кода:

 

Пример использования #2 - Отправляем таблицу HTML в электронном письме

Но прямое использование породившее функцию для уведомлений по почте в теле HTML сообщения электронной почты:

 

Удачного кодинга!

 

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

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. smirnov.es 16 22.12.17 10:43 Сейчас в теме
А если просто готовый макет сохранить в HTML?
3. rpgshnik 2216 22.12.17 19:39 Сейчас в теме
(1) т.е. создать макет, но ведь не удобнее его потом редактировать и динамически влиять на цветовую палитру таблицы и т.п. либо я не понял)
2. ArchLord42 73 22.12.17 12:23 Сейчас в теме
ухх. какой спагетти-код

Можно сделать так:


//Шаблон, лежит например в макете

<!DO CTYPE html>
<ht ml>
<head>
	<title>my table</title>
</head>
<body>
	<table st yle="width: {{ Параметры.ШиринаТаблицы }}px; height: {{ Параметры.ВысотаТаблицы }}px;">
		<thead>
			<tr bgcolor="{{ Параметры.ЦветШапки }}">
				{% Для Каждого Колонка ИЗ Параметры.ТЗ.Колонки Цикл %}
				<td>{{ Колонка.Имя }}</td>
				{% КонецЦикла; %}
			</tr>
		</thead>
		<tbody>
			{% Для Каждого СтрокаТЗ ИЗ Параметры.ТЗ Цикл %}
			<tr>
				{% Для Каждого Колонка ИЗ Параметры.ТЗ.Колонки Цикл %}
				<td>{{ СтрокаТЗ[Колонка.Имя] }}</td>
				{% КонецЦикла; %}
			</tr>
			{% КонецЦикла; %}
		</tbody>
	</table>
</body>
</html>

//Фунция выводить любую таблицу значений в HTML
Функция ВывестиЛюбуюТаблицуВHTML(ТЗ, ШиринаТаблицы = Неопределено, ДлинаТаблицы = Неопределено, ЦветШапки = Неопределено)
	Шаблон = ПолучитьШаблонВывода(); //Получаем шаблон, см.выше

	ДлинаТаблицы  = ?(ДлинаТаблицы = Неопределено, "1000", ДлинаТаблицы);
	ШиринаТаблицы = ?(ШиринаТаблицы = Неопределено, "500", ШиринаТаблицы);
	ЦветШапки 	  = ?(ЦветШапки = Неопределено, "#FFF", ЦветШапки);

	Возврат Шаблонизатор.СкомпилироватьШаблон(Шаблон, Новый Структура("ТЗ, ШиринаТаблицы, ВысотаТаблицы, ЦветШапки", ТЗ, ШиринаТаблицы, ДлинаТаблицы, ЦветШапки));

КонецФункции

Показать


Если заинтересовало, то прошу https://infostart.ru/public/549791/ :)

Кстати можно пойти более 1Сным путем и вывести ТЗ через СКД, где все можно настроить визуально и ТД потом в HTML конвертнуть.

Имхо такой код очень сложно поддерживать.
user892609; Zeskord; fenixnow; spectre1978; Evg-Lylyk; echo77; DrAku1a; A_Max; Vladimir Litvinenko; kote; +10 Ответить
4. rpgshnik 2216 22.12.17 19:51 Сейчас в теме
(2) интересно ваше предложение по коду в шаблоне (проверю как работает не сталкивался), но сама реализация в целом схожа, если использовать структуру то будет такая же лапша)) если вы об этом, а без структуры передавать все параметры в процедуры это будет треш может достичь такого ВывестиЛюбуюТаблицуВHTML(ТЗ,,,,,,"Договор контрагента",,,,,,"center",,,,ИСТИНА); Это же вообще будет не понятно что происходит)) К примеру центрируйте только 35-ую колонку, а 14 колонке заголовок "Договор контрагента".

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

Прямое использование - без интерфейсное - регламентными заданиями. В сфою функцию я просто передаю таблицу прямо из запроса, знаю какие колонки мне нужно написать с пробелом,какие колонки центрировать, а так же при необходимости п\п. Получаю ХТМЛ таблицу, вгоняю её в шаблон письма и письмо улетает))
6. MSK_Step 21 22.12.17 21:46 Сейчас в теме
Завуалированная реклама
(2)Без обид, но ваша статья слабовата, как демо какое то. Я не осилил с первого взгляда. Тут хоть развернут код, чтобы не тратить время на скачивание.
Igor_K_; rpgshnik; +2 Ответить
20. spectre1978 54 26.02.19 11:07 Сейчас в теме
(2) Категорически поддерживаю! Сам использую подобный механизм для формирования XML-документов. Гораздо удобнее, чем городить портянку через DOM или через ЗаписьXML.
5. ArchLord42 73 22.12.17 21:07 Сейчас в теме
ВывестиЛюбуюТаблицуВHTML(ТЗ,,,,,,"Договор контрагента",,,,,,"center",,,,ИСТИНА)

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

На простых примерах преимущества шаблонизации вы можете и не разглядеть, но когда поработаете с html с >1k строк кода и кучей переменных, поймете всю боль веб программистов из 2006 года.
starik-2005; DrAku1a; +2 Ответить
7. rpgshnik 2216 23.12.17 15:49 Сейчас в теме
(5) так мне не нужно работать с 1к мне нужен удобный и простой способ перегнать таблицу значений в строку 1с с кодом HTML таблицы.
Вы мне покажите как ваш шаблон и функция будет выглядит полностью сопоставив моей если это легче и удобнее.
8. fuxic 293 24.12.17 01:08 Сейчас в теме
Вам бы посоветовал азы, чтобы не выглядеть 1сником в чужом огороде.

Настройки шаблона / данные / шаблон должны быть разделены визуально и в коде - основы MVC.

Зачем смешивать мух и котлет - native стили вместо css в одном месте? Все оформления тоже лучше в общий style, например, та же шапка через элементы thead td:nth-child(n), тогда исходник с результатом будет легко читаться и меньше весить

И зачем супернастройки вместо того, чтобы дать выбрать из существующих css, которые делали профдизайнеры Bootstrap3/4, Flat, Material (1, 2), Metro, Office, W3CSS - не касаясь фремворков вокруг настоящих движков (ember, angular, vue, jquery, dojo, extjs, kendoUI)! Конкретные цвета лучше заменить абстракциями ("важно", "критично", "основное", "второстеменно") и дать запоминать

1-й класс HTML. Элементарные элементы стиля - рамку светлее (1сные рамки отнимают много внимания в любой версии), в td padding (дикость без отступов от бордеров жить), в шапке th вместо td, ширину 100% для адаптвной и для колонок лучше max-width. Веберы за шрифт Verdana вместо нового супер Roboto стрелять готовы, а тут TimeNewRomans :))) Добавьте еще настройку процента размера через transform: scale(90%) для удобства. Для красоты можете tr:hover. Но все это полная ерунда, когда все уже давно написано.
ZOMI; Rie; Gureev; rpgshnik; +4 Ответить
9. ArchLord42 73 24.12.17 09:24 Сейчас в теме
(8)
Пример использования #2 - Отправляем таблицу HTML в электронном письме

Если учесть тот факт, что автор (скорее всего) писал кроссвалидный код как для вывода страницы, так и для отпраки письма, то практически все ваши замечания становятся бессысленными.
dima_home; CSiER; rpgshnik; +3 Ответить
10. fuxic 293 24.12.17 14:19 Сейчас в теме
Шаблонизаторы XSLD
(9)

Любой готовый css встраивается в письмо. Их размерам после углифай в *.min.css вы удивитесь))
Более того, можно экспортировать настройки только таблицы и бади.
Более того css вершина и изюминка, а самое интересное, если заняться js и заставить эту таблицу работать (тултипы, линки, свертки, меню)

И когда html, css, javascript, препроцессоры, постпроцессоры, сборщики, npm-пакеты останутся позади вы откроете для себя node.js ))))
11. ArchLord42 73 24.12.17 14:42 Сейчас в теме
(10)
node.js

лол, я пишу на нем уже 2 год.

У вас видимо опыта мало, вот и пишите тут ахинею

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

1) только таблицы, никаких дивов.
2) ТОЛЬКО инлайн css и если css, то определенные его свойства, в частности :hover который вы раньше упоминали к ним не относится.
3) никакого js

и это всего навсего "вершина айсберга", пунктов на самом деле поболее.

а тот спиок которым вы тут хорохоритесь попросту на 70% не работспособен в почтовых программах, css не инлайн удаляется, js удаляется, дивы и прочие html элементы удаляются в большинстве случаев.
12. fuxic 293 24.12.17 15:16 Сейчас в теме
(11) Согласен с письмами. Но к ним мы перешли без причины. Только об инлайн css и речь, так что не надо поправлять и ахинеить))

С js таблица встраивается во вложение и не ломайте мне мозг супертаблицами в самом письме
14. ArchLord42 73 24.12.17 15:30 Сейчас в теме
(12)
Но к ним мы перешли без причины.


боже мой, вы вообще читаете что вам пишут?

Сэкономьте мне время


10 стартмани, ок?
15. fuxic 293 25.12.17 13:23 Сейчас в теме
(14) Мне пишет человек, который вместо XSLT или handlebars пишет свои шаблонизаторы и разводит на 10sm, делая вид что что-то знает ))) Поменьше эмоций, давайте поставим точку в бесполезном общении.
16. ArchLord42 73 25.12.17 13:58 Сейчас в теме
(15)
Мне пишет человек, который вместо XSLT или handlebars пишет свои шаблонизаторы


Как вы представлете будет работать handlebears, без браузера где нет JS?) ну, а XLST в музей садомии пора сдавать.

Реализуете что-то получше на native 1С, обязательно скачаю.

разводит на 10sm


Вы просили услугу, я назвал цену..развод?) Сходите к доктору молодой человек.
13. fuxic 293 24.12.17 15:20 Сейчас в теме
(11) Сэкономьте мне время, на nodejs надо выбрать 1-2 фремворка. Варианты

actionherojs https://www.actionherojs.com/ **
adonisjs http://adonisjs.com
catberry http://catberry.org
dietjs http://dietjs.com/
expressjs https://expressjs.com/ **
hapijs https://hapijs.com
koajs http://koajs.com/
loopback https://loopback.io/ **
mean http://mean.io/
nodaljs http://www.nodaljs.com/
sailsjs https://sailsjs.com/ **
senecajs http://senecajs.org/
strapi https://strapi.io/
totaljs https://www.totaljs.com/ **
21. dima_home 122 27.02.19 07:45 Сейчас в теме
(8)
"Идейный посыл"


Растреливал бы людей, которые лепят в сайты всякие "node.js" куда не попадя.
Сегодня, даже если у тебя простая страничка HTML (показывает пару картинок и табличку), погружают столько библиотех и джаваскриптов, что даже пустая страница открывается в браузере несколько секунд и весит под 100 МБ.
rpgshnik; +1 Ответить
17. s_vidyakin 27.12.17 11:05 Сейчас в теме
Я как то раз накидал шаблон максимально близкий к 1Сным таблицам, теперь иногда использую в формах чтоб добавить возможности форматирования которых нет в 1С (редко)
Прикрепленные файлы:
dima_home; TreeDogNight; rpgshnik; +3 Ответить
18. zzzzz 14 22.11.18 10:23 Сейчас в теме
Здравствуйте! Спасибо за код, не было времени разбираться. А так готовый взяла и все работает! Есть пара вопроосов правда.
Можно ли ширину настраивать не значениями, а может есть что то типа "по ширине документа", а ширину колонок, например в процентном соотношении? И если у меня в таблице есть пустые ячейки, то они выводятся без рамки. Можно ли где то в коде насильственно прислюнить этот "border"? Спасибо.
rpgshnik; +1 Ответить
19. rpgshnik 2216 22.11.18 11:34 Сейчас в теме
(18)
Можно ли ширину настраивать не значениями, а может есть что то типа "по ширине документа", а ширину колонок, например в процентном соотношении? И если у меня в таблице есть пустые ячейки, то они выводятся без рамки. Можно ли где то в коде насильственно прислюнить этот "border"? Спасибо.

Если честно не силен HTML, думаю там всё возможно если разобраться :) Я делал довольно примитивный вывод табличной части.
22. DERL 16.01.20 15:53 Сейчас в теме
спасибо за функцию!
для себя добавил дополнительный параметр "НеПереносить", для тех колонок, где нужно запретить перенос строк, в тег <td> добавляется noWrap
Оставьте свое сообщение

См. также

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

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

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

10.12.2016    36727    unichkin    46    

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

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

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

27.01.2020    21505    ids79    26    

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

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

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

15.01.2020    20205    John_d    22    

Последовательности событий. Шпаргалка

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

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

30.12.2019    15085    kuzyara    33    

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

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

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

15.10.2018    29210    tormozit    100    

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

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

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

25.12.2019    6705    brooho    17    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    16163    YPermitin    72    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

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

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    7802    Sibars    19    

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

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

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

20.09.2012    77146    tormozit    131    

Реализация отправки Email через SendPulse API

Email v8 УТ11 Россия Бесплатно (free)

Описана реализация отправки Email с использованием API и применением очереди отправки как пример для программистов (вариант компоновка блоков в контексте конкретного сервиса).

06.10.2019    3587    malikov_pro    5    

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

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

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

01.10.2019    29832    Yashazz    46    

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

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

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

06.09.2019    43052    rpgshnik    63    

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

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

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

11.07.2007    47420    tormozit    40    

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

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

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

05.09.2019    44824    ids79    54    

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

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

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

05.09.2019    25879    YPermitin    24    

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

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

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

03.09.2019    24762    YPermitin    80    

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

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

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

10.09.2017    43637    tormozit    74    

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

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

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

17.08.2019    29899    ids79    16    

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

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

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

08.08.2019    70764    ids79    49    

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

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

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

02.08.2019    31170    avalakh    22    

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

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

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

25.04.2019    15812    m-rv    2    

Разбираемся с параметрами редактирования СКД

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

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    21270    json    13    

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

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

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

26.07.2019    52436    ids79    11    

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

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

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

17.07.2019    33498    ids79    27    

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

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

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

16.04.2019    19802    m-rv    17    

Регистры сведений. За кулисами

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

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    25033    YPermitin    13    

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

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

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

04.07.2019    19248    SeiOkami    50    

Работа с настройками системы компоновки данных

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

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    40992    ids79    17    

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

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

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

01.06.2018    29873    m-rv    21    

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

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

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

25.06.2019    48458    ids79    25    

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

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

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

11.06.2019    23869    dmurk    144    

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

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

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

16.05.2019    40129    YPermitin    30    

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

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

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

05.12.2017    27964    itriot11    34    

Выполнение внешней обработки в фоновом задании

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    28262    Eret1k    23    

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

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

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

07.04.2019    33973    ellavs    126    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

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

28.03.2019    26435    ellavs    88    

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

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

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

27.01.2016    75316    Serginio    108    

Трюки с внешними источниками данных

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    30233    YPermitin    53    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

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

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    20831    Vladimir Litvinenko    27    

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

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

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

10.11.2018    33549    ids79    40    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

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

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    36491    ids79    9    

EnterpriseData – часть 2. Процесс выгрузки данных

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

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    25637    ids79    31    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    28793    grumagargler    28    

Новый подход к обмену данными EnterpriseData

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

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

14.12.2018    39328    ids79    72    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

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

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    35714    ids79    40    

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке

Универсальные функции Зарплата Управление персоналом (HRM) Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Бесплатно (free)

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

14.11.2018    78292    GeterX    112    

Система тестирования. Тренажер для тестирования. Подготовка к профессионалу по 1С (1С:Профессионал), школьные тесты, вопросы ПДД, корпоративные проверки и многое другое Промо

Решение задач на 1С:Специалист v8::УФ Россия Абонемент ($m)

Конфигурация (программа) служит для подготовки к тестированию, а также возможности организации тестовой проверки. Функционал получился универсальный, подойдёт для подготовке к любой сдаче профессионала по платформе, ERP, бухгалтерии и др. Так же можно вносить другие тесты - вопросы по правилам дорожного движения или школьные тесты. Если у вас в компании есть внутренние обучения, с помощью данной программы вы можете закреплять пройденный курс.

1 стартмани

31.10.2017    31326    94    rpgshnik    56    

Программное заполнение пользовательских параметров и отборов СКД

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

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

13.11.2018    43528    Unk92    21