Бодунов Роман

12
Рейтинг

RomanVolgograd
Роман Бодунов



  •   Регистрация: 21.06.2011 (12 лет назад)

  •   Был(а) на сайте: 11.04.2024

Подписчики 2

Рейтинг 12

Интерактивный отчет по регистрам

Отчеты и формы Бизнес-аналитик Бухгалтер Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m) Внешний отчет (ert,erf) Журналы и реестры данных

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

1 стартмани

20.07.2013    16405    87    RomanVolgograd    18       

12

Комментарии

DevЗаполнение реквизитов контрагентов по ИНН (1С:Контрагент, DaData.ru) для УТ 10.3, Альфа - Авто 5, Далион УНО.#21 03.08.21 12:46
Скачал. Проверил на УТ10. ВСЕХ ХОРОШО РАБОТАЕТ как на 1С:Контрагент+ так и dadata.ru. Автору благодарность.
Понравился очень аккуратный исходный код, с комментариями секциями и т.д. Автор явно любит свою работу.
DevБыстрый алгоритм шифрования AES ECB 128/192/256#37 17.02.21 11:02
Цитата
при желании несложно же дополнить чем то другим.
Абсолютно согласен. Собственно это была не претензия, это было мнение. Вообще есть разные стандарты дополнения, но это не суть важно. Работа проделана огромная, остальное поправить при необходимости не представляет особого труда. Еще раз респект.
DevБыстрый алгоритм шифрования AES ECB 128/192/256#35 16.02.21 21:50
Однозначно плюс. Была бы возможность, поставил бы два плюса.

Для обмена с мобильной платформой просто шикарная вещь. Ибо возиться с сертификатами на адроиде это тот еще мазохизм. Кидать не зашифрованные пакеты по открытым каналам не айс. А так можно шифровать без всяких лишних проблем и багов.

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

Даже недочетов то никаких не нашел. Ну разве уж совсем мелкие. Как то:

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

Но это уж совсем мелочи. А так - респект.
MobileDevмобильное приложение для разработчика добавить с помощью QR#5 30.10.20 9:50
(4)
цитата из справки в (3)

Цитата
Содержимое QR-кода

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

Мобильная платформа разработчика

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

Пример текста для генератора QR-кода:

http://host/cfgFolder

2. Строка соединения с информационной базой в виде ws=URL. На следующих строках допускается указание команд WSN и WSP. Эти команды задают параметры аутентификации на веб-сервере, где расположена конфигурация (подробнее о параметрахсм. здесь).

Пример текста для генератора QR-кода:

ws=http://host/cfgFolder
wsn=<имя пользователя>
wsp=<пароль пользователя>

Ваш вариант с connect не пробовал, но описанные в справке варианты работают. (спасибо serg33rus за ссылку)
MobileDevмобильное приложение для разработчика добавить с помощью QR#1 26.10.20 15:32
Доброго времени суток. В мобильном приложении для разработки при добавлении/редактировании списка БД, есть пункт меню добавить с помощью QR. (У меня на данный момент версия 8.3.16). Логически предполагаю, что можно добавлять базу в список по QR коду. Кто нибудь пробовал? Пробовал QR код с строкой адреса. Не работает (Ошибка сканирования QR код). Вероятно QR код нужно готовить по определенному формату, с указанием каких то тегов, и т.д. Гуглёж на эту тему результатов не дал. Поделитесь пжлст информацией, если у кого таковая имеется.
ОбменАдаптация XML - схем ГИС ЖКХ в XDTO пакетах#2 08.09.20 13:06
Не особо актуальная тема.. полтора года висит вопрос.

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

Итак по первому пункту (Версия) автор дал вполне вменяемое решение. Собственно все остальные ошибки свелись в итоге к этой же проблеме. Но только если в случае с версией нужно пробежаться по всем версиям и поменять, как указал автор, то в случае например с No_RSO_GKN_EGRP_Registered нужно не только поправить свойство, но искать где есть ссылки в типах объектов (в данном случае GKN_EGRP_KeyExportType, GKN_EGRP_KeyRSOType и т.д.) и поправить там.

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

Мне лично было лень все это искать и править руками, набросал коротенькую обработку. Код примитивный. (За оптимальностью и быстродействием не гнался, ядрёные оптимизаторы пусть пишут свой код, или правят руками)

