Версия компоненты ‘comcntr’ (8.3.8.2054) отличается от версии корневого модуля ‘core83’ (8.3.10.2505)

image_pdfimage_print

Доброго времени суток!

Я думал, что знаю о COM+ настройке в 1С все, но оказалось интересней с переходами платформы 8.3.8 на 8.3.10
http://sikuda.ru/archives/352

При попытке подключения из SQL базы с платформой 8.3.10 по COM к старой серверной платформе 8.3.8 выдается ошибка:

«Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия
Различаются версии клиента и сервера (8.3.10.2505 — 8.3.8.2054), клиентское приложение: COM-соединение»

Раньше было достаточно зарегистрировать нужную dll из старой версии и COM соединение к новой платформе перестает работать, а к старой работает. Но теперь

К старой версии 8.3.8

Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ (8.3.8.2054) отличается от версии корневого модуля ‘core83’ (8.3.10.2505)

К новой версии 8.3.10 такая же ошибка.

 

Шаманства типа с  регистрацией не всегда  помогают: http://novichok1c.ru/ustranenie-oshibki-pri-podklyuchenii-k-baze-dannyh-1s-cherez-com-soedinenie

Так что проблема остается. Рекомендация — устанавливать единую платформу 8.3 на все конфигурации.

 

 

 

 

 

Операция не разрешена в предложении «ИТОГИ»

image_pdfimage_print

Доброго времени суток

Иногда в 1С пользователи жалуются на ошибку в отчетах и даже не СКД, а ПостроительОтчета

{Отчет.УниверсальныйОтчет.МодульОбъекта(580)}: Ошибка при вызове метода контекста (Вывести){Отчет.УниверсальныйОтчет.МодульОбъекта(580)}: Ошибка при вызове метода контекста (Вывести) ПостроительОтчета.Вывести(ТабличныйДокумент);по причине:{(108, 2)}: Операция не разрешена в предложении «ИТОГИ»<<?>>СУММА(ВЫРАЗИТЬ(ВложенныйЗапрос.Поле4 КАК ЧИСЛО(15, 2))) КАК Поле4,

Так вот это может происходить из-за добавления в группировки поля ресурсов. Это сделали сами пользователи! Но виноват конечно 1С и программист. У Вас ничего не работает!

Желаю Вас терпения и хорошего настроения…

 

Очистка кэша в 1С.

image_pdfimage_print

Доброго времени суток!

Проблема периодической чистки кэша в 1С стара как мир, но всегда актуальна. Всегда хочется доделать какую-то маленькую работу и сразу обновить рабочую базу, и даже если не слишком надо заказчик стоит над душой и вытягивает из Вас все жилы.

Для таких баз лучше сразу делать ярлык запуска v8i с очисткой кэша.

строка в файле: AdditionalParameters=//ClearCache

Или указать это параметр при настройке ярлыка

И сохранить этот ярлык отдельным файлом 

 

 

Источник: https://helpf.pro/faq/view/1267.htm

В связи с тем, что 1С может быть установлена на различных операционных системах, папка, где хранится кэш, может быть различной.
Для Win XP:
%userprofile%\Local Settings\Application Data\1C\1Cv82
%userprofile%\Application Data\1C\1Cv82

Для Win 7:
%userprofile%\AppData\Roaming\1C\1Cv82
%userprofile%\AppData\Local\1C\1Cv82

Серверные оси Windows 2008
C:\Users\<username>\AppData\Local\1C
C:\Users\<username>\AppData\Roaming\1C

Обход группировок в СКД

image_pdfimage_print

Доброго времени суток!

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

Смотрим классический код запуска СКД:

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

И теперь как настоящие маньяки готовим скальпель. У ЭлементРезультатаКомпоновкиДанных есть массив ЗначенияПараметров с характерными названиями П1, П2, П3.. (первое поле в выводе и т.д.). Через одну правда проскакивают идентификаторы СКД, но мы их рассматривать не будем. Так как же мы может выбрать все группировки верхнего уровня?

При выводе проверяет тип выводимого поля и если он совпадает с заданным в группировке, значит это нужная группировка:

Если группировок несколько, то их выбираем также

 

 

 

 

 

 

 

Что нам стоит код 1С раскрасить?

image_pdfimage_print

Доброго времени суток!

Открыв окно в конвертации 3.0 на алгоритм 1С, был страшно разочарован. Сколько лет управляемых приложениям в 1С, а подветки кода до сих пор нет. Печалька. В своих разработках (http://widget.sikuda.ru) тоже очень сильно не хватает подсветки кода. А между тем в интернете много хорошо развитых и поддерживаемых открытых проектов не только для выделения синтаксиса, но и полноценные редакторы текста. почему бы нам не взять один из них и написать для языка 1С?

На infostart был найден подобный проект (выделение синтаксиса запросов 1С) и реализация его очень понравилась: http://infostart.ru/public/515572/. Спасибо Василию.

Приступаем: Рассмотрим проект CodeMirror(https://codemirror.net/index.html) поподробнее. А именно пока только его ту часть, что отвечает за раскраску кода. Она сделана в проекте для отдельного языка в виде ‘languge mode’. Специфики разбора выражения конкретного языка. А конкретные цвета для ключевых выражений, переменных и проч. задается в ‘CSS theming system’ . Очень гибко и красиво. Просто идеально, чтобы добавить язык 1С.

Тестирование реализации можно сделать здесь: http://sikuda.ru/1c/CodeMirror/

Пишите все Ваши замечания и предложения и особенно неточности подсветки по сравнению с конфигуратором. Детские ошибки преодолены. Всем заранее спасибо.

Обработку для 1С можно скачать http://infostart.ru/public/569016/

 

MD5 в 1С

image_pdfimage_print

Оригинал

MD5 в 1С

MD5ХешФайл(ИмяФайла) доступен только в 8.3 если у Вас 8.2 Вам приходится писать код:

Устанавливаем 1С с помощью групповых политик

image_pdfimage_print

Доброго времени суток!

Оригинал http://infostart.ru/public/296227/

Открываем редактор GP. Создаем новую политику. Открываем её для редактирования. Переходим в раздел «Конфигурация компьютера» — «Установка программ».

Создаем новый пакет. Выбираем файл 1CEnterprise 8.2.msi, путь до файла необходимо указывать через сетевое окружение \\SRV\…..\1CEnterprise 8.msi, метод развертывания выбираем — особый, для того чтобы можно было внести модификации.

После создания пакета откроется окно свойств пакета.
Необходимо перейти на закладку «Модификации»  и добавить файл трансформации для русского языка называется 1049.mst и файл трансформации Client.mst.

Управляемое приложение. Внешняя обработка. Заполнение объекта

image_pdfimage_print

Источник доработок http://infostart.ru/public/84119/

Странно в 1С уже вовсю управляемые формы, а найти шаблон заполнения табличной части оказалось очень не просто. А уж понять как сделать заполнение табличной части без сохранения документа вообще невозможно.

Код в модуле обработки:

И пустой форме одна экспортная функция:

И если Вы заполняете не стандартный документ или справочник, не забудьте выбрать его в Общее — Определяемые типы — ОбъектСДополнительнымиКомандами

Работа с Excel в фоновом задании

image_pdfimage_print

Доброго времени суток!

http://infostart.ru/public/196323/

Прямо решение из жизни:

При работе с COM объектом экземляр Excel успешно создавался, но открыть файл не получалось

ExcelApp = Новый COMОбъект(«Excel.Application»);
ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла); // ОШИБКА!
выводилось сообщение об ошибке

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «C:\xls_test\test.xls». Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
Попытки подключиться через ADO выдавало все тоже сообщение об отсутствии поставщика.

Поиски в просторах сети были продолжены и решение таки было найдено:

Необходимо создать папку

для Windows Server x64

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

для Windows Server x86

C:\Windows\System32\config\systemprofile\Desktop
Данное расположение папок указано для Office 2007. Для Office 2010 не зависимо от разрядности платформы необходимо создавать папку C:\Windows\System32\config\systemprofile\Desktop (данный факт так же потратил не мало моего времени). В общем, если создали папку, а ошибки не исчезли, создайте вторую. Так же необходимо дать права на созданную папку пользователю USR1CV82. Практика показала, что достаточно прав, выдаваемых системой по умолчанию.