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

Программирование 1С: Предприятие 7.7. Практикум


Эта рассылка создана для тех, кто хочет самостоятельно освоить конфигурирование и программирование в 1С: Предприятие 7.7.


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

Поэтому старайтесь разобраться во всем материале, прилагайте усилия.

Желаю успехов.

В предыдущем выпуске рассылки была представлена 9 часть учебного материала по обучению 1С: Предприятие 7.7. Конфигурирование. Компонента «Бухгалтерский учет».

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

Сегодня рассмотрим следующую тему.

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

До настоящего момента все справочники, которые мы создавали, были самостоятельными «картотеками», где карточки могли быть при необходимости сгруппированы по группам. Каждая карточка содержала реквизиты и количество этих реквизитов было заранее известно. А что делать, если мы заранее не знаем, сколько реквизитов нужно (сколько договоров у нас будет с тем или иным контрагентом или сколько в его организации сотрудников, с которыми мы общаемся по телефону, т.е. контактных лиц)? При этом мы хотим строить отчеты по таким информационным полям.

Для решения подобных задач предназначен механизм подчиненных справочников.

Задание.  У нас есть справочник «Организации», в котором хранится информация о контрагентах нашей фирмы. Создайте новый справочник «Контактные лица», содержащий список контактных лиц и их телефонов по каждой организации. Для этого заполните поля:

        Идентификатор - КонтактныеЛица, синоним - Контактные лица, комментарий - Контактные лица и телефоны;

        один уровень вложенности, нумерация в пределах подчинения;

        дополнительный реквизит - «Телефон» - типа строка, длиной 9 символов;

        в поле «Подчинен» выбрать справочник «Организации»;

        редактироваться справочник будет в списке. Форма справочника будет следующей:

см. форму «Контактные лица» в прикрепленном файле.

        Откройте справочник Контактные лица в пользовательском режиме, в заголовке окна справочника появится надпись «Не задан элемент-владелец». В таком режиме ввести новый  элемент  нельзя.  Необходимо  сначала открыть  справочник  «Организации», установить курсор на элемент справочника и нажать кнопку «Открыть подчиненный справочник» на панели инструментов.

        Для более удобного способа открытия подчиненного справочника и ввода новых элементов, вставьте   кнопку в форму списка справочника организации, дайте ей наименование   «Контактные   лица»,   на   вкладке   Дополнительно   напишите   вызов процедуры   «ОткрытьКонтЛица()», откройте модуль списка и напишите процедуру открытия формы подчиненного справочника «Контактные лица»:

//************************************************************************************************************************************

Процедура ОткрытьКонтЛица()

Если ТекущийЭлемент().Выбран() = 0 Тогда

Предупреждение("Нелъзя открыть список контактных лиц, не указав Контрагента”);

ИначеЕсли ТекущийЭлемент().ЭтоГруппа() = 1 Тогда

Предупреждение("Нельзя открыть список контактных лиц для группы Контрагентов”);

Иначе

ОткрытьФорму(“Справочник.КонтактныеЛица");

КонецЕсли;

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

         //******************************************************************************************************************************

∙ В справочнике "Контактные лица" предусмотрите печать контактных лиц и телефонов. Воспользуйтесь конструктором печати. В модуле формы появился новый метод ИспользоватьВладельца(). Он возвращает текущего владельца (т.е. ту организацию, по которой мы сейчас просматриваем список контактных лиц). Печатная форма и процедура печати имеют следующий вид:

См. печатную форму в прикрепленном файле.

         //***********************************************************************************************************

//{{ПРОЦЕДУРА _ПЕЧАТИ(Печать)

//Данный фрагмент построен конструктором.

//При повторном использовании конструктора, внесенные вручную изменения будут потеряны!!!

Процедура Печатъ()

Спр = СоздатьОбъект("Справочник.КонтактныеЛица");

Спр.ИсполъзоватъДату(ИсполъзоватъДату());

Если ИсполъзоватъВладелъца(). Выбран () = 1 Тогда

Спр.ИспользоватъВладелъца(ИсполъзоватъВладельца();

 Иначе

Возврат;

КонецЕсли;

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблща("Печать ") ;
Таб.ВывестиСекцию("Шапка");
Таб. Опции(0,0, Таб.ВысотаТаблицы(), 0);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитъЭлемент() = 1 Цикл
           
//Если Спр.ЭтоГруппа() = 1 Тогда
          
//      Таб.ВывестиСекцию("Группа");

//Иначе

Таб.ВывестиСекцию("Строка");

//КонецЕсли;

КонецЦикла;

//Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать Контактные лица", "");

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

//}}ПРОЦЕДУРА_ПЕЧАТИ

Сохраните изменения в конфигураторе и проверьте работу в режиме 1С: Предприятие: Операции \ Справочники \ Организации.

В следующем выпуске рассылки рассмотрим журналы документов в 1С: Предприятие 7.7.


Богданова Светлана,

http://prog1c.info

bogd05@inbox.ru

 


В избранное