Информация по разработке в 1С

Стандарты разработки в 1С

БСП

БСП

Обновление справочника ИдентификаторыОбъектовМетаданных

Для обновления справочника можно запустить 1С с параметром командной строки:  

/С ЗапуститьОбновлениеИнформационнойБазы

БСП

Подключение функционала "Присоединенные файлы" для нового объекта

Источник: 3.39. Присоединенные файлы(БСП 2.3.6), 3.49. Работа с файлами (БСП 3.1.12)

1. Создать справочник для хранения присоединенных файлов. Для этого в качестве заготовки скопировать в конфигурацию справочник _ДемоПроектыПрисоединенныеФайлы из демонстрационной конфигурации и задать ему имя по шаблону:

<Префикс>ПрисоединенныеФайлы,

где <Префикс> – имя объекта метаданных, для которого настраиваются присоединенные файлы. Например, для справочника Номенклатура справочник с файлами должен называться НоменклатураПрисоединенныеФайлы. Задать синоним, например: Присоединенные файлы (Номенклатура).

2. У реквизита ВладелецФайла установить тип – «объект с файлами». Например, СправочникСсылка.Номенклатура.

3. Включить в состав определяемых типов ПрисоединенныйФайл (ссылки) и ПрисоединенныйФайлОбъект (объекты) справочник, созданный на шаге 1. Например, СправочникСсылка.НоменклатураПрисоединенныеФайлы.

4. Расширить состав определяемых типов ВладелецПрисоединенныхФайлов (ссылки) и ВладелецПрисоединенныхФайловОбъект (объекты, кроме документов), добавив в него тип «объект с файлами». Например СправочникСсылка.Номенклатура.

5. Расширить состав типов свойства Источник у подписки ПереопределитьПолучаемуюФормуПрисоединенногоФайла, включив в него тип – справочник с файлами, созданный на шаге 1. Например, СправочникМенеджер.НоменклатураПрисоединенныеФайлы.

6. Расширить состав типов свойства Источник подписки УстановитьПометкуУдаленияПрисоединенныхФайловДокументов, включив в него тип – «объект с файлами» (только документы). Например, ДокументОбъект.СчетНаОплатуПокупателю.

7. Если при интерактивном копировании объекта, содержащего присоединенные файлы, требуется их автоматическое копирование в новый объект, то в форме объекта необходимо:

● в параметры формы добавить ключевой параметр ЗначениеКопирования такого же типа, как и сам объект;

● в модуле формы в процедуру ПриЗаписиНаСервере вставить следующий код:

ПрисоединенныеФайлы.ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, Параметры);
БСП

Содержимое таблицы "Команды" при проектировании внешних отчетов и обработок

Источник: статья "Разбираемся с механизмом Дополнительные отчеты и обработки в БСП"

Тип команды     Значение поля “Вид”     Вызываемая экспортная процедура  
 ВызовСерверногоМетода   ПечатнаяФорма   Печать(
      МассивОбъектов,
      КоллекцияПечатныхФорм,
      ОбъектыПечати,
      ПараметрыВывода) 
   ДополнительнаяОбработка
 ДополнительныйОтчет
 Отчет 
 ВыполнитьКоманду(
      ИдентификаторКоманды,
      ПараметрыВыполнения) 
   СозданиеСвязанныхОбъектов   ВыполнитьКоманду(
      ИдентификаторКоманды,
      ОбъектыНазначения,
      СозданныеОбъекты,
      ПараметрыВыполнения) 
   ЗаполнениеОбъекта   ВыполнитьКоманду(
      ИдентификаторКоманды,
      ОбъектыНазначения,
      ПараметрыВыполнения) 
 ВызовКлиентскогоМетода   ПечатнаяФорма   &НаКлиенте
  Печать(
      ИдентификаторКоманды,
      ОбъектыНазначенияМассив) 
   ДополнительнаяОбработка
 ДополнительныйОтчет 
 &НаКлиенте
  ВыполнитьКоманду(
      ИдентификаторКоманды) 
   СозданиеСвязанныхОбъектов   &НаКлиенте
 ВыполнитьКоманду(
      ИдентификаторКоманды,
      ОбъектыНазначенияМассив,
      СозданныеОбъекты) 
   ЗаполнениеОбъекта Отчет   &НаКлиенте
 ВыполнитьКоманду(
      ИдентификаторКоманды,
      ОбъектыНазначенияМассив) 
   Для всех видов   в форму передается параметр
    ДополнительнаяОбработкаСсылка 
 ОткрытиеФормы   СозданиеСвязанныхОбъектов
 ЗаполнениеОбъекта
 Отчет 
 в форму передается дополнительный параметр
    ОбъектыНазначения 
   Для всех видов   в форму передаются параметры
     ИдентификаторКоманды
     ДополнительнаяОбработкаСсылка
     ИмяФормы 
   Отчет   Отчет с макетом СКД может не иметь форму, тогда будет
 использована общая форма для отчетов по умолчанию 
 ЗаполнениеФормы   ЗаполнениеОбъекта   ВыполнитьКоманду(
      ИдентификаторКоманды,
      ОбъектыНазначения,
      ПараметрыВыполнения) 
 СценарийВБезопасномРежиме   Для всех видов   см. описание в комментарии к функции
  ДополнительныеОтчетыИОбработкиКлиентСервер
  .ТипКомандыСценарийВБезопасномРежиме() 
 ЗагрузкаДанныхИзФайла   ДополнительнаяОбработка   см. описание в комментарии к функции
  ДополнительныеОтчетыИОбработкиКлиентСервер
  .ТипКомандыЗагрузкаДанныхИзФайла() 
БСП

УНФ. Добавление нового варианта в предопределенный отчет, Подсистема “Варианты отчетов”. Используете ли Вы ее правильно?

  1. Добавление варианта отчета в процедуру ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(Настройки) следующего кода:
    ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.%ИмяОтчета%);
  2. В режиме предприятия выполнить следующий код “ВариантыОтчетов.Обновить();
БСП

Регистрация отчета в БП 3.0

Функция СведенияОВнешнейОбработке() Экспорт

РегистрационныеДанные = Новый Структура();
РегистрационныеДанные.Вставить(“Наименование”, “Отчет ‘xxx'”);
РегистрационныеДанные.Вставить(“БезопасныйРежим”, Ложь);
РегистрационныеДанные.Вставить(“Версия”, “x.xx”);
РегистрационныеДанные.Вставить(“Информация”, “Отчет ‘xxx”);
РегистрационныеДанные.Вставить(“Вид”, “ДополнительныйОтчет”);

тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить(“Идентификатор”);
тз.Колонки.Добавить(“Использование”);
тз.Колонки.Добавить(“Представление”);

НоваяСтрока = тз.Добавить();
НоваяСтрока.Идентификатор = “ОткрытьОбработку”;
НоваяСтрока.Использование = “ОткрытиеФормы”;
НоваяСтрока.Представление = “Отчет ‘XXX'”;

РегистрационныеДанные.Вставить(“Команды”, тз);

Возврат РегистрационныеДанные;

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

Обещание + Асинх + Ждать. Новый подход к асинхронности начиная с релиза 8.3.18

Ссылки по теме

  1. «Асинхронные методы в 1С», статья Василия Ханевича (горяче рекомендую :))
  2. Улучшения в синтаксисе языка 1С для работы с асинхронными функциями: синхронная асинхронность
  3. Семеро одного не ждут? Асинхронное исследование асинхронности

Релизы 1с

Релизы 1с

Релиз платформы 8.3.20. Новый / измененный функционал. Опыт использования.

