Поиск по блогу

четверг, 25 июня 2015 г.

Задание типа значения для реквизита с типом СписокЗначений в управляемых формах

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

ТипыСписка = "Строка";
ДоступныеТипы = Новый ОписаниеТипов(ТипыСписка);
ЭтаФорма.РеквизитСписокЗначений.ТипЗначения = ДоступныеТипы;


Как видно из примера, тип значения устанавливается через свойство списка значений ТипЗначения, которое имеет тип ОписаниеТипов.

Другое дело, когда форма содержит таблицу значений, у которой имеется реквизит с типом СписокЗначений. В такой ситуации через обработчики событий формы к этому реквизиту не достучаться, поэтому нужно использовать обработчики событий элемента формы, связанного с данным реквизитом.
1. Реквизит ТЧ с типом СписокЗначений
Для этого напишем код по установке типа значения в обработчике события элемента формы НачалоВыбора:

среда, 24 июня 2015 г.

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

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

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

Что бы не плодить отчеты, которые схожи по смыслу, в дереве конфигурации, платформа 1С позволяет в одном отчете использовать несколько схем компоновки данных, и в зависимости от условий использовать ту или иную СКД для получения отчетной информации. Рассмотрим пример реализации использования нескольких СКД в одном отчете.

Создадим внешний отчет. В отчете создадим две схемы компоновки данных, например: МакетНомерОдин и МакетНомерДва. Допустим, первая СКД в запросе содержит параметр НаОсновномСкладе:
1. Первая СКД

четверг, 18 июня 2015 г.

Убираем авторизацию пользователя у веб-сервиса

Механизм Web-сервисов позволяет использовать 1С:Предприятие 8 как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать 1С:Предприятие 8 с другими промышленными системами использованием сервисно-ориентированной архитектуры.

Публикация веб-сервисов выполняется через конфигуратор, для этого нужно открыть окно Публикация на веб-сервере, нажав Администрирование -> Публикация на веб-сервере...
1. Опубликованный веб-клиент и веб-сервисы
Процесс публикации описывать не буду, для каждого случая он свой, но обычно достаточно выбрать веб-сервер, указать каталог публикации и нажать на кнопку Опубликовать.

Послу публикации в указанном каталоге создастся файл default.vrd. Его содержимое будет примерно таким:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/DemoSSL"
ib="File=&quot;C:\1с\БиблиотекаСтандартныхПодсистем\DemoSSL&quot;;">
<ws>
<point name="Exchange"
alias="exchange.1cws"
enable="true"/>

вторник, 16 июня 2015 г.

Отображение различных элементов формы в командной панели

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

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

Для примера, создайте внешнюю обработку, у обработки создайте управляемую форму.
1. Управляемая форма обработки
Форма уже имеет стандартную командную панель, но в неё мы можем добавить только кнопки, вообще, командные панели могут содержать только элементы формы кнопки и подменю.

Поэтому, в свойствах стандартной панели нужно снять галочку у свойства Автозаполнение.
2. Свойства командной панели

четверг, 11 июня 2015 г.

Описание объекта конфигурации "Общий модуль"

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

Если используется клиент–серверный вариант работы системы 1С:Предприятие 8, то с помощью свойств Клиент (обычное приложение), Клиент (управляемое приложение) и Сервер, а также указаний препроцессору разработчик может организовывать выполнение различных процедур и функций общих модулей в контексте сервера или в контексте клиента.
1. Пример общего модуля

Описание свойств


Если установлено свойство Клиент (обычное приложение) или Клиент (управляемое приложение), то все процедуры и функции общего модуля могут использоваться в клиентском приложении. В контексте неглобального общего модуля с установленным свойством Клиент (обычное приложение) доступны экспортируемые переменные, процедуры и функции модуля обычного приложения. В контексте неглобального общего модуля с установленным свойством Клиент (управляемое приложение) доступны экспортируемые переменные, процедуры и функции модуля управляемого приложения.

понедельник, 8 июня 2015 г.

Правила написания конфигураций. Как быстро придумать наименование.

Что может быть самым сложным для программиста? Правильно, придумать имя для переменной! Что бы конфигурация была удобочитаемой, приведу некоторые стандарты, которые описывают правила именования объектов конфигурации, переменных, процедур, функций, элементов управления и т. д.

Правила составления имен переменных


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

Пример правильного имени:
  • работа с каталогом – РаботаСКаталогом;
  • количество пачек в коробке – КоличествоПачекВКоробке.
Имена переменных не следует начинать с подчеркивания. Имена переменных ни в коем случае не должны состоять из одного символа, но использование коротких имен переменных допускается только для счетчиков циклов, например: счетчик - Сч.

воскресенье, 7 июня 2015 г.

Увеличиваем свободное место локального диска под ОС Windows

Загрузка установщика Windows 7 на материнской плате с поддержкой Skylake

Часто так бывает, что во время разработки, магическим образом заканчивается свободное место на локальном диске C. Факторов, которые съедают локальный диск, множество, зачастую неграмотно установленное программное обеспечение. Вот один из способов увеличения свободного места без расширения объема локального диска.

Перенос файла подкачки на другой локальный диск


Открыть свойства системы и на вкладке Дополнительно нажать на кнопку Параметры быстродействия системы.
1. Свойства системы
В параметрах быстродействия системы открыть вкладку Дополнительно и нажать на кнопку Изменить в разделе Виртуальная память.

суббота, 6 июня 2015 г.

Ошибка хитрого метода ПроверитьВывод() табличного документа

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

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

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

Ошибка решилась следующими действиями (выполнять под пользователем, у которого возникла ошибка):
1) Создал пустой документ, что бы при формировании печатной формы не был задействован метод ПроверитьВывод(). Если же этот метод в любом случае вызывается, то придется его найти в конфигурации и закомментировать, или же поместить в конструкцию Попытка-Исключение-КонецПопытки.
1. Помещение ПроверитьВывод в попытку