КАТЕГОРИИ: Архитектура-(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; Просмотров: 3518; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |