Из таблиц значений в html-таблицы, функция

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

Разработка - Системная интеграция - Интеграция с WEB

На входе - таблица значений, в ячейках которой могут содержаться другие таблицы значений и массивы, в которых могут быть таблицы значений. Рекурсивная функция. На выходе - html-строка, представляющая собой готовый документ или фрагмент для использования в html.
Действие, обратное http://infostart.ru/public/172688/ (собственно, "по заявкам" и сделано)

 




Функция ПолучитьHTMLизТаблицыЗначений(рТаблица,Знач рПараметры="",докВладелец=Неопределено) Экспорт

   
// распознаем параметры

   
Если ТипЗнч(рПараметры)<>Тип("Структура") Тогда рПараметры=Новый Структура КонецЕсли;

   
//рКодировка=?(рПараметры.Свойство("Кодировка"),рПараметры.Кодировка,"UTF-8");

   
рШиринаРамки=?(рПараметры.Свойство("ШиринаРамки"),рПараметры.ШиринаРамки,0); // в пикселях

   
Если рШиринаРамки<>0 Тогда // имеет смысл

       
рЦветРамки=?(рПараметры.Свойство("ЦветРамки"),рПараметры.ЦветРамки,"");

       
рЦветРамкиЯркий=?(рПараметры.Свойство("ЦветРамкиЯркий"),рПараметры.ЦветРамкиЯркий,"");

       
рЦветРамкиТёмный=?(рПараметры.Свойство("ЦветРамкиТемный"),рПараметры.ЦветРамкиТемный,"");

       
рТипРамки=?(рПараметры.Свойство("ТипРамки"),рПараметры.ТипРамки,"hsides");

       
рЛинии=?(рПараметры.Свойство("Линии"),рПараметры.Линии,"all");

    КонецЕсли;

   
рМеждуЯчейками=?(рПараметры.Свойство("МеждуЯчейками"),рПараметры.МеждуЯчейками,0);

   
рОтступДоЯчейки=?(рПараметры.Свойство("ОтступДоЯчейки"),рПараметры.ОтступДоЯчейки,1);

   
рШирина=?(рПараметры.Свойство("Ширина"),рПараметры.Ширина,100); // макс.ширина, пиксели или проценты

   
рВысота=?(рПараметры.Свойство("Высота"),рПараметры.Высота,1);

   
рЦветФона=?(рПараметры.Свойство("ЦветФона"),рПараметры.ЦветФона,"");

   
рВыравнивание=?(рПараметры.Свойство("Выравнивание"),рПараметры.Выравнивание,"center");

   
рВыравниваниеГор=?(рПараметры.Свойство("ВыравниваниеГоризонтальное"),рПараметры.ВыравниваниеГоризонтальное,"middle");

   
рВыравниваниеВерт=?(рПараметры.Свойство("ВыравниваниеВертикальное"),рПараметры.ВыравниваниеВертикальное,"center");



   
// определимся с документом

   
Если докВладелец=Неопределено Тогда

       
док=Новый ДокументHTML("");

       
телдок=док.СоздатьЭлемент("BODY");

       
док.Тело=телдок;

    Иначе

       
док=докВладелец;

       
телдок=док.Тело;

    КонецЕсли;



   
// собственно делаем таблицу

   
таб=док.СоздатьЭлемент("TABLE");



   
// ставим параметры таблицы в целом, имеющие свойства в объектной модели 1С

   
таб.Выравнивание=рВыравнивание; // align

   
таб.Рамка=СокрЛП(рШиринаРамки); // border

   
таб.ОтступДоЯчейки=СокрЛП(рОтступДоЯчейки); // cellPadding

   
таб.РасстояниеМеждуЯчейками=СокрЛП(рМеждуЯчейками); // cellSpacing

   
таб.ЦветФона=СокрЛП(рЦветФона); // bgColor

   
таб.Ширина=СокрЛП(рШирина); // width

   
Если рШиринаРамки<>0 Тогда // имеет смысл

       
таб.Линии=СокрЛП(рЛинии); // rules (допустимо: all, groups, cols, none, rows)

   
КонецЕсли;



   
// ставим параметры таблицы в целом, НЕ имеющие свойств в объектной модели 1С

    // ставим их в атрибуты именно к таб, а не ко всему Телу документа, и не к Телу таблицы

   
