Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание документов




КонецФункции

Функция ЗакупочнаяЦена(АктуальнаяДата,ЭлементНоменклатуры) Экспорт

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

Процедура РассчитатьРозничнуюЦену(строкаТабличнойЧасти) Экспорт

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

Процедура РассчитатьСуммуПокупки(СтрокаТабличнойЧасти) Экспорт

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

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт

Общий модуль.

 

В общем модуле можно разместить алгоритм обработки события, который будет доступен для разных документов. В нашем случае мы разместим в общем модуле процедуру расчета суммы документа (для «Приходной накладной» и «Чек»), а в документах разместим вызов этой процедуры из общего модуля.

В ветке «Общие» - «Общие модули» создадим объект «РаботаСДокументами». Внутри него напишем вручную текст из трех процедур. Процедуры для наглядности отделим друг от друга линиями, не забывая, что нужно перед ними поставить знак комментария (//):

 

СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;

//_____________________________________________________

СтрокаТабличнойЧасти.СуммаПокупки=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.РозничнаяЦена;

//_____________________________________________________

СтрокаТабличнойЧасти.РозничнаяЦена=СтрокаТабличнойЧасти.Цена+СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.ПроцентНаценки/100;

//_____________________________________________________

Слово «Экспорт» говорит о том, что эта процедура может быть доступна из других программных модулей.

 

В ветке «Общие модули» создать еще один объект: «РаботаСоСправочниками». Внутри него прописать функцию:

Отбор=Новый Структура("Номенклатура",ЭлементНоменклатуры);

ЗначенияРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);

Возврат ЗначенияРесурсов.Цена;

 

Закрыть общий модуль.

Создадим два документа: ПриходнаяНакладная и Чек.

Начнем с Приходной накладной. Установить курсор на объект Документы, нажать на кнопку «Добавить». Откроется форма, в которой задать имя: ПриходнаяНакладная:

 

Перейти на закладку «Данные». В реквизитах документа создадим реквизит «Контрагент», тип – «СправочникСсылка.Контрагенты» и реквизит «Отдел», тип – «СправочникСсылка.Отделы».

В табличной части создадим набор реквизитов, но сначала создадим саму табличную часть кнопкой « Добавить табличную часть » и назовем ее «Номенклатура».

Теперь добавим реквизит табличной части кнопкой «Добавить реквизит», имя «Товар», тип – «СправочникСсылка.Товары».

Добавим еще три реквизита:

· Цена, тип – число, точность – 2, неотрицательный;

· Количество, тип – число, точность – 2;

· Сумма, тип – число, точность - 2.

В результате получим следующую структуру документа:

 

 

Перейдем на закладку «Нумерация» и установим длину номера – 4, тип – строка.

Переходим на закладку «Движения». Движения документа – это записи, которые документ делает в регистре «ИнформацияОТоварах».

В верхней части окна раскроем ветку Регистры накопления, поставим флажок по регистру «ИнформацияОТоварах»:

 

Нажмите на кнопку «Конструктор движений» и сформируйте алгоритм записи данных в этот регистр. Откроется конструктор движений документа. Тип движения регистра – «Приход». В табличной части выбрать «Номенклатура» и нажать на кнопку «Заполнить выражения». Если есть пустое поле выражения - заполнить его вручную двойным щелчком по соответствующему значению в реквизитах документа.

Получим такую картину:

 

Нажмите ОК. Получим процедуру записи данных документа в регистр:

 

 

Смысл содержания процедуры: в цикле происходит обход табличной части документа и для каждой строки в регистр добавляется новая запись, содержащая данные в этой строке документа.

Перейти на закладку «Формы» и создать форму документа (кнопкой «Добавить»):

 

Открыть форму документа «ПриходнаяНакладная» (двойным щелчком). Отредактировать форму таким образом, чтобы она имела следующий вид (реквизиты на форме можно перетаскивать):

 

В колонке «Товар» щелкнуть на поле ввода. Откроется окно свойств поля ввода. В разделе «События» щелкнуть на значке линзы в строке «ПриИзменении». Откроется закладка «Модуль», в которой появится заготовка процедуры. В теле процедуры записать вручную код как на рисунке:

 

Снова перейти на закладку «Диалог» и щелкнуть в колонке «Количество» на поле ввода. Откроется окно, в разделе «События» в строке «ПриИзменении» щелкнуть на значке линзы и снова откроется закладка «Модуль», в которой появится еще одна заготовка процедуры:

 

«Процедура НоменклатураКоличествоПриИзменении(Элемент)».

 

Заполните ее по рисунку ниже. В целом модуль будет выглядеть следующим образом:

 

Закрыть форму документа и перейти в регистр накопления «ИнформацияОТоварах». На закладке «Регистраторы» установить флажок на документе «ПриходнаяНакладная». Сохраните изменения в конфигурации.




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 3288; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.