Что мне показалось интересным…

  1. Журнал регистрации – реализовано программное управление периодом разделения и сокращением журнала
  2. В языке запросов (и в СКД) реализованы функции – Строка(), ДлинаСтроки(), СокрЛ(), СокрП(), СокрЛП(), Лев(), Прав(), СтрНайти(), СтрЗаменить(), ВРег(), НРег(), Sin(), Cos(), Tan(), ASin(), ACos(), ATan(), Exp(), Log(), Log10(), Pow(), Sqrt(), Окр(), Цел(), РазмерХранимыхДанных().
  3. В системе взаимодействия можно подключать внешних пользователей (через https://dialog.online/)
  4. Существенно снижено время полной загрузки конфигурации из XML-файлов при использовании автономного сервера.

  5. Прекращена поддержка 64-разрядной версии операционной системы Microsoft Windows XP.

  6. Куча изменения для автономного сервера. Надо разбираться ?

Ссылки по теме

  1. Новые возможности расширений в платформе 8.3.20
  2. v8update

Прогрессивное веб приложение 1С (PWA). Опыт использования.

Выдержка из документации, описывающая суть технологии:

..В результате на рабочем столе появляется иконка для запуска приложения. Веб-клиент, запущенный из этой иконки, будет похож на нативное приложение — в нем не будет адресной строки браузера, кнопок Домой, Вперед, Назад и др

Ссылки по теме

  1. How to create Progressive Web Apps (PWA) with 1C:Enterprise platform
  2. Настраиваем PWA приложение на платформе 8.3.18 с бесплатным действительным сертификатом SSL
  3. Архитектура платформы 1С:Предприятие. WEB клиент
  4. Технология PWA в 1С – для чего и как использовать

1С:Сервер взаимодействия. Опыт использования.

Ссылки по теме

  1. Общая информация
  2. Система взаимодействия
  3. Система взаимодействий в платформе 8.3.10 (как сделать так, чтобы менеджеры были под контролем и не уносили список клиентов)
  4. Релизы
  5. Настройка 1С:Сервера взаимодействия (CentOS 7)

Дата акселератор + Механизм копий базы данных. Опыт использования.

В релизе платформы 8.3.14 появилось 2 механизма (собственно сабж). Интересны примеры использования данных механизмов. С чем сталкивались, как работает?

Ссылки по теме:

  1. ИТС

Автономный сервер. Как его использовать?

Еще в 8.3.14 появился такой зверь как Автономный сервер. Но место его применения не совсем понятно…

Ссылки по теме

  1. Автономный сервер. Часть 1 – новый вариант сервера
  2. ИТС
  3. v8update для 8.3.20 (в котором много изменений по данному функционалу)
  4. Как запустить 1С для обучения и авто-тестирования – официально и без лицензий

Универсальные механизмы

Универсальные механизмы

Как программно получить метаданные для расширения?

Источник (ИТС. 2.25. Работа с конфигурацией из встроенного языка)

Расширение = Новый ОбъектМетаданныхКонфигурация(РасширенияКонфигурации.Получить()[0].ПолучитьДанные());

mime-type для файлов epf/erf

Источник

application/octet-stream (Binary Data)

Ошибки

Ошибки

Получение данных из нескольких источников данных недопустимо

При помещении выборки из внешнего источника данных во временную таблицу появляется ошибка “Получение данных из нескольких источников данных недопустимо”
Решение: необходимо указывать полный путь к этой временной таблице на источнике данных
Пример:

ВЫБРАТЬ Выборка.Pole1 
ПОМЕСТИТЬ ВнешнийИсточникДанных.ИсточникДанных1.ВременнаяТаблица.ИмяВременнойТаблицы 
ИЗ 
  ВнешнийИсточникДанных.ИсточникДанных1.Таблица.ИмяТаблицыВнешнегоИсточника КАК Выборка
Ошибки

Пустой буфер при использовании лhtmlfile.parentWindow.clipboardData.getData(“text”)

Проблема:
Функция parentWindow.clipboardData.getData(“text”)  COM объекта “htmlfile” возвращает пустое значение.

лhtmlfile = Новый COMОбъект("htmlfile"); 
лСтрокаБуфера = лhtmlfile.parentWindow.clipboardData.getData("text");

Решение:
Изменить настройку IE allow programmatic clipboard access = Enable:
Сервис (Tools) – Свойства браузера (Internet options) – Безопасность (Security)

image.png

Ошибки

Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Полный текст ошибки: 

Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. по причине:
Невозможно применить фиксированные настройки. Пересекаются элементы отбора.

Воспроизведение ошибки
Ошибка появляется если в какой либо форме списка или выборка указать отбор, а после форму закрыть. При следующем открытии формы получим сообщение об ошибке.

Причина
Причина в использовании новой технологии в еще не подготовленной конфигурации, а именно свойство динамического списка «АвтоматическоеСохранениеПользовательскихНастроек».

Решение
Два варианта решения данной проблемы:
1. Необходимо очистить сохраненные настройки пользователя. Пример для УТ 11.1: Переходим в меню «Администрирование — Настройки пользователей и прав — Очистка настроек» в появившейся форме выбираем пользователя(ей) и чистим. Такой вариант даст разовый результат, если пользователь снова поставит отбор, то получим такую же ошибку.
UPD Иногда типовая обработка не очищает полностью настройки пользователя, тогда можно их удалить самостоятельно (см. ниже “Очистка произвольных настроек из хранилища системных настроек”)
2. В форме списка или выбора элемента необходимо зайти в свойства динамического списка и свойству «АвтоматическоеСохранениеПользовательскихНастроек» установить значение «Ложь».

Очистка произвольных настроек из хранилища системных настроек

Задача
В ИБ с конфигурацией УТ 11 у всех пользователей очистить настройки формы элемента справочника «Номенклатура».

Решение
В конфигурациях на БСП есть утилита копирования/очистки настроек пользователя, но в некоторых ситуациях, обработка очищает не все настройки.

Настройки хранятся в хранилище системных настроек, получим выборку и в цикле будем сообщать значения настроек.

Выборка = ХранилищеСистемныхНастроек.Выбрать();

Пока Выборка.Следующий() Цикл
	
	ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек
						+ "; КлючОбъекта " + Выборка.КлючОбъекта
						+ "; Пользователь " + Выборка.Пользователь
						+ "; Представление" + Выборка.Представление;
	
	ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
	
КонецЦикла;	

В окне сообщение получим примерный текст:

КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаСписка/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаЭлемента/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаВыбораГруппы/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.ВидыНоменклатуры.ФормаВыбора/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаСписка/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаЭлемента/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаВыбораГруппы/Такси/НастройкиОкна; Пользователь Пользователь1; Представление
КлючНастроек ; КлючОбъекта Справочник.Номенклатура.ФормаВыбора/Такси/НастройкиОкна; Пользователь Пользователь1; Представление

Проанализировав текст дописываем в наш код проверку на ключа объекта и при необходимости будем удалять настройку

Выборка = ХранилищеСистемныхНастроек.Выбрать();

Пока Выборка.Следующий() Цикл
	
	Если Найти(Выборка.КлючОбъекта, "Справочник.Номенклатура.Форма.ФормаЭлемента") <> 0 Тогда
		
		ТекстСообщения = "КлючНастроек " + Выборка.КлючНастроек
							+ "; КлючОбъекта " + Выборка.КлючОбъекта
							+ "; Пользователь " + Выборка.Пользователь
							+ "; Представление" + Выборка.Представление;
		
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
		
		ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, Выборка.КлючНастроек, Выборка.Пользователь);
		
	КонецЕсли;
	
