Borisovi4 Sergey

95
Рейтинг

Sergey_Borisovi4



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

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

Друзья
  • Павел Геннадиевич
Подписчики 8

Группы

Профессиональный разработчик

IE 2018 Участник

Рейтинг 95

Сетевая игра "Захват клеток"

Отчеты и формы Программист 8.3.14 Конфигурации 1cv8 ИТ-компания Россия Абонемент ($m) Расширение (cfe) Игры

Сетевая игра "Захват клеток" с возможностью играть на время, а также с поддержкой игры оффлайн против компьютера.

1 стартмани

12.09.2022    6309    13    Sergey_Borisovi4    9       

33

Авторизация во Вконтакте &НаСервере (без браузера)

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) WEB-интеграция

Обработка демонстрирует авторизацию и последующее получение токена во Вконтакте прямыми HTTP запросами. Тестировалось на платформе 8.3.17.1386.

1 стартмани

26.05.2020    5712    6    Sergey_Borisovi4    12       

6

Добавляем виджет "Задачи от меня" в Документооборот 2.1

Статья Программист Платформа 1С v8.3 Бизнес-процессы 1С:Документооборот Россия Бесплатно (free) Нет файла Работа с интерфейсом

Небольшая доработка Документооборота 2.1 для возможности добавления виджета "Задачи от меня" в обработку Текущие дела.

25.09.2019    12879    Sergey_Borisovi4    4       

47

Рассылка расчетных листков из БП 3.0

Инструменты и обработки Бухгалтер Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Абонемент ($m) Расширение (cfe) Зарплата Email рассылки

Расширение позволяет делать рассылку расчетных листков работающим сотрудникам из 1С: Бухгалтерия 3.

1 стартмани

20.08.2019    10461    14    Sergey_Borisovi4    3       

5

Печать этикеток на принтере с ножом и автоматическая резка по группам

Статья Программист Платформа 1С v8.3 Абонемент ($m) Архив с данными Этикетки, ценники

В статье описан процесс печати и автоматической резки этикеток из 1С на примере принтера с режущим лезвием Zebra ZT410 с помощью предварительного формирования файла с командами для принтера.

1 стартмани

20.08.2019    6293    7    Sergey_Borisovi4    1       

9

Комментарии

DevПреобразование XML - Структура и обратно#24 19.04.24 15:29
Для формирования XML с такой структурой (без атрибутов):

Код
<RequestDS>
   <Request>
      <Command>getinfo</Command>
      <Version>1</Version>
      <Certificate>4803FECF75257F2E9</Certificate>
      <POSCode>45</POSCode>
   </Request>
   <Card>
      <CardNumber>4000000220013446</CardNumber>
      <Flags>0</Flags>
   </Card>
   <Card>
      <CardNumber>4000000220013445</CardNumber>
      <Flags>3</Flags>
   </Card>
</RequestDS>


И обратного преобразования в структуру можно использовать следующие функции:

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

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


Передавать надо только первый параметр (структуру или текст XML соответственно).
DevНайдены дублирующиеся записи в менеджере имен базы данных#3 31.03.23 10:31
Была такая ошибка после подключения расширения имеющего объект с таким же именем, которое уже было в основной конфигурации.
После этого платформа не давала ни удалить расширение, ни сохранить конфигурацию БД. Смена платформы и ТиИ не помогло.
Помогло следующее: удалить из расширения все объекты, сохранить его. Затем в SQLе в таблице _ExtensionsInfo удалить это расширение. После этого на всякий случай запустить ТиИ.
О жизниСетевая игра "Захват клеток"#3 12.09.22 11:15
(2) Сетевая игра подразумевает, что пользователи авторизовавшиеся в одной базе - могут играть друг с другом. А по локальной сети, либо через интернет - не важно )
О жизниСетевая игра "Захват клеток"#0 09.09.22 21:09
Сетевая игра "Захват клеток" с возможностью играть на время, а также с поддержкой игры оффлайн против компьютера.
DevСоздать дочерний класс COM объекта#4 22.07.22 16:46
Разобрался. Среда разработки должна поддерживать TypeLib, чтобы иметь доступ к классам библиотеки. Платформа этого не умеет.
DevСоздать дочерний класс COM объекта#1 21.07.22 21:16
Есть COM объект содержащий главный родительский класс и несколько дочерних. У родительского класса есть метод, который принимает в качестве параметра тип одного из дочерних классов.
То есть при создании нового COM объекта, создается объект класса Class1. У класса Class1 есть дочерний класс Class2. Так же у класса Class1 есть метод Method, который принимает параметр с типом Class2. Передается туда ссылка, которая внутри метода и заполняется: Class1.Method(Class2param). После выполнения метода в переменной Class2param будут данные.
Проблема в том, что я не могу создать СОМ объект класса Class2, а параметр другого типа метод не принимает и ругается на несоответствие типов. Может быть у СОМ объектов есть какие-то стандартные функции, с помощью которых можно получить другие классы, которые реализует ком объект?
У меня есть исходник с примером работы с этим СОМ объектом на VB. Там СОМ объект подключается просто в свойствах проекта. После этого сама IDE видит все интерфейсы, классы и методы этого СОМ объекта. То есть сама IDE VB дает возможность инициализировать переменную типа Class2, и через точку я сразу буду видеть ее свойства и методы. И соответственно вызвать Class1.Method и передать туда параметр типа Class2.
Как можно решить эту задачу на платформе?

Пробовал подключить данный СОМ объект в Питоне:
import win32com.client
Class1 = win32com.client.Dispatch("COM.Class1")

Но так же не могу вызвать Method(), т.к. ругается на несоответствие типов и как создать Class2 я не смог найти.
То есть, я подозреваю, что тут вопрос не платформе, а конкретно в работе с СОМ объектами. Возможно есть какие-то стандартные методы, как можно обратиться к СОМ объекту и получить доступные классы.
Однако, все же непонятно, каким образом VB видит сразу все внутренности СОМ объекта.
ПубликацииБесплатная отправка сообщений в Whatsapp бот из 1С#36 09.06.22 12:26
(9) Есть библиотека Telethon - позволяет слать сообщения от имени пользователя, а не бота. Типа альтернативное api.
ОбменАвторизация во Вконтакте &НаСервере (без браузера)#11 11.11.21 16:55
(10) Судя по описанию там точно так же требуется интерактивное участие пользователя.

Кстати, на сайте VK так и написано "Implicit flow — самый короткий и простой вариант." - так зачем использовать что-то другое, если нет разницы? Приложение вряд ли можно рассматривать, как лишнюю зависимости, оно регистрируется один раз и забывается, и никуда не денется.
ОбменАвторизация во Вконтакте &НаСервере (без браузера)#9 28.10.21 16:20
(8) Пришлите ссылку на описание авторизации в качестве веб-сайта, я посмотрю. Когда я изучал вопрос авторизации, я нашел только вариант с использованием приложения.
Приложение используется для того, чтобы получить токен и обращаться к сайту по API.
Авторизоваться на сайте без использования приложения можно аналогично, как в данной статье, отслеживая какие параметры передаются и какие куки получаются. Но зачем вам просто авторизоваться без приложения, когда общаться с сайтом через API намного удобней, чем просто парся HTML странички.