атр=док.СоздатьАтрибут("height");

   
атр.Значение=СокрЛП(рВысота);

   
таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

   
//

   
атр=док.СоздатьАтрибут("cols"); // общее объявление

   
атр.Значение=СокрЛП(рТаблица.Колонки.Количество());

   
таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

   
//

    //атр=док.СоздатьАтрибут("nowrap"); // запрет переносов текста (кому понадобится, раскомментите)

    //атр.Значение=Истина;

    //таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

    // аналогичным образом можно устанавливать прочие свойства таблицы в целом, её строк и ячеек



   
Если рШиринаРамки<>0 Тогда // имеет смысл

       
атр=док.СоздатьАтрибут("borderColor");

       
атр.Значение=СокрЛП(рЦветРамки);

       
таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

       
атр=док.СоздатьАтрибут("borderColorLight");

       
атр.Значение=СокрЛП(рЦветРамкиЯркий);

       
таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

       
атр=док.СоздатьАтрибут("borderColorDark");

       
атр.Значение=СокрЛП(рЦветРамкиТёмный);

       
таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

       
// доступные типы рамок: void, above, below, lhs, rhs, hsides, vsides, box

       
атр=док.СоздатьАтрибут("frame");

       
атр.Значение=СокрЛП(рТипРамки);

       
таб.Атрибуты.УстановитьИменованныйЭлемент(атр);

    КонецЕсли;



   
// добавляем таблицу и её тело

   
телдок.ДобавитьДочерний(таб);

   
телтаб=док.СоздатьЭлемент("TBODY");

   
таб.ДобавитьДочерний(телтаб);



   
// заполняем таблицу

   
Для каждого рСтрока Из рТаблица Цикл

       
#Если Клиент Тогда

           
ОбработкаПрерыванияПользователя();

       
#КонецЕсли

       
стро=таб.ВставитьСтроку(1); // вопреки документации, Индекс это обязательный параметр

        // хотя, строку можно добавлять и так: стро=док.СоздатьЭлемент("TR"), но ИндексСтроки поменять будет нельзя!

       
стро.ВертикальноеПоложение=рВыравниваниеВерт;

       
стро.Выравнивание=рВыравниваниеГор;

       
стро.ЦветФона=рЦветФона;

       
телтаб.ДобавитьДочерний(стро);

       
// коллекция Ячейки - для чтения, а нам надо добавлять

       
Для каждого кол Из рТаблица.Колонки Цикл

           
#Если Клиент Тогда

               
ОбработкаПрерыванияПользователя();

           
#КонецЕсли

           
//яч=стро.ВставитьЯчейку(1); // а вот это почему-то вообще не заработало ни при каких...

           
яч=док.СоздатьЭлемент("TD");    // поэтому делаем так

           
рЗначение=рСтрока[кол.Имя];

            Если
ТипЗнч(рЗначение)=Тип("ТаблицаЗначений") Тогда

               
яч.ДобавитьДочерний(ПолучитьHTMLизТаблицыЗначений(рЗначение,рПараметры,док));

            ИначеЕсли
ТипЗнч(рЗначение)=Тип("Массив") Тогда

                Для каждого
знч Из рЗначение Цикл

                   
#Если Клиент Тогда

                       
ОбработкаПрерыванияПользователя();

                   
#КонецЕсли

                   
Если ТипЗнч(знч)=Тип("ТаблицаЗначений") Тогда

                       
яч.ДобавитьДочерний(ПолучитьHTMLизТаблицыЗначений(знч,рПараметры,док));

                    Иначе
// вложенные массивы поддерживать не будем, но при желании можно сделать

                       
тек=док.СоздатьЭлемент("P"); // можно, например, так

                       
тек.ТекстовоеСодержимое=СокрЛП(Строка(знч));

                       
яч.ДобавитьДочерний(тек);

                    КонецЕсли;

                КонецЦикла;

            Иначе
// записываем строковое представление

               
яч.ТекстовоеСодержимое=СокрЛП(Строка(рЗначение));

            КонецЕсли;

           