КонецЦикла;

P.S. У процедуры Удалить() хранилища системных настроек есть 3 обязательных параметра, но в эти параметры можно передать значение Неопределено. В этом случае будут удалены все данные. Код по удалению настроек из последнего листинга можно заменить строкой ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, Неопределено);

Информация с ресурса: http://guesto.ru/

P.S. Обработка для редактирования настроек “Стандартное хранилище настроек (управляемые формы)

Ошибки

Недостаточно памяти для записи файла формата Base64

Варианты решения(обхода) ошибки:
1. Перезапуск сервера(сервиса) приложений 1С
2. Отключение версионирования объекта, вызывающего данную ошибку
3. Прописывание базы на другом сервере приложений 1С

Ошибки

Ошибка “….database disk image is malformed…PRAGMA journal_mode = OFF…”

Пример ошибки:

16:29.504002-0,EXCP,0,process=rmngr,Exception=EventLogException,Descr=’sqlite3_exec failed: database disk image is malformed
db: C:\Program Files\1cv8\srvinfo\reg_1541\50b80b42-24a3-4f33-8508-5672acb80621\1Cv8Log\1Cv8.lgd sql: PRAGMA journal_mode = OFF’

Причина

Такая ошибка означает, что файл журнала регистрации, указанный в ошибке, поврежден.

Решение

1. Копируем файл с журналом регистрации !!!

2. Скачиваем утилиту командной строки sqlite

3. В командной строке выполняем:

sqlite3 ИмяКопииЖурналаРегистрации.lgd .dump >> backup.sql  

4. Открываем файл backup.sql для редактирования (большой файл у меня получилось открыть в FAR).

4.1. Если самой последней строкой является “ROLLBACK;” – заменяем ее на “COMMIT;” и сохраняем файл.

5. В командной строке выполняем: 

sqlite3 ИмяКопииЖурналаРегистрации.lgd < backup.sql  

Источник

http://its.1c.ru/db/metod8dev#content:5867:hdoc

Ошибки

Debug protocol mismatch. Server protocol: http, application protocol: tсp

Ошибка при отладке WEB клиента 1С.

Решение: Необходимо указать требуемый протокол в строке браузера:

http://ServerName/BaseName/?debug=http
Ошибки

Отключение предупреждения при открытии внешних обработок “Рекомендуется обращать внимание на источник, из которого был получен данный файл”

Предупреждение при открытии внешний обработок(отчетов):
“…
Рекомендуется обращать внимание на источник, из которого был получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей, или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным.
Разрешить подключать исполнимые бинарные файлы для данного модуля?
…”

