Приложение А. Текст программы

Содержание общего модуля «Работа с документами»:

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

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

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

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

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

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

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

СтрокаТабличнойЧасти.Цена =СтрокаТабличнойЧасти.СуммаБезНДС + (СтрокаТабличнойЧасти.СуммаБезНДС * СтрокаТабличнойЧасти.Процент);

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

Содержание общего модуля «Работа со справочниками»:

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

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

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

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

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

Возврат ЗначенияРесурсов.НомерШтрихКодаТовара;

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

Возврат ЗначенияРесурсов.НомерКодаТовара;

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

Функция ШтрихКод(АктуальнаяДата, ЭлементНоменклатуры) Экспорт

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

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

Возврат ЗначенияРесурсов.ШтрихКод;

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

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

Отбор = Новый Приложение А. Текст программы Структура("Номенклатура", ЭлементНоменклатуры);

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

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

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

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

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

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

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

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

Функция Скидка(АктуальнаяДата, ЭлементПользователи) Экспорт

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

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

Возврат Приложение А. Текст программы ЗначенияРесурсов.Скидка;

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

Содержание общего модуля «Скидка»:

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

СтрокаТабличнойЧасти.Итого = СтрокаТабличнойЧасти.СуммаБезСкидки + (СтрокаТабличнойЧасти.СуммаБезСкидки * СтрокаТабличнойЧасти.Скидка);

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

Содержание общего модуля «Проведение расчетов»:

Процедура РассчитатьНачисления(НаборЗаписейРегистра, ТребуемыйВидРасчета,

СписокСотрудников) Экспорт

Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение;

Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда

Запрос = Новый Запрос;

Запрос.Текст =

"Избрать

| НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма,

| НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт,

| НачисленияДанныеГрафика Приложение А. Текст программы.НомерСтроки КАК НомерСтроки

|ИЗ

| РегистрРасчета.Начисления.ДанныеГрафика(Регистратор = &Регистратор И

| ВидРасчета = &ВидРасчета И Сотрудник В (&СписокСотрудников))

| КАК НачисленияДанныеГрафика";

Запрос.УстановитьПараметр("Регистратор", Регистратор);

Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);

Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);

ВыборкаРезультата = Запрос.Выполнить().Избрать();

Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл

СтруктураНомер = Новый Структура("НомерСтроки");

СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;

ВыборкаРезультата.Скинуть();

Если ВыборкаРезультата.НайтиСледующий Приложение А. Текст программы(СтруктураНомер) Тогда

Если ВыборкаРезультата.Норма = 0 Тогда

Сообщение = Новый СообщениеПользователю;

Сообщение.Текст = "Вид расчета: Оклад – Нет рабочих дней в данном периоде";

Сообщение.Сказать();

ЗаписьРегистра.Итог = 0;

По другому

ЗаписьРегистра.Итог = (ЗаписьРегистра.ИсходныеДанные/ВыборкаРезультата.Норма) * ВыборкаРезультата.Факт;

Сообщение = Новый СообщениеПользователю;

Сообщение.Текст = "Выполнен расчет " + ЗаписьРегистра.Регистратор

+ " – " + ЗаписьРегистра.ВидРасчета + " – " +

ЗаписьРегистра.Сотрудник;

Сообщение.Сказать();

КонецЕсли;

КонецЕсли;

КонецЦикла Приложение А. Текст программы;

ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда

Запрос = Новый Запрос;

Запрос.Текст =

"Избрать

| НачисленияБазаНачисления.РезультатБаза КАК База,

| НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки

|ИЗ

| РегистрРасчета.Начисления.БазаНачисления(&ИзмеренияОсновного,

| &ИзмеренияБазового, , Регистратор =

| &Регистратор И ВидРасчета = &ВидРасчета И

| Сотрудник В (&СписокСотрудников))

| КАК НачисленияБазаНачисления";

Измер = Новый Массив(1);

Измер[0] = "Сотрудник";

Запрос.УстановитьПараметр("ИзмеренияОсновного", Измер);

Запрос.УстановитьПараметр("ИзмеренияБазового", Измер);

Запрос.УстановитьПараметр("Регистратор", Регистратор);

Запрос Приложение А. Текст программы.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);

Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);

ВыборкаРезультата = Запрос.Выполнить().Избрать();

Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл

СтруктураНомер = Новый Структура("НомерСтроки");

СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;

ВыборкаРезультата.Скинуть();

Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда

ЗаписьРегистра.Итог = ВыборкаРезультата.База * (10 / 100);

Сообщение = Новый СообщениеПользователю;

Сообщение.Текст = "Выполнен расчет " + ЗаписьРегистра.Регистратор + " – " +

ЗаписьРегистра.ВидРасчета + " – " + ЗаписьРегистра.Сотрудник;

Сообщение.Сказать Приложение А. Текст программы();

КонецЕсли;

КонецЦикла;

КонецЕсли;

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

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

Запрос = Новый Запрос(

"Избрать

| НачисленияПерерасчет.ОбъектПерерасчета КАК ОбъектПерерасчета,

| НачисленияПерерасчет.Сотрудник

|ИЗ

| РегистрРасчета.Начисления.Перерасчет КАК НачисленияПерерасчет

|ГДЕ

| НачисленияПерерасчет.ВидРасчета = &ТребуемыйВидРасчета

|ИТОГИ ПО

| ОбъектПерерасчета");

Запрос.УстановитьПараметр("ТребуемыйВидРасчета", ТребуемыйВидРасчета);

СписокСотрудников = Новый СписокЗначений;

ВыборкаПоРегистратору = Запрос.Выполнить().Избрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаПоРегистратору.Последующий() Цикл

Регистратор = ВыборкаПоРегистратору.ОбъектПерерасчета;

ВыборкаПоСотрудникам = ВыборкаПоРегистратору.Избрать();

СписокСотрудников.Очистить();

Пока ВыборкаПоСотрудникам Приложение А. Текст программы.Последующий() Цикл

СписокСотрудников.Добавить(ВыборкаПоСотрудникам.Сотрудник);

КонецЦикла;

НаборЗаписей = РегистрыРасчета.Начисления.СоздатьНаборЗаписей();

НаборЗаписей.Отбор.Регистратор.Значение = Регистратор;

НаборЗаписей.Прочесть();

РассчитатьНачисления(НаборЗаписей, ТребуемыйВидРасчета, СписокСотрудников);

НаборЗаписей.Записать( , Правда);

НаборЗаписейПерерасчета =

РегистрыРасчета.Начисления.Перерасчеты.Перерасчет.СоздатьНаборЗаписей();

НаборЗаписейПерерасчета.Отбор.ОбъектПерерасчета.Значение = Регистратор;

НаборЗаписейПерерасчета.Записать();

КонецЦикла;

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

Содержание модуля объекта «Продажа»:

Процедура ОбработкаПроведения(Отказ, Режим)

Движения.ОстаткиМатериалов.Записывать Приложение А. Текст программы = Правда;

Движения.СтоимостьМатериалов.Записывать = Правда;

Движения.Реализации.Записывать = Правда;

Движения.Управленческий.Записывать = Правда;

МенеджерВТ = Новый МенеджерВременныхТаблиц;

Запрос = Новый Запрос;

Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос.Текст =

"Избрать

| ПродажаТовары.Наименование КАК Наименование,

| СУММА(ПродажаТовары.Сумма) КАК СуммаВДокументе,

| СУММА(ПродажаТовары.Количество) КАК КоличествоВДокументе,

| ПродажаТовары.Наименование.ВидНомеклатура КАК ВидНоменклатуры

|ПОМЕСТИТЬ ТоварыДокумента

|ИЗ

| Документ.Продажа.Продукты КАК ПродажаТовары

| ЛЕВОЕ Приложение А. Текст программы СОЕДИНЕНИЕ Документ.Продажа КАК Продажа

| ПО ПродажаТовары.Ссылка = Продажа.Ссылка

|ГДЕ

| ПродажаТовары.Ссылка = &Ссылка

|

|СГРУППИРОВАТЬ ПО

| ПродажаТовары.Наименование.ВидНомеклатура,

| ПродажаТовары.Наименование";

Запрос.УстановитьПараметр("Ссылка", Ссылка);

Итог = Запрос.Выполнить();

Запрос2 = Новый Запрос;

Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос2.Текст = "Избрать

| ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество,

| ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Цена,

| ТоварыДокумента.Наименование,

| ТоварыДокумента.ВидНоменклатуры,

| ТоварыДокумента.СуммаВДокументе,

| ТоварыДокумента.КоличествоВДокументе

|ИЗ

| ТоварыДокумента КАК Приложение А. Текст программы ТоварыДокумента

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки КАК ОстаткиМатериаловОстатки

| ПО ТоварыДокумента.Наименование = ОстаткиМатериаловОстатки.Материал

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки КАК СтоимостьМатериаловОстатки

| ПО ТоварыДокумента.Наименование = СтоимостьМатериаловОстатки.Материал";

Движения.СтоимостьМатериалов.БлокироватьДляИзменения = Правда;

Движения.ОстаткиМатериалов.БлокироватьДляИзменения = Правда;

Движения.СтоимостьМатериалов.Записать();

Движения.ОстаткиМатериалов.Записать();

Итог = Запрос2.Выполнить();

ТЗ=Итог.Выгрузить();

ТекСтрокаТовары = Итог.Избрать();

Пока ТекСтрокаТовары.Последующий() Цикл

Если ТекСтрокаТовары.Количество = 0 Тогда

СтоимостьМатериала Приложение А. Текст программы = 0;

По другому

СтоимостьМатериала = ТекСтрокаТовары.Цена / ТекСтрокаТовары.Количество;

КонецЕсли;

если ТекСтрокаТовары.Наименование.ВидНомеклатура = Перечисления.ВидыНоменклатуры.Продукт тогда

Движение = Движения.Управленческий.Добавить();

Движение.СчетДт = ПланыСчетов.Основной.ТоварыВРознице;

Движение.СчетКт = ПланыСчетов.Основной.Касса;

Движение.Период = Дата;

Движение.КоличествоДт = ТекСтрокаТовары.КоличествоВДокументе;

Движение.Сумма = ТекСтрокаТовары.СуммаВДокументе;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] = ТекСтрокаТовары.Наименование Приложение А. Текст программы;

Движение = Движения.Реализации.Добавить();

Движение.Период = Дата;

Движение.Номенклатура = ТекСтрокаТовары.Наименование;

Движение.Кассир = Кассир;

Движение.Количество = ТекСтрокаТовары.КоличествоВДокументе;

Движение.Выручка = ТекСтрокаТовары.СуммаВДокументе;

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаТовары.Наименование;

Движение.Цена = ТекСтрокаТовары.СуммаВДокументе;

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход Приложение А. Текст программы;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаТовары.Наименование;

Движение.Количество = ТекСтрокаТовары.КоличествоВДокументе;

КонецЕсли;

КонецЦикла;

Движения.Записать();

Если Режим = РежимПроведенияДокумента.Оперативный Тогда

Запрос3 = Новый Запрос;

Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос3.Текст = "Избрать

| ОстаткиМатериаловОстатки.Материал,

| ОстаткиМатериаловОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.ОстаткиМатериалов.Остатки(

| ,

| Материал В

| (Избрать

| ТоварыДокумента.Наименование

| ИЗ

| ТоварыДокумента)) КАК ОстаткиМатериаловОстатки

|ГДЕ

| ОстаткиМатериаловОстатки.КоличествоОстаток < 0";

Запрос3.УстановитьПараметр("Склад", Склад);

РезультатЗапроса = Запрос3.Выполнить();

ТекСтрокаТовары = РезультатЗапроса.Избрать();

Пока ТекСтрокаТовары Приложение А. Текст программы.Последующий() Цикл

Сообщение = Новый СообщениеПользователю();

Сообщение.Текст = "Не хватает " + Строчка(- ТекСтрокаТовары.КоличествоОстаток) +