стро.ДобавитьДочерний(яч);

        КонецЦикла;

    КонецЦикла;



    Если
докВладелец<>Неопределено Тогда

        Возврат
таб; // нужна таблица как ЭлементHTML

   
Иначе

       
// нужен полноценный текст результата, записываем получившееся

       
зап1=Новый ЗаписьHTML;

       
зап1.УстановитьСтроку(); // вопреки документации, параметр Кодировка не допускается

       
зап2=Новый ЗаписьDOM; // обойдёмся без явного указания конфигурации записи DOM

       
зап2.Записать(док,зап1);

        Возврат
зап1.Закрыть();

    КонецЕсли;

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



 

И собственно пример вызова функции:


    рПараметры=Новый Структура;

   
рПараметры.Вставить("ШиринаРамки",2);

   
рПараметры.Вставить("ТипРамки","box");

   
рПараметры.Вставить("ЦветРамки","#99cc00");

   
рПараметры.Вставить("ЦветРамкиЯркий","#00ff00");

   
рПараметры.Вставить("ЦветРамкиТемный","#339966");

   
рПараметры.Вставить("МеждуЯчейками",0);

   
рПараметры.Вставить("ОтступДоЯчейки",1);

   
рПараметры.Вставить("Ширина","70%");

   
рПараметры.Вставить("Высота",1);

   
рПараметры.Вставить("ЦветФона","#fffacd");

   
рПараметры.Вставить("Выравнивание","center"); // всей таблицы

   
рПараметры.Вставить("ВыравниваниеГоризонтальное","middle"); // текста в ячейках

   
рПараметры.Вставить("ВыравниваниеВертикальное","center"); // текста в ячейках

    //

   
тб=новый таблицазначений;

   
тб.Колонки.Добавить("к1"); тб.Колонки.Добавить("к2"); тб.Колонки.Добавить("к3");

   
стро=тб.Добавить(); стро.к1="1"; стро.к2="2"; стро.к3="3";

   
стро=тб.Добавить(); стро.к1="4"; стро.к2="5"; стро.к3="6";



   
тб2=тб.СкопироватьКолонки();

   
стро=тб2.Добавить(); стро.к1="Всем"; стро.к2="большой"; стро.к3="привет!";

   
стро=тб2.Добавить(); стро.к1="Это пример"; стро.к2="преобразования таблицы значений"; стро.к3="в html-таблицу";



   
мас=Новый Массив;

   
мас.Добавить("Текст выше таблички"); мас.Добавить(тб2); мас.Добавить("Текст ниже таблички");



   
стро=тб.Добавить(); стро.к1=мас; стро.к2=тб2.Скопировать(); стро.к3="молодцы";



   
Сообщить(ПолучитьHTMLизТаблицыЗначений(тб,рПараметры));

 

 

 

 

 

 

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. sikuda 620 18.02.13 09:45 Сейчас в теме
Интересно. А нет у тебя заготовок для ТабличныйДокумент -> HTML Table? Интересует перенос оформления в html?
2. Yashazz 3202 18.02.13 14:20 Сейчас в теме
(1) Нету. Если табличный документ не сильно "красивый" да навороченный, можно его через таблицу значений кинуть.
15. ResetAtreides 11.04.17 13:55 Сейчас в теме
(1) Табличный документ по умолчанию умеет в HTML сохраняться, СКД так сохраняю. Правда только целиком и лишние столбцы справа захватывает, не нашел адекватного способа это побороть
17. Yashazz 3202 14.04.17 13:17 Сейчас в теме
(15) Табличные документы проще сериализовать, раздербанить с помощью DOM, например, и вывалить в HTML так же, как показано в этой публикации.
18. ResetAtreides 14.04.17 13:46 Сейчас в теме
(17) Я так понял у вас из таблиц значений HTML генерируется, а мне надо прямоугольную область из табличного документа с сохранением форматирования(хоть примерным). Не очень представляю как обрабатывать сериализованный табличный документ
19. Yashazz 3202 14.04.17 19:49 Сейчас в теме
(18) вот и говорю, берёте табличный документ со всей прелестью, что в нём, превращаете в xml, а оттуда в html. Примеры кода можно глянуть тут: http://infostart.ru/public/531533/ Обрабатывать его довольно просто, там структура в общем интуитивно понятная. Можно обрабатывать как xml, можно как DOM, можно вообще как текстовый файл.
20. Yashazz 3202 24.05.17 23:38 Сейчас в теме
(18) Вот, дошли руки:
// делаем заголовок
    стро=таб.ВставитьСтроку(1);
    стро.ВертикальноеПоложение=рВыравниваниеВерт;
    стро.Выравнивание=рВыравниваниеГор;
    стро.ЦветФона=рЦветФонаЗаголовка;
	//
	телтаб.ДобавитьДочерний(стро);
    Для каждого кол Из рТаблица.Колонки Цикл
        яч=док.СоздатьЭлемент("TD");
        яч.ТекстовоеСодержимое=СокрЛП(?(ПустаяСтрока(кол.Заголовок),кол.Имя,кол.Заголовок));
        стро.ДобавитьДочерний(яч);
    КонецЦикла;
