Скачиваний:
52
Добавлен:
01.05.2014
Размер:
155.65 Кб
Скачать

2 Справочник товаров

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

Здесь время поговорить о группах и уровнях справочника. 1С позволяет разбивать справочник на логические группы, в данном примере это группы "Алюминиевые конструкции и прокат" и "Камни стеновые и кирпич" и подгруппы "Камни стеновые" и "Кирпич". В группах размещен непосредственно сам товар: В группе "Камни стеновые и кирпич" в подгруппе "Кирпич" товары "Кирпич Красный" и "Кирпич Силикатный". В группе "Камни стеновые и кирпич" в подгруппе "Камни стеновые" товары "Блок перегородочный керамзитовый" и "Блок перегородочный со щелью для раскалывания на 2 половинки". В группе "Алюминиевые конструкции и прокат" товары "Витраж алюминиевый из утепленных профилей" и "Дверь алюминиевая балконная из утепленного профиля". При наличии подобной структуры справочника в 1С становится возможным ведение учета как по отдельным позициям номенклатуры, так и суммой по группе. Это будет показано в дальнейшем. Группы "Алюминиевые конструкции и прокат" и "Камни стеновые и кирпич" у нас лежат на 1-ом уровне справочника, Подгруппы "Камни стеновые" и "Кирпич" и товары "Кирпич Красный" и "Кирпич Силикатный" лежат на 2-ом уровне справочника и товары "Блок перегородочный керамзитовый", "Блок перегородочный со щелью для раскалывания на 2 половинки", "Витраж алюминиевый из утепленных профилей" и "Дверь алюминиевая балконная из утепленного профиля" лежат на 3-ем уровне справочника. Таким образом, у нас справочник будет иметь 3 уровня вложенности.

Определим какие характеристики товара нас будут интересовать.

  • Во-первых это артикул. Под артикул мы отведем предопределенное поле справочника - "Код". Он у нас будет содержать буквы и цифры, длина не более 8 символов.

  • Во-вторых это название. Под название мы выделим второе предопределенное поле справочника - Наименование. Длина этого поля у нас пусть будет не более 50 символов.

  • В-третьих - основная единица измерения данного товара, т.е. та единица на которую определяем цену. Это будет дополнительное поле, значение которого мы будем выбирать из списка. Для списка стандартных единиц измерения мы используем такой объект метаданных, как "Перечисление" (рациональнее было бы использовать справочник, но в упрощенной конфигурации мы пойдем самым простым путем).

  • В-четвертых - цена поступления за основную единицу товара.

  • И в-пятых - цена реализации за единицу товара.

Теперь разберемся с группами. Группы будут содержать только Код и Наименование.

  • Создаем перечисление с единицами измерения. Для этого в окне метаданных ставим курсор на раздел "Перечисления" и создаем новое перечисление;

  • Идентификатор - ЕдИзм, Синоним - Единицы Измерения, Комментарий - Стандартные Единицы Измерения;

  • Нажатием на [Новый] введем новое значение перечисления;

  • Идентификатор - кг, Комментарий - килограмм, Представление - кг.;

  • Нажмем [ОК];

  • В списке значений перечисления добавилось наше значение - "кг";

  • Аналогично введем еще два значения - шт/штука/шт. и ящ/ящик/ящ.;

