21 сент. 2012 г.

Библиотека кода 1С

Мною была создана обработка "Библиотека кода 1С", которая должна ускорить/упростить работу 1С программиста. Надеюсь будет полезна не только мне. Сейчас она в процессе доработки, опубликована на Инфостарте тут.

Обработки-аналоги с того же Инфостарта:
Обработка для отладки кода в предприятии
Консоль выполнения произвольных текстов модуля
Обработка "Произвольный код"
Универсальная обработка - КонсольКода1С

Обработка обмена между идентичными конфигурациями

Вот нашел интересную обработку для переноса данных между идентичными конфигурациями.
Сам не использовал. Такая задача периодически возникает. Нужно будет протестировать.
Ссылка на статью.

15 сент. 2012 г.

Установка отбора программно в 8.1 и 8.2.

2013.11.29: 

Открытие управляемой формы

У формы объекта или записи регистра есть ключевой реквизит. В списке реквизитов формы он выделен полужирным. Чтобы открыть форму объекта, нужно в параметр процедуры ОткрытьФорму() добавить элемент с Ключом «Ключ» и значением — ссылкой на нужный объект(если объектный тип) или ключем записи (если регистр). Например:

&НаКлиенте
Процедура ОткрытьФормуПроекта(Команда)
    П = Новый Структура;
    П.Вставить("Ключ", Проект);

   ОткрытьФорму("Справочник.Проекты.ФормаОбъекта", П);
КонецПроцедуры

Открытие формы нового объекта с обработкой заполнения

В этом случае вызывается процедура «ОбработкаЗаполнения» модуля объекта. Эта процедура имеет единственный параметр «Основание».  Если мы в параметры вставим ключ «Основание», то он будет передан в процедуру «ОбработкаЗаполнения». 

&НаКлиенте
Процедура ОткрытьФорму(Команда)

  П = Новый Структура;
  П.Вставить("Основание", Проект);
  ОткрытьФорму("Справочник.Проекты.ФормаОбъекта", П);

КонецПроцедуры


2013.07.20
: добавил ссылку на пример по работе с отбрами из FAQ от 1С



Пример кода для установки отбора в форме списка документов на 8.1 и 8.2.

Для 8.1:

Отбор.Контрагент.Установить(Контрагент);

Для 8.2:

Отбор = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; 
Отбор.ПравоеЗначение = Контрагент;
Отбор.Использование = Истина;
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");