Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Волшебство программирования на 1С:Предприятие 7.7 и 8.0


Только для специалистов с опытом работы в 1С v 8…

 

Для работы на проекте по внедрению «1С:Предприятие 8.0» на одном из крупнейших производственных предприятий России компания «Бухучет и торговля» ( http://www.1cbit.ru) набирает специалистов – программистов 1С с в/о и опытом работы от 2 лет, в возрасте 22-45 лет

Набор ограничен . Нужен 1 человек по зарплатной подсистеме, 2 человека по бухгалтерской со знанием МСФО и бюджетирования, и 2 человека по производственной подсистеме.

Зарплата составляет $1500-$3000. Оплачивается отпуск, проездной, предусмотрена схема оплаты связи. Возможность посещать массу бесплатных для сотрудников курсов. Прописка и гражданство не критичны. Возможна помощь с жильем. Недостатка в клиентах не испытываем вне зависимости от сезона, загрузим работой по полной программе. По окончании данного проекта уже будут предложены другие, не менее интересные. Перспектива роста в самом динамично развивающемся франчайзи 1С.

 

Резюме присылайте по адресу: iotkalo@1cbit.ru , Отькало Илье Владимировичу. Тел. в Москве 580-37-78. ICQ 269689079.


Волшебство программирования на 1С:Предприятие 7.7 и 8.0
Выпуск от 20.11.2006

v8: 1C 8.0. Задача отбора групп в форме списка справочников

Автор статьи: Абырвалг
Последняя редакция №1 от 17.11.06
URL: http://kb.mista.ru/article.php?id=418

В 8-ой платформе 1С нет возможности осуществить отбор в справочниках таким образом, чтобы можно было ограничить видимость групп в форме списка. В некоторых особо извращенных случаях это ограничивает возможности конфигурации.
Приведем некоторые способы обхода этого ограничения.
1) Можно использовать возможность отбора по владельцу.
СправочникДерево.Отбор.Владелец.Использование=Истина;
СправочникДерево.Отбор.Владелец.Значение=Владелец;
СправочникСписок.Отбор.Владелец.Использование=Истина;
СправочникСписок.Отбор.Владелец.Значение=Владелец;

Это сделано для устранения глюка платформы релиза 8.06 (1С его уже признала, обещала исправить
Если хотите посмотреть - что за глюк - просто закомментируйте следующие 2 строки
ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Ложь;
ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Истина;


В этом случае отбор происходит, но возможности данного метода ограничены. Нельзя осуществить отбор по реквизиту.
2) В форме списка отображаются элементы отдельно, группы отдельно.
Делается это просто:
Стандартная форма списка иерархического справочника, два реквизита типа СправочникСписок.
в одном настраиваем «Просмотр групп и элементов = Группы», в табличном поле Дерево=Истина, ТолькоПросмотр=Ложь, в другом соответственно «Просмотр групп и элементов = Элементы», в табличном поле Дерево=Ложь, связь по родителю Дерево.Выбор.
Данный метод позволяет реализовать отбор по любому реквизиту и не сложен в использовании. Но немного пропадает наглядность отображения иерархии.
3) Использование иерархии «Иерархия элементов».
В данном случае также возможен отбор стандартными средствами по любому реквизиту, но есть одно маленькое препятствие – нет групп . Так создадим их… Нам необходимо – создать реквизит (ЭтоЭлемент типа Булево например), в табличных полях указать картинку для строки. И программно регулировать работу с элементами. А именно… Отображение картинок соответствующим строкам, отображение помеченных на удаление элементов. Разделение создания групп и элементов. Сортировку по типу ЭтоЭлемент. Запрет создания подчиненных элементов для элементов с ЭтоЭлемент = Ложь (При условии подчинения элементам).
Процедура ДействияФормыНоваяГруппа(Кнопка)
// Вставить содержимое обработчика.
НоваяГруппа = Справочники.Контрагенты.СоздатьЭлемент();
НоваяГруппа.ЭтоЭлемент = Ложь;
НоваяГруппа.Родитель = ЭлементыФормы.СправочникСписок.ТекущийРодитель;
НоваяГруппа.ПолучитьФорму().Открыть();

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

Процедура СправочникДеревоПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
// Вставить содержимое обработчика.
ОформлениеСтроки.Ячейки.Наименование.ОтображатьКартинку = Истина;
ИндексКартинки = 0;
Если ДанныеСтроки<>Неопределено Тогда

Если ДанныеСтроки.Ссылка.ПометкаУдаления Тогда
ИндексКартинки = 2;
КонецЕсли;
КонецЕсли;
ОформлениеСтроки.Ячейки.Наименование.ИндексКартинки=ИндексКартинки;
КонецПроцедуры

Процедура ПриОткрытии()

// Вставить содержимое обработчика.
СправочникДерево.Отбор.ЭтоЭлемент.Установить(Ложь);
СправочникСписок.Порядок.Установить("ЭтоЭлемент";
КонецПроцедуры

Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
// Вставить содержимое обработчика.
ОформлениеСтроки.Ячейки.Картинка.ОтображатьКартинку = Истина;
ОформлениеСтроки.Ячейки.Картинка.ОтображатьТекст = Ложь;

Если ДанныеСтроки.Ссылка.ЭтоЭлемент Тогда
ИндексКартинки = ?(ДанныеСтроки.Ссылка.ПометкаУдаления,3,1);
Иначе
ИндексКартинки = ?(ДанныеСтроки.Ссылка.ПометкаУдаления,2,0);

КонецЕсли;
ОформлениеСтроки.Ячейки.Картинка.ИндексКартинки=ИндексКартинки;
КонецПроцедуры

Процедура СправочникСписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа)
// Вставить содержимое обработчика.
Отказ = Истина;
НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент();
НовыйЭлемент.ЭтоЭлемент = Истина;
НовыйЭлемент.Родитель = Родитель;
НовыйЭлемент.ПолучитьФорму().Открыть();
КонецПроцедуры

Процедура СправочникСписокПередНачаломИзменения(Элемент, Отказ)
// Вставить содержимое обработчика.
Если ЭлементыФормы.СправочникСписок.ТекущаяКолонка.Имя = "Картинка" Тогда
Отказ = Истина;
Если НЕ ЭлементыФормы.СправочникСписок.ТекущаяСтрока.ЭтоЭлемент Тогда

ЭлементыФормы.СправочникСписок.ТекущийРодитель = ЭлементыФормы.СправочникСписок.ТекущаяСтрока;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Данный метод позволяет наглядно отобразить иерархию, делает отбор по любому доступному для элемента параметру, но имеет один большой минус – надо программно отслеживать работу с группами-элементами. Т.е. быть предельно внимательными. Ну и еще неизвестно как быстро он будет работать на больших объемах.

Официальный сайт рассылки - www.mista.ru
Волшебный форум -
www.forum.mista.ru
Книга знаний - www.kb.mista.ru

С уважением,
Станислав Митичкин (Волшебник)
stasmit@mail.ru



В избранное