image.png

Варианты отключения:

Источники: ИТС 7.10.2ИТС 3.13

В ряде случае необходимо отключить механизм защиты от опасных действий. Для этого можно воспользоваться следующими возможностями:

  1. Выключить флажок Защита от опасных действий(ЗащитаОтОпасныхДействий) в свойствах конкретного пользователя. Это отключит защиту для этого пользователя. Подробнее см. здесь.

    image.png


  2. Воспользоваться параметром ЗащитаОтОпасныхДействийметодов Подключить()менеджеров внешних обработок (отчетов). В этом случае имеется возможность загрузить внешнюю обработку (отчет) без запросов пользователя.
  3. Воспользоваться свойством ЗащитаОтОпасныхДействийобъекта РасширениеКонфигурацииперед вызовом метода Записать() этого объекта.
  4. Воспользоваться параметром DisableUnsafeActionProtectionфайла conf.cfg(более подробно см. здесь)
    DisableUnsafeActionProtection
    С помощью данного параметра предоставляется возможность отключить защиту от опасных действий для определенных информационных баз. Информационные базы определяются набором регулярных выражений, разделяемых символом «;». Если строка соединения с информационной базой будет удовлетворять какому-либо регулярному выражению, для такой информационной базы защита от опасных действий будет отключена.

Пример:

DisableUnsafeActionProtection=test_.*;stage_.*;

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

Отключение защиты от опасных действий выполняется по следующим правилам (в указанном порядке):

  1. Защита считается отключенной, если у текущего пользователя сброшен флажок Защита от опасных действий.
  2. Защита считается отключенной, если строка соединения с информационной базой удовлетворяет одному из шаблонов, указанных в параметре DisableUnsafeActionProtectionфайла conf.cfg.
  3. Если внешняя обработка (отчет) подключается с явным образом отключенной защитой с помощью параметра ЗащитаОтОпасныхДействий.
  4. Если защита явным образом отключена с помощью свойства расширения ЗащитаОтОпасныхДействий.
Ошибки

Ошибка SDBL: Ожидается простое наименование таблицы или поля (pos=82)

При открытии формы списка плана обмена в обычном приложении возникает ошибка:

Ошибка SDBL: Ожидается простое наименование таблицы или поля (pos=82)

Решение:

  1. установить режим совместимости(любой)
  2. запустить в управляемом режиме
  3. добавить соответствующую управляемую форму (не всегда помогает)
Ошибки

Ошибка “Неправильный запрос” в WEB интерфейсе

Источники:

Ошибка

“Неправильный запрос”

image.png

“Внимание! Работа данного сеанса была прервана из другого окна или закладки веб-браузера….”

image.png

Решение:

Необходимо открыть диалог настройки параметров страниц ошибок:

Панель управления – Администрирование – Диспетчер служб IIS – <Конкретный сервер> – сайты – <Имя виртуального приложения> – Страницы ошибок

image.png

Изменить параметры…

image.png

В открывшемся диалоге следует установить значение Подробные сообщения об ошибках.

image.png

Затем нажать кнопку ОК.

 

 

Ошибки

Ошибка формата потока (при открытии внешней обработки 1С)

При сохранении внешней обработки 1С “вылетела” с ошибкой. После этого обработка перестала открываться.

Вариант решения: 

image.png

Еще ссылки по теме: http://blog.1c-ei.ru/2008/12/blog-post_30.html

Ошибки

Ошибка получения параметров информационной базы.

Ошибка:  При попытке посмотреть своцства базы данных в консол кластера серверов 1С возникает ошибка: "Ошибка при получении значения из базы данных. Возможной причиной является отсутствие установленного Microsoft SQL Server Native Client."

image.png

Данная ошибка появилась при установке новой версии 1С. При этом Native Client был установлен. Переустановка Native Client не помогла, чистка кэша, перезапуск сервера тоже.

Решение было найдено на одном форуме : необходимо просмотреть непустой список соединений проблемной базы или любой другой. После чего свойства показываются без ошибки.

Ошибки

Ошибка: Значение “00000X” поля “Код” не уникально

Пример ошибки: Ошибка при вызове метода контекста (Записать): НовыйЭлемент.Записать();

Решение:

Восстановление нумерации, например: ОбновитьНумерациюОбъектов(Метаданные.Документы.ИмяДокумента)

Ошибки

Ошибка: При обновлении данных после последней реструктуризации произошла критическая ошибка