Показать
3. Steelvan 19.02.13 11:29 Сейчас в теме
4. mikhailovaew 126 14.03.13 11:11 Сейчас в теме
Молодец автор, большую работу сделал!
5. mikhailovaew 126 14.03.13 11:11 Сейчас в теме
Отдельное спасибо за то, что выложил текстом, и не приходится скачивать.
purgin; DERL; shard; gluker; OrsoBear; sea-man; +6 Ответить
6. FireFox_Manager 08.10.13 22:27 Сейчас в теме
Спасибо большое, очень пригодилось.
7. ALagutin 57 21.11.14 11:51 Сейчас в теме
Очень полезная функция! Спасибо!
8. HeleneBush 02.09.15 12:53 Сейчас в теме
9. juliia1992 06.01.16 15:30 Сейчас в теме
А как можно поменять программно цвет текста в таблице, причем в строках одной конкретной колонки?
10. Yashazz 3202 23.01.16 19:50 Сейчас в теме
(9) juliia1992, придётся немножко покодить, прямо так по-простому вряд ли получится. Сделать?
11. skomisaruk 26.05.16 12:01 Сейчас в теме
12. houpl 11.01.17 07:38 Сейчас в теме
13. klom 11.01.17 07:48 Сейчас в теме
14. DERL 11.04.17 13:41 Сейчас в теме
Спасибо огромное! А как добавить шапку таблицы из наименования колонок?
16. Yashazz 3202 14.04.17 13:16 Сейчас в теме
(14) Вызывать те же действия, что пишут конкретную строку таблицы (поячейно-поколонно), только для самой коллекции колонок. Ну, дизайн можно другой наворотить)
Оставьте свое сообщение

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

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

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    53705    0    Serginio    33    

История создания успешной системы чат-ботов на 1С

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

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    4515    0    CyberCerber    10    

Парсинг html страниц с выводом информации через JavaScript с использованием Selenium

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

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

20.05.2020    1626    0    platonov.e    16    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг третий, WooCommerce, публикация категорий товаров

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

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции публикации категорий товаров в магазин WooCommerce, с комментариями внутри.

13.05.2020    1373    0    osivv    3    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    24198    0    ruha    14    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг второй, публикация картинок

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

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции передачи фото из 1С, с комментариями внутри.

13.05.2020    1024    0    osivv    0    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    984    0    zhichkin    5    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

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

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    2525    0    osivv    23    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    39683    0    YPermitin    33    

Выразительный Web API

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

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    3912    0    fr13    19    

Хранение статистики публикаций автора сообщества Инфостарт ® (мобильное приложение И ++)

Мобильная разработка WEB v8 1cv8.cf Бесплатно (free)

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

24.04.2020    1303    0    capitan    13    

Интеграция УАТ с топливными сервисами

WEB v8 1cv8.cf Автомобили, автосервисы Бесплатно (free)

Интеграция конфигурации Управление автотранспортом с топливными веб-сервисами.

21.04.2020    6103    0    RPGrigorev    2    

Помощник работы с VirtueMart Промо

WEB Розничная торговля Розничная торговля v8 УТ10 УПП1 Россия Бесплатно (free)

