7 янв. 2021 г.

Incorrect credentials request response bad credentials Android Studio

Android Studio 4.1.1

Для того, чтобы не получать сообщение "incorrect credentials request response bad credentials" при подключении GitHub через токен


нужно "правильный" выбрать токен, а именно перейти

Заходим http://github.com - settings - Developer settings - Personal access tokens - нажимаем Generate new token .
В результате именно этот токен нужно использовать при авторизации в Android Studio.

3 мар. 2020 г.

Вызов из внешней обработки Макет внешнего отчета

Потребовалось из внешнего отчета, который запущена вот этим способом получить макет отчета

Код имеет следующий вид

ВнешниеОтчеты - внешний отчет как объект, получен вот так _ВнешнийОтчет = ВнешниеОтчеты.Создать(ВнешнийОтчет.ИспользуемоеИмяФайла); СКД = _ВнешнийОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = СКД.НастройкиПоУмолчанию;

2 мар. 2020 г.

Запуск метода внешней обработки по имени

В общий модуль помещаем процедуры и функции

//Возвращает или внутреннюю или внешнюю обработка объект //ТипВнешнейФайла = "epf", "erf" Функция ОбработаОбъектПолучить(ИмяОбработки, ТипВнешнейФайла = Неопределено) Экспорт Если ПустаяСтрока(ИмяОбработки) Тогда Возврат Неопределено КонецЕсли; Если ТипВнешнейФайла = Неопределено Тогда ТипВнешнейФайла = "epf" КонецЕсли; Попытка ИмяФайла = ПолучитьИмяВременногоФайла(ТипВнешнейФайла); Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяОбработки); Если Обработка.Пустая() Или Обработка.ПометкаУдаления Тогда Возврат ВнутренняОбработкаПолучить("") КонецЕсли; ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); Обработка = ВнешниеОбработки.Создать(ИмяФайла, Ложь); Возврат Обработка Исключение Возврат Неопределено КонецПопытки; КонецФункции //Выполняет имя экспортной процедуры из обработка объект //СтруктураПараметров = Структура параметров которые нужно передать и обработать на стороне обработки Процедура ВыполнитьПроцедуруОбработки(ОбработкаОбъет, ИмяПроцедуры, СтруктураПараметров = "") Экспорт Если ПустаяСтрока(ИмяПроцедуры) Тогда Возврат КонецЕсли; Если ОбработкаОбъет = Неопределено Тогда Возврат КонецЕсли; Попытка Если ЗначениеЗаполнено(СтруктураПараметров) Тогда Выполнить("ОбработкаОбъет."+ИмяПроцедуры+"(СтруктураПараметров)") Иначе Выполнить("ОбработкаОбъет."+ИмяПроцедуры+"()") КонецЕсли; Исключение Сообщить(ОписаниеОшибки()) КонецПопытки; КонецПроцедуры //Выполняет по имени обработки именованную процедуру Процедура ВыполнитьОбменВнешнейОбработки(ИмяОбработки, ИмяПроцедуры) Если ПустаяСтрока(ИмяОбработки)Или ПустаяСтрока(ИмяПроцедуры) Тогда Возврат КонецЕсли; Попытка ИмяФайла = ПолучитьИмяВременногоФайла("epf"); Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяОбработки); Если Обработка.Пустая() Или Обработка.ПометкаУдаления Тогда Возврат КонецЕсли; ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); Обработка = ВнешниеОбработки.Создать(ИмяФайла, Ложь); Выполнить("ОбработкаОбмена."+ИмяПроцедуры+"()") Исключение Сообщить(ОписаниеОшибки()) КонецПопытки; КонецПроцедуры

Делаем вызов вот так

ОбработкаОбъект = ОбработаОбъектПолучить("ис_ФоновыйЗапсук_МодульИнтеграцииEDIN_0001"); СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("Источник", Источник); СтруктураПараметров.Вставить("ЗаказПокупателя", Источник.Сделка); ВыполнитьПроцедуруОбработки(ОбработкаОбъект, "исОбработкаЗаполненияРеализацияТоваровУслуг", СтруктураПараметров);

И в внешней обработке "ис_ФоновыйЗапсук_МодульИнтеграцииEDIN_0001" должна быть Экспортная процедура
"исОбработкаЗаполненияРеализацияТоваровУслуг" и один параметр "СтруктураПараметров"
из которого уже идет получение по имени значений структуры.

Обращаю внимание, что экспортная процедура должна иметь название параметра
точно такое как и передается т.е.

исОбработкаЗаполненияРеализацияТоваровУслуг(СтруктураПараметров) Экспорт

Реализация СохранитьЗначение() и ХранилищеОбщихНастроек.Сохранить() своими силами

Реализация методов СохранитьЗначение() ХранилищеОбщихНастроек.Сохранить() без ошибок прав доступа и прочих последствий.
  • Добавляем ПараметрыСеанса исДопПараметры с типом ХранилищеЗначения
  • В "МодульСеанса" в событие УстановкаПараметровСеанса(...) добавляем следующее
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) Если ТребуемыеПараметры = Неопределено Тогда Иначе УстановленныеПараметры = Новый Структура; Для Каждого ИмяПараметра ИЗ ТребуемыеПараметры Цикл УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры); КонецЦикла; КонецЕсли; КонецПроцедуры

Процедура УстановитьЗначениеПараметраСеанса(ИмяПараметра, УстановленныеПараметры) Если ИмяПараметра = "исДопПараметры" Тогда ДопПараметр = Новый ХранилищеЗначения(Новый Структура); ПараметрыСеанса.исДопПараметры = ДопПараметр; КонецЕсли; КонецПроцедуры

  • Добавляем общий модуль с именем "ИС", в который размещаем следующие процедуры
исБезПроверкиНаЗапретРедактирования - это именованный произвольно параметр по которому далее
идет логика поиска

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

  • Пример вызова процедур и функций вот такими способами
  1. ис.УстановитьДопПараметры("исБезПроверкиНаЗапретРедактирования",Неопределено)
  2. Если ис.ПолучитьДопПараметр("исБезПроверкиНаЗапретРедактирования") = Истина Тогда
  3. Если ИС.БезПроверкиНаЗапретРедактирования(Источник) Тогда Возврат КонецЕсли;
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07