18 мар. 2017 г.

Не сохраняется цвет Форматированного документа 1С

Есть на форме поле с типом ФорматированныйДокумент.
На форму добавил Командную панель форматированного документа.
При форматировании в этом поле текста и дальнейшем  сохранении, все форматирования сохраняются кроме ЦветФона и ЦветТекста.


Не знаю точно, но скорее всего это баг платформы. Версия у меня 1С:Підприємство 8.3 (8.3.9.2033).

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

Сравнить значения выбора с типом Характеристики

Есть таблица на форме с колонками:


В пользовательском виде:


Настройка - имеет тип ПланВидовХарактеристикСсылка
Значение - имеет составной тип (СправочникСсылка, Булево, Строка, Дата, Число)

При выборе в таблицы Значения к определенной Настройке нужно делать проверку например:

  • Если выбрана Настройка "Порт SMTP" то значение должно быть только типа Число

Вышло вот что:
&НаКлиенте
Процедура НалаштуванняПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
 ПроверкаПравильностиВыбранногоЗначенияПоТипу(Элемент.ТекущиеДанные.Значення, Элемент.ТекущиеДанные.Налаштування);
КонецПроцедуры

&НаСервере
Процедура ПроверкаПравильностиВыбранногоЗначенияПоТипу(Значение,Настройка)
 Если Настройка = ПланыВидовХарактеристик.НаименованиеПВХ.ПортSMTP Тогда 
  Если Тип("Число") <> ТипЗнч(Значение) Тогда 
   Сообщить("В этом параметре нужно указать тип Число!")
  КонецЕсли;
 КонецЕсли;  
КонецПроцедуры
Сначала проверяем, выбранная ли настройка связанная с ПортSMTP, а далее проверяем,
введенное ли значение в этом поле типа Число.

Серверные вызовы при завершении работы запрещены

Нужно выполнять авто обмен с РИБ перед завершение работы системы, как это можно было делать и ранее.
Сейчас, как видно из ошибки выполнить действия, которые требуют серверную часть модуля нельзя. А как же выполнить обмен с РИБ перед закрытием платформы если без серверных методов не обойтись?!

Ничего лучшего кроме как

Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)       
        Отказ = Истина;
        ТекстПредупреждения = "Нажмите Продолжить работу, что бы выполнить АвтоОбменРИБ";
     
        ПодключитьОбработчикОжидания("ВыполнитьОбмен",1,Истина);
КонецПроцедуры

Процедура ВыполнитьОбмен()Экспорт       
        Обмен.ВыполнитьОбменСоВсемаРИБ();
        ОтключитьОбработчикОжидания("ВыполнитьОбмен");   
КонецПроцедуры


не придумал. 
Тут все просто, перед завершением работы платформы, пользователю как бы намекаем, что "нажми продолжить". Если нажата кнопка "продолжить" то программа не завершиться, а передаст свое выполнение общему модулю с серверным контекстом где уже и осуществляется обмен со всеми РИБ.

16 мар. 2017 г.

DefaultAppPool stopped / остановлен

Установил IIS для дальнейшей публикации 1С Предприятия.

При переходе на главную страницу веб сервера http://localhost показывается ошибка, типа "Service Unavailabel Error code 503".

Смотрю в менеджер IIS в Application Pools, пул DefaultAppPool остановлен. При последующем запуске вручную DefaultAppPool он автоматически останавливается.

При поиске решений в интернете по IIS ошибках в Журнале событий Windows, результативного ничего не нашел.

Решение:
Зашел в Advanced Settings нашего Defaultapppool пула и установил параметр Identity на LocalService.
На всякий случай, перезапустил IIS + запустил вручную DefaultAppPool, который уже автоматически не останавливался.


Для успешной публикации базы 1С Предприятия, в моем случаи, параметр Identity был установлен в NetworkService
 

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