Обработка для обмена данными с интернет-магазином на базе VirtueMart. Позволяет выгружать товары с изображениями и загружать заказы покупателей. Управлять интернет-магазином теперь стало просто!

19.04.2012    23255    1    salexdv    13    

Интеграция 1С с веб-сервисами Лукойл ЛИКАРД

WEB v8 1cv8.cf Россия Бесплатно (free)

Описание интерфейса взаимодействия сервиса Лукойл- ЛИКАРД с информационной системой 1С.

20.04.2020    2690    0    RPGrigorev    0    

Ошибка инициализации модуля: HTTPСервис

WEB v8 1cv8.cf Узбекистан Бесплатно (free)

Решение проблемы "Ошибка при работе с HTTP сервисом 500. Ошибка инициализации модуля".

13.04.2020    1498    0    VipDim    10    

COVID-19. Динамика эпидемии

WEB v8 v8::СКД 1cv8.cf Бесплатно (free)

Весной 2020 практически все ждут, «когда же это закончится», когда эпидемия пойдет на спад. Специалисты призывают «сгладить кривую». Как понять, в какой точке мы сейчас? Данные университета Джонса Хопкинса в любой 1С.

01.04.2020    2508    0    Alejandro_V    6    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    29235    0    anig99    6    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    9634    0    informa1555    21    

Коронавирус COVID-19. Статистика по странам

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

В связи с COVID-19 люди поделились на две категории: те, кто осознал, и те кто ЕЩЕ не осознал. Единственное наше преимущество перед Коронавирусом заключается в том, что информация распространяется быстрее, чем расползается "невидимка".

25.03.2020    5032    2    Evgen.Ponomarenko    60    

Получение html-кода страницы. JS из 1С

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

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

18.02.2020    4302    0    Yashazz    1    

Отладка конфигурации в режиме веб-клиента

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

После очередного обновления платформы при попытке запуска отладки в веб-клиенте стало появляться сообщение. Собственно, до этого момента никогда веб-клиентом особо не пользовался и необходимости в отладке как-то не возникало. Данное сообщение заставило задуматься, что не так с отладкой в веб-клиенте и как ее собственно включить? Тот самый неловкий момент, когда программа просит обратиться к администратору, а администратор - это вы.

12.02.2020    3380    0    gamletspb    2    

Анализ работы внешней обработки сервиса МодульКасса применительно к задаче фискализации чеков при доставке

Кассовые операции WEB v8 УТ11 Россия Бесплатно (free)

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

11.02.2020    1952    0    malikov_pro    0    

Вариант реализации REST API для 1С-Битрикс Управление сайтом

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

В статье опишу вариант обмена 1С УТ 11.4 и 1С-Битрикс УС 18.5 с иcпользованием компонентов Symfony, в качестве примера обмен данными по складам.

28.01.2020    3102    0    malikov_pro    2    

Вариант реализации работы с сервисом Dadata применительно к конфигурации УТ 11.4 и подобным

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

В статье описывается реализация получения данных с сервиса DaData при работе с формами справочников в конфигурации УТ 11 для дополнения информации по ФИО, ИНН, Адресу.

22.01.2020    2312    0    malikov_pro    5    

Двусторонний обмен с поставщиком через интернет-магазин для реализации товаров с ответственного хранения (с 01.02.2020 "Партии" не используются)

Файловые протоколы обмена, FTP WEB v8 УНФ Оптовая торговля, дистрибуция, логистика Россия УУ Бесплатно (free)

Рассмотрены реализация двустороннего обмена данными с использованием API-сервиса сайта поставщика при продаже товаров со склада ответственного хранения, алгоритм движения товаров и обмена документами на примере конфигурации 1С: УНФ у партнера, который взаимодействует с поставщиком "ООО Пауэр-Интернэшнл-шины" - одним из крупнейших в России поставщиков автомобильных шин и дисков.

16.01.2020    3464    0    chkurs    0    

Получение номера ВСД по идентификатору 1С: Меркурий

Производство готовой продукции (работ, услуг) WEB v8 УТ11 Пищевая промышленность Россия Бесплатно (free)

Код парсинга веб страницы для получения номера ВСД в системе Меркурий.