Код
&НаСервере
Процедура УдалитьПараметр(ТекстXML, ИмяПараметра)
   
   НачПоз = 1;
   Пока НачПоз > 0 Цикл
      // найдем позиции начала и конца
      НачПоз = СтрНайти(ТекстXML, ИмяПараметра);
      Если НачПоз > 0 Тогда
         КонПоз = СтрНайти(ТекстXML, """",, НачПоз, 2) + 1; // кон поз это вторая кавыка
         Если Сред(ТекстXML, КонПоз, 1) = " " Тогда
            КонПоз = КонПоз + 1; // может быть побел в конце. буит мешаться.
         КонецЕсли;
         ЗаменяемыйТекст = Сред(ТекстXML, НачПоз, КонПоз - НачПоз); // возможно такая конструкция встречается несколько раз.
         ТекстXML = СтрЗаменить(ТекстXML, ЗаменяемыйТекст, "");
      КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры

&НаСервере
Процедура ОткоректячитьXML()
   
   ИмяФайлоИсходное = "ТипаНужноУказатьИмяФайло";
   ИмяФайлоИсправленное = "ТипаНужноУказатьИмяФайло";
   
   // прочитаем
   ТекстДок = Новый ТекстовыйДокумент;
   ТекстДок.Прочитать(ИмяФайлоИсходное, "UTF-8");
   ТекстXML = ТекстДок.ПолучитьТекст();
   
   // заменим фикседы
   УдалитьПараметр(ТекстXML, "fixed=");
   // заменим юзы
   УдалитьПараметр(ТекстXML, "use=");
   
   // запишем
   ТекстДок.УстановитьТекст(ТекстXML);
   ТекстДок.Записать(ИмяФайлоИсправленное, "UTF-8");
   
КонецПроцедуры


после этого исправленная схемка успешно подгрузилась и сохранилась без ошибок.
HighLoadРазмер таблиц информационной базы 1С 8.2 - 8.3 на SQL сервере#38 21.09.18 10:28
P.S. кстати вечером отчет нормально выполнился. Видимо сервак был прилично нагружен днем, и запрос выполнялся долго.

Хотя, чисто логически, должно же время таймаута как то устанавливатся, или оно всегда по дефолту.
HighLoadРазмер таблиц информационной базы 1С 8.2 - 8.3 на SQL сервере#36 20.09.18 9:05
Однако не запустился.

Сначала вываливался с ошибкой, что типа нехорошо использовать ADODB.Connection (платформа 8.3.11), но вместо кнопки подтвердить, вываливалась ошибка завершить/перезапустить. Ладно, это можно победить вынеся этот кусок модуля куда нибудь на форму, и запустив его отдельно до выполнения отчета.

Теперь вываливается ошибка на методе Open. Превышено время ожидания. И что с этим делать? Стоит SQL 2014.

Код
{ВнешнийОтчет.РазмерТаблицБазыДанных.МодульОбъекта(23)}: Ошибка при вызове метода контекста (Open)
   RecordSet.Open(ТекстЗапросаSQL, Connection, 1);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Время ожидания запроса истекло
DevНе поддерживаемый тип документа: &lt;ActWriteOff_v2&gt;#8 18.08.18 21:01
(5)
Цитата
И не знаете, случайно, когда ожидаются типовые акты списания формата v3 для ут 10.3

http://v8.1c.ru/lawmonitor/lawchanges.jsp?lawSectionUuid=a53bc0ff-0653-42f0-8a55-50af605275ed

Только не спеши радоваться. Там каждый день пишет завтра. И такая ситуация повторяется с периодичностью восхода солнца с конца июня
DevНе поддерживаемый тип документа: &lt;ActWriteOff_v2&gt;#7 18.08.18 20:58
нужно в модуле менеджера перечисления ВидыДокументовЕГАИС поправить функцию АдресЗапроса. Например как то так

Код
   ИначеЕсли ВидДокумента = Перечисления.ВидыДокументовЕГАИС.АктСписания Тогда
      
      Если ФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V3 Тогда
         Возврат "/opt/in/ActWriteOff_v3";
      ИначеЕсли ФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V2 Тогда
         Возврат "/opt/in/ActWriteOff_v2";
      Иначе
         Возврат "/opt/in/ActWriteOff";
      КонецЕсли;


Сам текст запроса правится в модуле ИнтеграцияЕГАИС в функции ПреобразоватьВXDTOАктСписания_v2

ну и конечно нужно поправить функцию ТекстXMLВыгрузкиДокумента в части актов списания.

Лично я не стал писать новую функцию для v3 а тупо исправил существующую v2.