
- •Методические указания
- •1. Постановка задачи.
- •2. Реализация.
- •2.1 Создание конфигурации.
- •2.2 Начало работы с метаданными.
- •2.3 Создание пользователя.
- •2.4 Справочник товаров.
- •Начинаем редактировать форму группы. Она будет иметь самый примитивный вид, как на картинке, но можно и как ни будь украсить (по желанию);
- •2.5 Документ. Приход денег.
- •2.6 Отчет по долгам.
- •2.78 Регистры по товарам.
- •2.8 Fifo/lifo/По-среднему.
- •2.9 Наборы прав.
- •2.29 Новые интерфейсы.
Теперь создаем форму элемента справочника. Мы особыми украшательствами заниматься не будем, нам сейчас главное функциональность;
При нажатии на [Форма элемента] появилось окно редактирования формы элемента и диалог с перечнем реквизитов элемента справочника. Пометим все и нажмем [Вставить]. Форма заполнится элементами диалога и подписями к ним. Расставим их поудобнее и изменим подписи;
Если мы будем каждый раз создавать новый элемент справочника, нам придется вводить много раз одну и туже единицу измерения. Это не есть хорошо. Выход из этой ситуации таков. Мы создаем константу в которой будем хранить единицу измерения по умолчанию;
Создаем константу "ЕдИзмПоУмолчанию". Для этого переключимся в окно с деревом метаданных, и в раздел "Константы" введем новую константу. Наименование - "ЕдИзмПоУмолчанию", Комментарий - "единица измерения по умолчанию", Тип - П.ЕдИзм;
Возвращаемся в форму элемента справочника;
Переключаемся на закладку "Модуль". Сюда мы напишем код: Процедура ВводНового() // предопределенная процедура // при вводе нового элемента справочника ЕдИзм=Константа.ЕдИзмПоУмолчанию; // в поле ЕдИзм заносим значение из константы КонецПроцедуры
Нам еще не нравится, что при вводе цены прихода цена реализации остается неизменной. Мы хотим чтобы цена реализации была равна цене прихода плюс наценка процентом, с возможностью редактирования цены реализации;
Вводим константу "ПроцентНаценки", Комментарий - "процент наценки на приходную цену", тип - число 5.2;
В свойствах поля ЦенаП на закладке "Дополнительно" напишем формулу ЦенаП().Переключаемся на закладку "Модуль".
В модуле формы элемента напишем следующую процедуру: Процедура ЦенаП() ЦенаР=ЦенаП*(1+(Константа.ПроцентНаценки/100)); //Константа.ПроцентНаценки у нас в % КонецПроцедуры Кстати, на картинке есть флаг на опции "Имеет кнопку выбора", если ее ставить у поля ввода, то у числовых полей будет появляться калькулятор, у полей типа дата - календарик (такой маленький справа).
Работа с элементом справочника закончена. Можем закрыть его;
Возвращаемся в окно со свойствами справочника;
Начинаем редактировать форму группы. Она будет иметь самый примитивный вид, как на картинке, но можно и как ни будь украсить (по желанию);
Кода никакого не будет. Закрываем окно редактирования формы группы справочника;
Возвращаемся в окно со свойствами справочника;
Будем редактировать форму списка справочника. У справочника может быть несколько форм списка, для разных случаев, содержащих разные наборы реквизитов. В данном случае пока обойдемся одной формой;
В окне свойств справочника выберем по кнопке [Формы списка] из выпавшего меню пункт "Форма списка";
Появится диалог с перечнем реквизитов похожий на предыдущие, отметим, что нам еще нужно дерево групп и нажмем [Вставить];
Отредактируем размеры формы и элементов диалога и добавим две кнопки;
Первая кнопка Заголовок - Закрыть, Формула - #Закрыть. Эта кнопка будет закрывать форму списка. Команда #Закрыть - напрямую закрывает форму, без написания какого-либо еще кода. Очень полезная команда ;
В
торая кнопка Заголовок - Печать, Формула - Печать(). Эта кнопка позволит нам распечатать справочник. Но надо писать код;
(Вид формы списка справочника номенклатуры)
Переключимся на закладку "Модуль" окна редактирования формы списка справочника. Впишем код: Процедура Печать() СпрТов=СоздатьОбъект("Справочник.Номенклатура"); // это мы создали в памяти копию справочника СпрТов.ПорядокКодов(); // справочник мы желаем сортировать по кодам СпрТов.ВыбратьЭлементы(); // открываем выбор элементов Таб=СоздатьОбъект("Таблица"); // создаем объект для печатной формы Таб.ИсходнаяТаблица("Таблица"); // указываем какую таблицу брать за основу Таб.ВывестиСекцию("Шапка"); // формируем шапку печатной формы Пока СпрТов.ПолучитьЭлемент()=1 Цикл // пока есть очередной получаемый элемент ТЭ=СпрТов.ТекущийЭлемент(); // временная переменная для краткости Если ТЭ.ЭтоГруппа()=1 Тогда // если текущий элемент справочника группа Код=ТЭ.Код; Наз=ТЭ.Наименование; Таб.ВывестиСекцию("Группа"); // выводим строку для группы Иначе // просто элемент Код=ТЭ.Код; Наз=ТЭ.Наименование; ЕдИ=Строка(ТЭ.ЕдИзм); ЦенаП=ТЭ.ЦенаП.Получить(ТекущаяДата()); // а это как получить значение периодического реквизита!!! // ТекущаяДата() - функция возвращающая текущее число ЦенаР=ТЭ.ЦенаР.Получить(ТекущаяДата()); Таб.ВывестиСекцию("Элемент"); КонецЕсли; КонецЦикла; Таб.ТолькоПросмотр(1); // а нечего редактировать! Таб.ПараметрыСтраницы(1,100,1); Таб.Показать(""); // делаем печатную форму видимой. Можно посылать на принтер КонецПроцедуры
Теперь переключаемся в закладку "Таблица". Табличных частей у одной формы может быть несколько, но это так, для справки;
Рисуем шаблон нашей печатной формы. В секции "Шапка" все поля текстовые, в секциях "Группа" и "Элемент" - выражения. Оформление - по желанию. Главное - названия полей. У меня это выглядит так:
Закрываем форму списка;
Закрываем окно свойств справочника;
Сохраняем конфигурацию;
Нас спрашивают про анализ изменений... [Да];
Нам сообщают, что были внесены следующие изменения. Жмем [Принять];
Подтверждаем сообщение о конце реорганизации данных;