24.11.2019    3534    0    ohyen    0    

Немного о интеграции с CRM AMO

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

Немного информации о том, как настроить интеграцию с CRM AMO. Пример функций для подключения к АМО и обновления заказа. Пример на основе API авторизации.

15.11.2019    3422    0    xxxAndricxxx    6    

Ещё немного о ИНН и сервисе DaData

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

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

14.11.2019    6106    0    xxxAndricxxx    21    

Вариант реализации клиента SOAP на примере получения остатков из MERLION

WEB v8 1cv8.cf Россия Бесплатно (free)

В статье приведу пример клиента к сервису SOAP, функции которого принимают несколько значений типа строка или массив строк.

14.11.2019    2838    0    malikov_pro    0    

Разбор любого JSON-объекта в соответствующую структуру

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

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

13.11.2019    6367    0    user665435_al.windstorm    14    

Проверка reCAPTCHA от Google на стороне HTTP-Сервиса

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

Код проверяет переданный токен reCAPTCHA от Google при вызове HTTP-Сервиса. Таким образом проверяем, отправил ли данные на наш HTTP-Сервис робот или реальный пользователь.

06.11.2019    5197    0    AVR    0    

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

WEB Облачные сервисы, хостинг v8 1cv8.cf Бесплатно (free)

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    9589    0    uno-c    25    

Самый примитивный HTTP-сервис в мире

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

Пошаговый пример создания простейшего HTTP-сервиса, который генерирует HTML-страницу для поиска товара, а также реализует асинхронное получение данных из базы.

12.09.2019    18246    0    YPermitin    26    

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

WEB Администрирование данных 1С v8 Бесплатно (free)

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    9506    0    Fragster    9    

Вывод отчетов из Штрих-М Торговое предприятие 5 на кассовое ПО Кассир 5 через веб-сервис

Розничная торговля WEB Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

Универсальный механизм вывода отчетов товароучетной системы Штрих-М Торговое предприятие в кассовое ПО Кассир 5 посредством веб-сервиса.

14.08.2019    5284    0    Van2507    1    

Совсем простой обмен HTTP, 2 функции

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

Функция для вызова рест-сервиса и функция для разбора результата. Быстро, просто, универсально.

12.08.2019    7731    0    Yashazz    15    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery. Продолжение

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

Получение изображений из информационной базы и отправка файлов через "фронт" на HTML/CSS/JS.

08.08.2019    7287    0    Sedaiko    1    

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

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

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

20.05.2019    18428    0    Evil Beaver    33    

Неверные остатки на сайте битрикс

WEB v8 УТ11 Бесплатно (free)

Исправление процедуры выгрузки остатков на сайт битрикс из УТ 11

25.04.2019    5203    0    distorshion    4    

Отправка файлов через SOAP. SOAP with attachments, MTOM

WEB v8 1cv8.cf Россия Бесплатно (free)

В продолжение «своеобразной» поддержки 1С протокола SOAP, описанной в https://infostart.ru/public/965259/, опишу еще одну особенность. 1С не поддерживает возможность отправки файлов-вложений. Для решения этой проблемы пришлось самостоятельно писать формирование пакетов SOAP и разбор ответов сервера.

18.04.2019    7361    0    mysm    2    

HTML-клиент у конфигурации 1С

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

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    16145    0    Smaylukk    119    

Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM

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

На всякую хитрую гайку всегда найдется болт с резьбой (с)

01.04.2019    14012    0    starik-2005    33    

Логируй больше! 1С + UPD + GELF + Graylog

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

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

26.02.2019    10527    0    Lars Ulrich    16    

Устранение некоторых ошибок, обнаруженных в модуле Обмена с ВЕТИС (ФГИС Меркурий)

WEB Адаптация типовых решений v8 БП3.0 Сельское хозяйство и рыболовство Оптовая торговля, дистрибуция, логистика Пищевая промышленность Россия Бесплатно (free)

Устранение ошибок, обнаруженных в модуле Обмена с ВЕТИС (ФГИС Меркурий) в конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.67.67).

08.02.2019    7401    0    aks    3    

Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор

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

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

07.11.2018    26894    0    🅵🅾️🆇    57