" единиц материала """ + ТекСтрокаТовары.Материал + """";

Сообщение.Сказать();

Отказ = Правда;

КонецЦикла;

КонецЕсли;

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

Содержание модуля менеджера «Продажа»:

Процедура Печать(ТабДок, Ссылка) Экспорт

//{ )

}

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

Содержание модуля объекта «Приходная накладная»:

Процедура ОбработкаПроведения(Отказ, Режим)

Движения.ОстаткиМатериалов.Записывать = Правда;

Движения.СтоимостьМатериалов.Записывать = Правда;

Движения Приложение А. Текст программы.Управленческий.Записывать = Правда;

Для Каждого ТекСтрокаСодержание Из Содержание Цикл

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаСодержание.Наименование;

Движение.Цена = ТекСтрокаСодержание.СуммаБезНДС;

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаСодержание.Наименование;

Движение.Количество = ТекСтрокаСодержание.Количество;

Движение = Движения.Управленческий.Добавить();

Движение.СчетДт Приложение А. Текст программы = ПланыСчетов.Основной.Продукты;

Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщиками;

Движение.Период = Дата;

Движение.КоличествоДт = ТекСтрокаСодержание.Количество;

Движение.Сумма = ТекСтрокаСодержание.СуммаБезНДС;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] = ТекСтрокаСодержание.Наименование;

КонецЦикла

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

Содержание модуля менеджера «Приходная накладная»:

Процедура Печать(ТабДок, Ссылка) Экспорт

//{ Процент,

}

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

Содержание модуля объекта «Расходная накладная»:

Процедура ОбработкаПроведения(Отказ, Режим)

Движения Приложение А. Текст программы.ОстаткиМатериалов.Записывать = Правда;

Движения.СтоимостьМатериалов.Записывать = Правда;

Движения.Реализации.Записывать = Правда;

Движения.Управленческий.Записывать = Правда;

МенеджерВТ = Новый МенеджерВременныхТаблиц;

Запрос = Новый Запрос;

Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос.Текст =

"Избрать

| РасходнаяНакладнаяСодержание.Наименование,

| РасходнаяНакладнаяСодержание.Наименование.ВидНомеклатура КАК ВидНоменклатуры,

| СУММА(РасходнаяНакладнаяСодержание.Количество) КАК КоличествоВДокументе,

| СУММА(РасходнаяНакладнаяСодержание.Сумма) КАК СуммаВДокументе

|ПОМЕСТИТЬ ТоварыДокумента

|ИЗ

| Документ.РасходнаяНакладная.Содержание КАК РасходнаяНакладнаяСодержание

|ГДЕ

| РасходнаяНакладнаяСодержание.Ссылка Приложение А. Текст программы = &Ссылка

|

|СГРУППИРОВАТЬ ПО

| РасходнаяНакладнаяСодержание.Наименование,

| РасходнаяНакладнаяСодержание.Наименование.ВидНомеклатура";

Запрос.УстановитьПараметр("Ссылка", Ссылка);

Итог = Запрос.Выполнить();

Запрос2 = Новый Запрос;

Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос2.Текст = "Избрать

| ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество,

| ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Цена,

| ТоварыДокумента.Наименование,

| ТоварыДокумента.ВидНоменклатуры,

| ТоварыДокумента.СуммаВДокументе,

| ТоварыДокумента.КоличествоВДокументе

|ИЗ

| ТоварыДокумента КАК ТоварыДокумента

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки КАК ОстаткиМатериаловОстатки

| ПО ТоварыДокумента.Наименование Приложение А. Текст программы = ОстаткиМатериаловОстатки.Материал

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки КАК СтоимостьМатериаловОстатки

| ПО ТоварыДокумента.Наименование = СтоимостьМатериаловОстатки.Материал";

Движения.СтоимостьМатериалов.БлокироватьДляИзменения = Правда;

Движения.ОстаткиМатериалов.БлокироватьДляИзменения = Правда;

Движения.СтоимостьМатериалов.Записать();

Движения.ОстаткиМатериалов.Записать();

Итог = Запрос2.Выполнить();

ТЗ=Итог.Выгрузить();

ТекСтрокаТовары = Итог.Избрать();

Пока ТекСтрокаТовары.Последующий() Цикл

Если ТекСтрокаТовары.Количество = 0 Тогда

СтоимостьМатериала = 0;

По другому

СтоимостьМатериала = ТекСтрокаТовары.Цена / ТекСтрокаТовары.Количество;

КонецЕсли;

если ТекСтрокаТовары.Наименование Приложение А. Текст программы.ВидНомеклатура = Перечисления.ВидыНоменклатуры.Материал тогда

Движение = Движения.Управленческий.Добавить();

Движение.СчетДт = ПланыСчетов.Основной.ТоварыВРознице;

Движение.СчетКт = ПланыСчетов.Основной.Касса;

Движение.Период = Дата;

Движение.КоличествоДт = ТекСтрокаТовары.КоличествоВДокументе;

Движение.Сумма = ТекСтрокаТовары.СуммаВДокументе;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] = ТекСтрокаТовары.Наименование;

Движение = Движения.Реализации.Добавить();

Движение.Период = Дата;

Движение.Номенклатура = ТекСтрокаТовары Приложение А. Текст программы.Наименование;

Движение.Количество = ТекСтрокаТовары.КоличествоВДокументе;

Движение.Выручка = ТекСтрокаТовары.СуммаВДокументе;

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаТовары.Наименование;

Движение.Цена = ТекСтрокаТовары.СуммаВДокументе;

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаТовары.Наименование;

Движение.Количество = ТекСтрокаТовары.КоличествоВДокументе;

КонецЕсли;

КонецЦикла;

Движения.Записать Приложение А. Текст программы();

Если Режим = РежимПроведенияДокумента.Оперативный Тогда

Запрос3 = Новый Запрос;

Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;

Запрос3.Текст = "Избрать

| ОстаткиМатериаловОстатки.Материал,

| ОстаткиМатериаловОстатки.КоличествоОстаток

|ИЗ

| РегистрНакопления.ОстаткиМатериалов.Остатки(

| ,

| Материал В

| (Избрать

| ТоварыДокумента.Наименование

| ИЗ

| ТоварыДокумента)) КАК ОстаткиМатериаловОстатки

|ГДЕ

| ОстаткиМатериаловОстатки.КоличествоОстаток < 0";

РезультатЗапроса = Запрос3.Выполнить();

ТекСтрокаТовары = РезультатЗапроса.Избрать();

Пока ТекСтрокаТовары.Последующий() Цикл

Сообщение = Новый СообщениеПользователю();

Сообщение.Текст = "Не хватает " + Строчка(- ТекСтрокаТовары.КоличествоОстаток) +

" единиц материала """ + ТекСтрокаТовары.Материал + """";

Сообщение Приложение А. Текст программы.Сказать();

Отказ = Правда;

КонецЦикла;

КонецЕсли;

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

Содержание модуля менеджера документа «Расходная накладная»:

Процедура Печать(ТабДок, Ссылка) Экспорт

//{_КОНСТРУКТОР_ПЕЧАТИ(Печать1)

Макет = Документы.РасходнаяНакладная.ПолучитьМакет("РасНаклад");

Запрос = Новый Запрос;

Запрос.Текст =

"Избрать

}

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

Содержание модуля объекта документа «Акт списания товаров»:

Процедура ОбработкаПроведения(Отказ, Режим)

Движения.ОстаткиМатериалов.Записывать = Правда;

Движения.СтоимостьМатериалов.Записывать = Правда;

Движения.Управленческий Приложение А. Текст программы.Записывать = Правда;

Для Каждого ТекСтрокаСодержание Из Содержание Цикл

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаСодержание.Наименование;

Движение.Цена = ТекСтрокаСодержание.Сумма;

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаСодержание.Наименование;

Движение.Количество = ТекСтрокаСодержание.Количество;

Движение = Движения.Управленческий.Добавить();

Движение Приложение А. Текст программы.СчетДт = ПланыСчетов.Основной.РасходыНаПродажу;

Движение.СчетКт = ПланыСчетов.Основной.Продукты;

Движение.Период = Дата;

Движение.КоличествоДт = ТекСтрокаСодержание.Количество;

Движение.КоличествоКт = ТекСтрокаСодержание.Количество;

Движение.Сумма = ТекСтрокаСодержание.Сумма;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] = ТекСтрокаСодержание.Наименование;

КонецЦикла;

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

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

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

// При повторном использовании конструктора, внесенные вручную конфигурации Приложение А. Текст программы будут утеряны!!!

Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда

// Наполнение шапки

Организация = ДанныеЗаполнения.Плательщик;

Для Каждого ТекСтрокаСодержание Из ДанныеЗаполнения.Содержание Цикл

НоваяСтрока = Содержание.Добавить();

НоваяСтрока.Код = ТекСтрокаСодержание.Код;

НоваяСтрока.Количество = ТекСтрокаСодержание.Количество;

НоваяСтрока.Наименование = ТекСтрокаСодержание.Наименование;

НоваяСтрока.Сумма = ТекСтрокаСодержание.СуммаБезНДС;

НоваяСтрока.Стоимость = ТекСтрокаСодержание.Стоимость;

КонецЦикла;

ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип Приложение А. Текст программы("ДокументСсылка.Продажа") Тогда

// Наполнение шапки

Для Каждого ТекСтрокаРасчет Из ДанныеЗаполнения.Расчет Цикл

НоваяСтрока = Содержание.Добавить();

НоваяСтрока.Сумма = ТекСтрокаРасчет.СуммаБезСкидки;

КонецЦикла;

Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Продукты Цикл

НоваяСтрока = Содержание.Добавить();

НоваяСтрока.Количество = ТекСтрокаТовары.Количество;

НоваяСтрока.Наименование = ТекСтрокаТовары.Наименование;

НоваяСтрока.Код = ТекСтрокаТовары.Номер;

НоваяСтрока.Стоимость = ТекСтрокаТовары.Стоимость;

КонецЦикла;

КонецЕсли;

//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

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

Содержание модуля менеджера документа Приложение А. Текст программы «Акт о списании товаров»

Процедура Печать(ТабДок, Ссылка) Экспорт

//{ Сумма,

}

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

Содержание модуля объекта документа «Начисления сотрудникам»:

Процедура ОбработкаПроведения(Отказ, Режим)

//{ НачисленияСотрудникамНачисления.Ссылка = &ТекущийДокумент");

Запрос.УстановитьПараметр("ТекущийДокумент",Ссылка);

ТаблЗнач = Запрос.Выполнить().Выгрузить();

МассивСотрудников = ТаблЗнач.ВыгрузитьКолонку("Сотрудник");

ПроведениеРасчетов.РассчитатьНачисления(Движения.Начисления,ПланыВидовРасчета.ОсновныеНачисления.Оклад, МассивСотрудников);

Движения.Начисления.Записать( , Правда);

ПроведениеРасчетов.РассчитатьНачисления(Движения.Начисления Приложение А. Текст программы, ПланыВидовРасчета.ОсновныеНачисления.Премия, МассивСотрудников);

Движения.Начисления.Записать( , Правда);

//}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Содержание запроса в отчете «Материалы»:

Избрать

ОстаткиМатериаловОстаткиИОбороты.Материал,

ОстаткиМатериаловОстаткиИОбороты.КоличествоНачальныйОстаток,

ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход,

ОстаткиМатериаловОстаткиИОбороты.КоличествоРасход,

ОстаткиМатериаловОстаткиИОбороты.КоличествоКонечныйОстаток

ИЗ

РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты КАК ОстаткиМатериаловОстаткиИОбороты

Содержание запроса в отчете «Реестр документов оказание услуги»:

Избрать

Продажа.Ссылка КАК Документ,

Продажа.Склад,

Продажа.Кассир

ИЗ

Документ.Продажа КАК Продажа

УПОРЯДОЧИТЬ Приложение А. Текст программы ПО

Документ

Содержание запроса в отчете «Выручка»:

Избрать

ПродажиОбороты.Период,

ПродажиОбороты.Кассир,

ПродажиОбороты.ВыручкаОборот КАК Выручка

ИЗ

РегистрНакопления.Реализации.Обороты(, , Денек, ) КАК ПродажиОбороты

Содержание запроса в отчете «Универсальный»:


prilozhenie-kratkij-delovoj-slovar-menedzhera-konspekt-lekcij-lektor-d-t-n-professor-a-i-rakov-sevastopol-2008.html
prilozhenie-l-rekomendacii-po-obsheniyu-so-smi-organizaciya-obedinennih-nacij-upravlenie-po-koordinacii-gumanitarnih.html
prilozhenie-lgoti-ot-50-mln-rub-informacionnij-byulleten-obzor-nalogovih-sobitij-za-20-maya-01-iyunya-2013-goda.html