Закроем окно редактирования перечисления. В окне конфигурации появилось наше перечисление;

  1. Создаем справочник номенклатуры. Для этого установив курсор на раздел "Справочники" в дереве метаданных и создадим новый справочник;

  2. Появляется окно конструктора справочников;

  3. Идентификатор - Номенклатура, Комментарий - справочник товаров;

  4. Субконто не создаем - тут нужна компонента Бухгалтерия;

  5. Вставляем команду в пользовательское меню;

  6. Вот появилось окно свойств справочника. Доопределим свойства. Как и договаривались количество уровней ставим - 3, длина кода - 8, длина наименования - 50, группы сверху - Да, автоматическая нумерация - не нужна, контроль уникальности - не нужен, серии кодов - все равно, тип кода - текстовый, основное представление - в виде кода (может быть товар с одинаковым наименованием, но разным артикулом), одна форма для элемента и группы - Нет, редактировать - в диалоге;

  7. Добавим реквизиты;

  8. ЕдИзм - основная единица измерения, тип - П.ЕдИзм (П - здесь Перечисление), для элемента;

  9. ЦенаП - цена поступления, тип число, неотрицательное, периодический, для элемента, изменяется документом и вручную; Здесь уместно поговорить про различие между периодическими и непериодическими элементами справочника. Периодический элемент справочника хранит историю своего изменения! Он позволяет определить, какое значение он имел в интересующий нас момент времени. И это очень удобно. Но за удобство приходится платить. Код, использующий периодические элементы более сложен, и в списке справочника нельзя сортировать и отбирать по значениям периодических реквизитов.

  10. ЦенаР - цена реализации, тип число, неотрицательное, периодический, для элемента, изменяется документом и вручную;

  11. Теперь создаем форму элемента справочника. Мы особыми украшательствами заниматься не будем, нам сейчас главное функциональность;

  12. При нажатии на [Форма элемента] появилось окно редактирования формы элемента и диалог с перечнем реквизитов элемента справочника. Пометим все и нажмем [Вставить]. Форма заполнится элементами диалога и подписями к ним. Расставим их поудобнее и изменим подписи;

  13. Если мы будем каждый раз создавать новый элемент справочника, нам придется вводить много раз одну и туже единицу измерения. Это не есть хорошо. Выход из этой ситуации таков. Мы создаем константу в которой будем хранить единицу измерения по умолчанию;

  14. Создаем константу "ЕдИзмПоУмолчанию". Для этого переключимся в окно с деревом метаданных, и в раздел "Константы" введем новую константу. Наименование - "ЕдИзмПоУмолчанию", Комментарий - "единица измерения по умолчанию", Тип - П.ЕдИзм;

  15. Возвращаемся в форму элемента справочника;

  16. Переключаемся на закладку "Модуль". Сюда мы напишем код: Процедура ВводНового() // предопределенная процедура // при вводе нового элемента справочника   ЕдИзм=Константа.ЕдИзмПоУмолчанию; // в поле ЕдИзм заносим значение из константы КонецПроцедуры

  17. Нам еще не нравится, что при вводе цены прихода цена реализации остается неизменной. Мы хотим чтобы цена реализации была равна цене прихода плюс наценка процентом, с возможностью редактирования цены реализации;

  18. Вводим константу "ПроцентНаценки", Комментарий - "процент наценки на приходную цену", тип - число;

  19. Переключаемся на закладку "Модуль". В свойствах поля ЦенаП на закладке "Дополнительно" напишем формулу ЦенаП();

  20. В модуле формы элемента напишем следующую процедуру: Процедура ЦенаП()   ЦенаР=ЦенаП*(1+(Константа.ПроцентНаценки/100)); //Константа.ПроцентНаценки у нас в % КонецПроцедуры

  21. Работа с элементом справочника закончена. Можем закрыть его;

  22. Возвращаемся в окно со свойствами справочника;

  23. Начинаем редактировать форму группы. Она будет иметь самый примитивный вид, как на картинке, но можно и как ни будь украсить (по желанию);

  24. Кода никакого не будет. Закрываем окно редактирования формы группы справочника;

  25. Возвращаемся в окно со свойствами справочника;

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

  27. В окне свойств справочника выберем по кнопке [Формы списка] из выпавшего меню пункт "Форма списка";

  28. Появится диалог с перечнем реквизитов похожий на предыдущие, отметим, что нам еще нужно дерево групп и нажмем [Вставить];

  29. Отредактируем размеры формы и элементов диалога и добавим две кнопки;

    1. Первая кнопка Заголовок - Закрыть, Формула - #Закрыть. Эта кнопка будет закрывать форму списка. Команда #Закрыть - напрямую закрывает форму, без написания какого-либо еще кода. Очень полезная команда (см КиА т.2);

    2. Вторая кнопка Заголовок - Печать, Формула - Печать(). Эта кнопка позволит нам распечатать справочник. Но надо писать код;

  30. Переключимся на закладку "Модуль" окна редактирования формы списка справочника. Впишем код:

Процедура Печать()   СпрТов=СоздатьОбъект("Справочник.Номенклатура"); // это мы создали в памяти копию справочника   СпрТов.ПорядокКодов(); // справочник мы желаем сортировать по кодам   СпрТов.ВыбратьЭлементы(); // открываем выбор элементов   Таб=СоздатьОбъект("Таблица"); // создаем объект для печатной формы   Таб.ИсходнаяТаблица("Таблица"); // указываем какую таблицу брать за основу   Таб.ВывестиСекцию("Шапка"); // формируем шапку печатной формы   Пока СпрТов.ПолучитьЭлемент()=1 Цикл // пока есть очередной получаемый элемент     ТЭ=СпрТов.ТекущийЭлемент(); // временная переменная для краткости     Если ТЭ.ЭтоГруппа()=1 Тогда // если текущий элемент справочника группа       Код=ТЭ.Код;       Наз=ТЭ.Наименование;       Таб.ВывестиСекцию("Группа"); // выводим строку для группы     Иначе // просто элемент       Код=ТЭ.Код;       Наз=ТЭ.Наименование;       ЕдИ=Строка(ТЭ.ЕдИзм);       ЦенаП=ТЭ.ЦенаП.Получить(ТекущаяДата()); // а это как получить значение периодического реквизита!!! // ТекущаяДата() - функция возвращающая текущее число       ЦенаР=ТЭ.ЦенаР.Получить(ТекущаяДата());       Таб.ВывестиСекцию("Элемент");     КонецЕсли;   КонецЦикла;   Таб.ТолькоПросмотр(1); // а нечего редактировать!   Таб.ПараметрыСтраницы(1,100,1);   Таб.Показать(""); // делаем печатную форму видимой. Можно посылать на принтер КонецПроцедуры

  1. Теперь переключаемся в закладку "Таблица". Табличных частей у одной формы может быть несколько, но это так, для справки;

  2. Рисуем шаблон нашей печатной формы. В секции "Шапка" все поля текстовые, в секциях "Группа" и "Элемент" - выражения. Оформление - по желанию. Главное - названия полей. У меня это выглядит так:

  3. Закрываем форму списка;

  4. Закрываем окно свойств справочника;

  5. Сохраняем конфигурацию;

  6. Нас спрашивают про анализ изменений... [Да];

  7. Нам сообщают, что были внесены следующие изменения. Жмем [Принять];

  8. Подтверждаем сообщение о конце реорганизации данных;

Соседние файлы в папке Отчет по производственной практике