Источник

image.png

image.png

Решение:

1. Создать копии таблиц Config и ConfigSave (на случай восстановления).

SELECT * INTO Config_copy FROM [Config]
; 
SELECT * INTO ConfigSave_copy FROM [ConfigSave]

2. Удалить все записи из таблицы ConfigSave (содержит обновление)

DELETE FROM [ConfigSave]

3. Удалить три записи из таблицы Config (информация о незаконченном процессе обновления конфигурации)

DELETE FROM [Config] WHERE FileName IN ('commit','dbStruFinal','dynamicCommit')
Ошибки

Ошибка при попытке помещения объекта в хранилище конфигурации. по причине: Превышен максимально допустимый размер внутреннего файла ‘XXX//1cv8ddb.1CD’

Решение:
Изменение формата файла: 

C:> CNVDBFL.EXE -с -f 8.3.8 -p 16k С:\<путь к файлу>\1Cv8.1CD

где 16k замените на нужный размер страницы файла (4k8k16k32k, или 64k) и укажите правильный путь к Вашей базе данных.

Ошибки

Приложению Word не удалось прочитать документ. Возможно, он поврежден

При выполнении кода

WordApp = Новый COMОбъект("Word.Application");
Док = WordApp.Documents.Add("%pathtofile%\test.docx");
Док = WordApp.Documents.Add("%pathtofile%\test.docx");

на сервере вылетает ошибка:

Произошла исключительная ситуация (Microsoft Word): Приложению Word не удалось прочитать документ. Возможно, он поврежден.
Попробуйте выполнить следующие действия:
* Откройте файл с помощью команды ”Открыть и восстановить”.
* Откройте файл с помощью конвертера резервных копий.

Решение:
Помогло создание 2-х каталогов и добавление полных прав на эти каталоги для пользвоателя, под которым стартует сервис 1С.

Каталоги:

C:\Windows\SysWOW64\config\systemprofile\Desktop\ и C:\Windows\System32\config\systemprofile\Desktop\

Источник информации с более расширенной инструкцией: http://pyatilistnik.org/dcom-in-excel-application/ здесь

 

Ошибки

Ошибка вызова сервиса лицензирования: Не найдено ни одного сервера с размещенным сервисом serviceName=LicenseService

При запуске 1С вылетает ошибка с лицензиями:

Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!
***
Поиск лицензии в сервисе лицензирования:
Ошибка вызова сервиса лицензирования:
Не найдено ни одного сервера с размещенным сервисом
serviceName=LicenseService;

При этом в менеджере кластеров видна такая картина:

image.png

Не указан порт, т.е. не поднялся менеджер на сервере, в котором настроен сервис лицензирования..

Причиной этого может быть следующее (это не полный список):
– на сервере лицензирования не запущен ragent
– имя сервера лицензирования не резолвится в IP адрес или резолвится неправильно
– неправильно указан порт агента сервера на сервисе лицензирования
– агент сервера лицензирования содержит список администраторов центрального сервера
– на сервере лицензирования не хватило портов из заданного диапазона

В нашем случае проблема была в израсходовании всех портов сервера лицензирования.

Для решения этой проблемы можно увеличить границу области портов в параметре -range, например, на 1691 (с типового значени 1591)

"C:\Program Files\1cv8\8.3.15.1700\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1691 -d "C:\Program Files\1cv8\srvinfo"

Плюс в настройках рабочего сервер с функциональностью сервиса лицензирования указать “нетиповые” диапазоны чтобы не было пересечений с типовым диапазоном портов

image.png

Ошибки

Недопустимая строка с указанием класса V8.Application

Источник здесь

Регистрация класса:

"C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver

P.S. Если используется другой класс, например V8C, тогда необходимо указывать соответствующий exe файл, в данном случае 1cv8c.exe, плюс необходимо учитывать разрядность платформы.. т.е. использовать либо каталог “Program Files (x86)” либо “Program Files”

Ошибки

Пользователь ИБ не идентифицирован

Источник

Решения:

  1. Запуск до запроса логина / пароля на предыдущем релизе платформы (заходить в саму базе не нужно)
  2. Выполнение скрипта MS SQL:
    USE ИмяБазыSQL
    UPDATE SchemaStorage SET Status = 100

Как открыть отладку элемента формы ПолеHTMLДокумента (открытие формы web inspector)

Сделать поле активным и нажать комбинацию клавиш:

ctrl + shift + alt + f12

Откроется следующее окно:

image.png