Процесс учета складских и торговых операций на торгово-розничном предприятии ООО "Техно Сервис"
Динамика выпуска и реализации продукции. Оценка капитала, вложенного в имущество. Оценка доходности продаж продукции и услуг. Финансовая устойчивость предприятия, показатели платежеспособности и ликвидности. Анализ ритмичности работы ООО "Техно Сервис".
Рубрика | Экономика и экономическая теория |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.10.2012 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
6. Герасименко В.В. "Ценовая политика фирмы" - М. Финстантинформ 1995.
7. Долженков В., Мозговой М. Visual Basic.NET: учебный курс. - СПб: Питер, 2003.
8. Котлер Ф. "Основы маркетинга" М.: Прогресс, 1990.
9. Николаев В.И., Петров А.А. “Эффективность систем: методы оценивания”. - СПб.: СЗПИ, 1993 г.
10. Пунин Е.И. "Маркетинг, менеджмент и ценообразование на предприятиях." М.: Международные отношения. 1993 - 112 с.
11. Хлусов В.П. "Основы маркетинга". - М., 1997 г.
12. Ценообразование. Под ред. проф. И.К. Салимжанова. Учебное пособие. Москва. Финстантинформ 1996.
13. Чубаков Г.Н. "Стратегия ценообразования в маркетинговой политики предприятия", М. Инерра - М.
14. Экономическое обоснование дипломных проектов. Методические указания. - СПб.: СЗПИ -1993 г.
Приложение
Программный код.
Справочник.Контрагенты.
Процедура ПриНачалеВыбораЗначения(ИдентификаторЭлемента, ФлагСтандартнойОбработки)
Если ИдентификаторЭлемента = "ОсновнойДоговор" Тогда
Если ТекущийЭлемент().Выбран() = 0 Тогда
Если Вопрос("Перед выбором основного договора
|необходимо записать элемент! Записать?", "Да+Нет") = "Нет" Тогда
Возврат;
Иначе
Записать();
КонецЕсли;
КонецЕсли;
ОсновнойДоговор.ИспользоватьВладельца(ТекущийЭлемент());
КонецЕсли;
КонецПроцедуры
Справочник.Номенклатура
//____________________________________________________________
Процедура УправлениеДиалогом()
НомЗакладки = Форма.Закладки.ТекущаяСтрока();
ИспСлои = Форма.Закладки.ПолучитьЗначение(НомЗакладки);
Форма.ИспользоватьСлой(ИспСлои, 2);
КонецПроцедуры // УправлениеДиалогом()
//____________________________________________________________
Процедура РасчетРозничнойЦены()
РозничнаяЦена=ОптоваяЦена*(1+(Константа.ПроцентНаценки.Получить(ТекущаяДата())/100));
//Константа.ПроцентНаценки у нас в %
КонецПроцедуры //РасчетРозничнойЦены()
//___________________________________________________________
Процедура ВыборДаты()
глВвестиДатуПериодическихРеквизитов(Контекст, 1);
КонецПроцедуры //ВыборДаты()
//___________________________________________________________
// Предопределенная процедура
//
Процедура ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки)
УправлениеДиалогом();
КонецПроцедуры // ПриВыбореЗакладки()
//____________________________________________________________
//____________________________________________________________
Процедура ПриОткрытии()
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Общий,Основной, Материапл", "Основные");
Форма.Закладки.ДобавитьЗначение("Общий, Дополнительный", "Дополнительные");
Форма.ИспользоватьСлой("Общий,Основной",2);
КонецПроцедуры //ПриОткрытии
//____________________________________________________________
Процедура ВводНового()
Форма.ИспользоватьСлой("Основной",2);
КонецПроцедуры //ПриОткрытии
//____________________________________________________________
Форма ДляПодбора
Функция Остаток()
ТекТовар=ТекущийЭлемент();
// Получаем текущий товар в строке
КолТов=Регистр.ОстаткиТоваров.СводныйОстаток(Склад,ТекущийЭлемент(),,"Количество");
// Получаем суммарный остаток по ресурсу "Количество"
// по измерениям "Склад" и "Товар", по остальным измерениям суммируем
Если КолТов<=0 Тогда
Возврат("");
// если товара на складе нет в поле Ост вернем пустую строку
Иначе
Возврат(КолТов);
// иначе вернем количество остатка
КонецЕсли;
КонецФункции
ПриходнаяНакладная. Модуль формы
//__________________________________________________________
Функция ИтоговаяСтрока()
ИтСтр = "Итого получено на сумму: " + СокрЛ(Формат(Итог("Всего"),"Ч20.2-,")) + ", "+
"в т.ч. НДС: " + СокрЛ(Формат(Итог("НДС"),"Ч20.2-,"));
Возврат ИтСтр;
КонецФункции // ИтоговаяСтрока()
//____________________________________________________________
Процедура ВводНового()
Налог = Константа.ОсновнаяСтавкаНДС.Получить(ДатаДок);
КонецПроцедуры //ВоодНового
//____________________________________________________________
Процедура Пересчет(ИмяРеквизита)
Если (ИмяРеквизита = "Количество") или (ИмяРеквизита = "Цена") Тогда
СтавкаНДС = Налог;
Сумма = Количество * Цена;
Если НДССверху = 1 Тогда
НДС = Количество * Цена * СтавкаНДС.Ставка / 100;
Всего = Сумма + НДС;
Иначе
НДС = Количество * Цена * СтавкаНДС.Ставка / (100 + СтавкаНДС.Ставка);
Всего = Сумма;
КонецЕсли;
ИначеЕсли ИмяРеквизита = "Сумма" Тогда
Цена = ?(Количество = 0, Сумма, Сумма/Количество);
ИначеЕсли ИмяРеквизита = "НДС" Тогда
Если НДССверху = 1 Тогда
Всего = Сумма + НДС;
Иначе
Всего = Сумма;
КонецЕсли;
КонецЕсли;
КонецПроцедуры //Пересчет
//_________________________________________________________
//Вызывается при изменение метода расчета НДС - В сумме или сверху
Процедура ПересчетТаблЧасти()
Если КоличествоСтрок() > 0 Тогда
Если Вопрос("Пересчитать суммы табличной части?", "Да+Нет") = "Да" Тогда
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Пересчет("Количество");
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры //ПересчетТаблЧасти
//____________________________________________________________
Процедура ЗаполнитьЦеныНаДату()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Цена = Номенклатура.ОптоваяЦена.Получить(ДатаДок);
Пересчет("Цена");
КонецЦикла;
КонецПроцедуры //ЗаполнитьЦеныНаДату()
//____________________________________________________________
Процедура Печать()
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица ");
Таб.ВывестиСекцию("Шапка");
НПП = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
НПП = НПП + 1;
Таб.ВывестиСекцию("Строка");
КонецЦикла;
ИтСумма = Итог("Сумма");
ИтНДС = Итог("НДС");
ИтВсего = Итог("Всего");
ИтогПр=Формат(Итог("Сумма"),"ЧПДС");
// В переменную ИтогПр мы выведем сумму прописью
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.ПараметрыСтраницы(1,100,1);
Таб.Показать("");
КонецПроцедуры
//__________________________________________________________
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
КонецПроцедуры
ПриходнаяНакладная. Модуль документа
Процедура ОбработкаПроведения()
Если Поставщик.Выбран() = 0 Тогда
Предупреждение("Контрагент не выбран");
НеПроводитьДокумент();
КонецЕсли;
Если Договор.Выбран()=0 Тогда
Предупреждение("Договор не выбран");
НеПроводитьДокумент();
КонецЕсли;
Если Вопрос("Изменить оптотвые цены в справочнике ""Номенклатура""?","Да+Нет") = "Да" Тогда
ИзмЦены = 1;
КонецЕсли;
// Долг за поставленный нам товар возрос
Регистр.Взаиморасчеты.Контрагент = Поставщик;
Регистр.Взаиморасчеты.Договор = Договор;
Регистр.Взаиморасчеты.Сумма = Итог("Всего");
Регистр.Взаиморасчеты.ФлагДвижения = 1;
Регистр.Взаиморасчеты.ДвижениеПриходВыполнить();
// по каждой строке
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если ИзмЦены = 1 Тогда
ЦенаСНДС = Всего/Количество;
УстановитьРеквизитСправочника(Номенклатура,"ОптоваяЦена",ЦенаСНДС,ДатаДок);
КонецЕсли;
// Увеличиваем количество товара на складе
Регистр.ОстаткиТоваров.Склад = Склад;
Регистр.ОстаткиТоваров.Товар = Номенклатура;
Регистр.ОстаткиТоваров.Партия = ТекущийДокумент();
Регистр.ОстаткиТоваров.Количество = Количество;
Регистр.ОстаткиТоваров.СуммаПоступления = Всего;
Регистр.ОстаткиТоваров.СуммаДокумент = Всего;
Регистр.ОстаткиТоваров.ФлагДвижения = 1;
Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
// Указав команду ПривязыватьСтроку() мы к каждой записи по движению
// регистра укажем - какая конкретно строка документа произвела это движение
Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить();
// Добавляем запись о росте товарооборота
Регистр.ОборотыТоваров.Склад = Склад;
Регистр.ОборотыТоваров.Товар = Номенклатура;
Регистр.ОборотыТоваров.Количество = Количество;
Регистр.ОборотыТоваров.СуммаУчета = Всего;
Регистр.ОборотыТоваров.ФлагДвижения = 1;
Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОборотыТоваров.ДвижениеВыполнить();
КонецЦикла;
КонецПроцедуры
РеализацияТМЦ. Модуль формы
//___________________________________________________________
Функция ИтоговаяСтрока()
ИтСтр = "Итого получено на сумму: " + СокрЛ(Формат(Итог("Всего"),"Ч20.2-,")) + ", "+
"в т.ч. НДС: " + СокрЛ(Формат(Итог("НДС"),"Ч20.2-,"));
Возврат ИтСтр;
КонецФункции // ИтоговаяСтрока()
//____________________________________________________________
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
КонецПроцедуры //ПриОткрытии
//___________________________________________________________
Процедура ВводНового()
Налог = Константа.ОсновнаяСтавкаНДС.Получить(ДатаДок);
КонецПроцедуры //ВводНового
//__________________________________________________________
Процедура Пересчет(ИмяРеквизита)
Если (ИмяРеквизита = "Количество") или (ИмяРеквизита = "Цена") Тогда
СтавкаНДС = Налог;
Сумма = Количество * Цена;
Если НДССверху = 1 Тогда
НДС = Количество * Цена * СтавкаНДС.Ставка / 100;
Всего = Сумма + НДС;
Иначе
НДС = Количество * Цена * СтавкаНДС.Ставка / (100 + СтавкаНДС.Ставка);
Всего = Сумма;
КонецЕсли;
ИначеЕсли ИмяРеквизита = "Сумма" Тогда
Цена = ?(Количество = 0, Сумма, Сумма/Количество);
ИначеЕсли ИмяРеквизита = "НДС" Тогда
Если НДССверху = 1 Тогда
Всего = Сумма + НДС;
Иначе
Всего = Сумма;
КонецЕсли;
КонецЕсли;
КонецПроцедуры //Пересчет
//____________________________________________________________
//Вызывается при изменение метода расчета НДС - В сумме или сверху
Процедура ПересчетТаблЧасти()
Если КоличествоСтрок() > 0 Тогда
Если Вопрос("Пересчитать суммы табличной части?", "Да+Нет") = "Да" Тогда
Пересчет("Количество");
КонецЕсли;
КонецЕсли;
КонецПроцедуры //ПересчетТаблЧасти
//____________________________________________________________
Процедура ЗаполнитьЦеныНаДату()
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Цена = Номенклатура.РозничнаяЦена.Получить(ДатаДок);
Пересчет("Цена");
КонецЦикла;
КонецПроцедуры //ЗаполнитьЦеныНаДату()
//____________________________________________________________
Процедура Подбор()
// Эта процедура запускается по нажатию кнопки [Подбор]
ОткрытьПодбор("Номенклатура","ДляПодбора");
// Инициализируем механизм подбора и указываем, что подбирать мы
// будем из справочника Номенклатура, используя форму списка "ДляПодбора"
УстановитьЗначениеВПодборе("Склад",Склады);
// В форму подбора в поле "Склад" передаем значение склада из
// текущего документа
КонецПроцедуры
//-----------------------------------------------
Процедура ОбработкаПодбора(ВыбТов)
// Предопределенная процедура, срабатывающая по событию - выбор
// элемента ВыбТов из справочника
КолОст=Регистр.ОстаткиТоваров.СводныйОстаток(Склады,ВыбТов,,"Количество");
// Проверим остаток
Если КолОст<=0 Тогда
Возврат;
// если остаток на складе отсутствует, завершаем процедуру
КонецЕсли;
ТабЗн1=СоздатьОбъект("ТаблицаЗначений");
// временная динамическая таблица
РегО=СоздатьОбъект("Регистр.ОстаткиТоваров");
РегО.УстановитьФильтр(Склады,ВыбТов);
// в копии регистра остатков нас будут интересовать
// итоги по конкретному складу и конкретному товару
РегО.ВыгрузитьИтоги(ТабЗн1,1,1);
// перегрузим итоги в д. таблицу
РегО="";
ТабЗн1.ВыбратьСтроки();
Пока ТабЗн1.ПолучитьСтроку()=1 Цикл
Остаток = ТабЗн1.Количество;
КонецЦикла;
НоваяСтрока();
// создаем в документе новую строку
Номенклатура = ВыбТов;
// заполняем поле "Товар"
ВыбСтрока = 1;
КолОст = ТабЗн1.ПолучитьЗначение(ВыбСтрока,"Количество");
КолВыб=0;
Если ВвестиЧисло(КолВыб,"Количесво "+ СокрЛП(ВыбТов.Наименование),8,2,0)=1 Тогда
//Введем нужное нам количество
Если КолВыб>КолОст Тогда
// сравним введенное нами количество с остатком
КолВыб=КолОст;
КонецЕсли;
Количество=КолВыб;
ЕдИз = Номенклатура.ЕдИзмерения;
Цена = Номенклатура.РозничнаяЦена.Получить(ДатаДок);
Пересчет("Количество");
КонецЕсли;
АктивизироватьСтроку();
// установим курсор в документе на строку, которую мы ввели
КонецПроцедуры
//____________________________________________________________
РеализацияТМЦ. Модуль документа.
Процедура ОбработкаПроведения()
РегОст=СоздатьОбъект("Регистр.ОстаткиТоваров");
Если СравнитьТА()=-1 Тогда
// Проверяем, не проводится ли документ ранее точки актуальности итогов
РегОст.ВременныйРасчет(1);
РассчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;
// Проверка на наличие на остатке
ВыбратьСтроки();
ФлагОтказа=0;
Пока (ПолучитьСтроку()>0) Цикл
Остат=РегОст.СводныйОстаток(Склады,Номенклатура,,"Количество");
Если Остат<Количество Тогда
Сообщить("На складе "+ Склады +" нет товара "+СокрЛП(Номенклатура.Наименование)+" в колич. "
+Количество+" (имеется "+Остат+")");
ФлагОтказа=1;
КонецЕсли;
КонецЦикла;
Если ФлагОтказа=1 Тогда
НеПроводитьДокумент();
Возврат;
КонецЕсли;
Регистр.Взаиморасчеты.Контрагент = Покупатель;
Регистр.Взаиморасчеты.Договор = Договора;
Регистр.Взаиморасчеты.Сумма = Итог("Всего");
Регистр.Взаиморасчеты.ФлагДвижения = 2;
Регистр.Взаиморасчеты.ДвижениеРасходВыполнить();
Если Константа.МетодСписания.Получить(ДатаДок)=Перечисление.МетодСписания.FIFO Тогда
ТабЗн1=СоздатьОбъект("ТаблицаЗначений");
ТабЗн2=СоздатьОбъект("ТаблицаЗначений");
ТабЗн2.НоваяКолонка("Партия","Документ.ПриходнаяНакладная");
ТабЗн2.НоваяКолонка("КоличествоП","Число",14,2);
ТабЗн2.НоваяКолонка("СуммаП","Число",19,2);
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
КолВыб=Количество;
РегОст.УстановитьФильтр(Склады,Номенклатура);
РегОст.ВыгрузитьИтоги(ТабЗн1,1,1);
ТабЗн1.Свернуть("3","4,5");
// а здесь интересно: Структура ТабЗн1 после выгрузки будет аналогична
// структуре регистра. Реквизит "Партия" в регистре стоит на 3-ей
// позиции, значит и колонка "Партия" - 3-ая, Колонки "Количество"
// и "СуммаП" - соответственно 4-ая и 5-ая
ТабЗн1.ВыбратьСтроки();
Пока ТабЗн1.ПолучитьСтроку()=1 Цикл
Прт=ТабЗн1.Партия;
Ост=ТабЗн1.Количество;
Сум=ТабЗн1.СуммаПоступления;
Если Ост>0 Тогда // есть что проверять
ТабЗн2.НоваяСтрока();
ТабЗн2.Партия=Прт;
ТабЗн2.КоличествоП=Ост;
ТабЗн2.СуммаП=Сум;
КонецЕсли;
КонецЦикла;
// Заполняем промежуточную таблицу
ТабЗн1.Очистить();
// Удаляем все записи и колонки из ТабЗн1
ТабЗн2.Сортировать("1+",1);
// Сортируем по документам в порядке возрастания даты (FIFO)
// Более ранние партии вверху
ТабЗн2.ВыбратьСтроки();
Пока ТабЗн2.ПолучитьСтроку()=1 Цикл
Ост=ТабЗн2.КоличествоП;
Сум=ТабЗн2.СуммаП;
ЦенаПП=Окр(Сум/Ост,2,1);
// определяем цену текущей партии
Парт=ТабЗн2.Партия;
// а вот и сама партия
Если КолВыб>Ост Тогда // Ост
// требуемое количество больше, чем остатки в текущей партии,
// здесь спишем сколько есть, а что осталось, из более поздней
// партии
Регистр.ОстаткиТоваров.Склад = Склады;
Регистр.ОстаткиТоваров.Товар = Номенклатура;
Регистр.ОстаткиТоваров.Партия = Парт;
Регистр.ОстаткиТоваров.Количество = Ост;
Регистр.ОстаткиТоваров.СуммаПоступления = Окр(ЦенаПП*Ост,2,1);
Регистр.ОстаткиТоваров.СуммаДокумент = Окр(Цена*Ост,2,1);
Регистр.ОстаткиТоваров.ФлагДвижения = 1;
Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();
Регистр.ОборотыТоваров.Склад = Склады;
Регистр.ОборотыТоваров.Товар = Номенклатура;
Регистр.ОборотыТоваров.Количество = Ост;
Регистр.ОборотыТоваров.СуммаУчета = Окр(ЦенаПП*Ост,2,1);
Регистр.ОборотыТоваров.ФлагДвижения = 1;
Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОборотыТоваров.ДвижениеВыполнить();
КолВыб=КолВыб-Ост;
// это сколько остатков нам не хватает до полного счастья
Иначе
// В партии товара больше, чем мы запрашиваем.
// Списываем сколько запрашиваем
Если КолВыб>0 Тогда // КолВыб
Регистр.ОстаткиТоваров.Склад = Склады;
Регистр.ОстаткиТоваров.Товар = Номенклатура;
Регистр.ОстаткиТоваров.Партия = Парт;
Регистр.ОстаткиТоваров.Количество = КолВыб;
Регистр.ОстаткиТоваров.СуммаПоступления = Окр(ЦенаПП*КолВыб,2,1);
Регистр.ОстаткиТоваров.СуммаДокумент = Окр(Цена*КолВыб,2,1);
Регистр.ОстаткиТоваров.ФлагДвижения = 1;
Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();
Регистр.ОборотыТоваров.Склад = Склады;
Регистр.ОборотыТоваров.Товар = Номенклатура;
Регистр.ОборотыТоваров.Количество = КолВыб;
Регистр.ОборотыТоваров.СуммаУчета = Окр(ЦенаПП*КолВыб,2,1);
Регистр.ОборотыТоваров.ФлагДвижения = 1;
Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОборотыТоваров.ДвижениеВыполнить();
КолВыб=КолВыб-Ост;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТабЗн2.УдалитьСтроки();
// удаляем строки из временной таблицы.
// Готовим ее под следующую строку документа
КонецЦикла;
ИначеЕсли Константа.МетодСписания.Получить(ДатаДок)=Перечисление.МетодСписания.LIFO Тогда
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
КолСпис=Количество;
Запрос="";
ТекстЗапроса="";
Если ИтогиАктуальны()=0 Тогда
ТекстЗапроса="
|Период с ДатаДок по ДатаДок;";
КонецЕсли;
ТекстЗапроса=ТекстЗапроса+"
|РегСклад=Регистр.ОстаткиТоваров.Склад;
|РегТовар=Регистр.ОстаткиТоваров.Товар;
|РегПартия=Регистр.ОстаткиТоваров.Партия;
|РегКолич=Регистр.ОстаткиТоваров.Количество;
|РегСумма=Регистр.ОстаткиТоваров.СуммаПоступления;
|Группировка РегПартия Упорядочить по РегПартия.ДатаДок;
|Функция КолКонОст=КонОст(РегКолич);
|Функция СумКонОст=КонОст(РегСумма);
|Условие (РегСклад=Склады);
|Условие (РегТовар=Номенклатура);";
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Сообщить("Документ не проведен");
НеПроводитьДокумент();
Возврат;
КонецЕсли;
Пока Запрос.Группировка("РегПартия",-1)=1 Цикл
// В методе Группировка флаг -1 указывает, что сортировка по запросу
// идет в порядке убывания. Более поздние документы идут первыми
Если КолСпис=0 Тогда
Прервать;
КонецЕсли;
ПартияСписания=Запрос.РегПартия;
Если Запрос.КолКонОст>КолСпис Тогда
Списывать=КолСпис;
Стоимость=Окр((Запрос.СумКонОст/Запрос.КолКонОст)*Списывать,2,1);
ИначеЕсли Запрос.КолКонОст=КолСпис Тогда
Списывать=КолСпис;
Стоимость=Запрос.СумКонОст;
ИначеЕсли Запрос.КолКонОст<КолСпис Тогда
Списывать=Запрос.КолКонОст;
Стоимость=Запрос.СумКонОст;
КонецЕсли;
КолСпис=КолСпис-Списывать;
Регистр.ОстаткиТоваров.Склад = Склады;
Регистр.ОстаткиТоваров.Товар = Номенклатура;
Регистр.ОстаткиТоваров.Партия = ПартияСписания;
Регистр.ОстаткиТоваров.Количество = Списывать;
Регистр.ОстаткиТоваров.СуммаПоступления = Стоимость;
Регистр.ОстаткиТоваров.СуммаДокумент = Окр(Цена*Списывать,2,1);
Регистр.ОстаткиТоваров.ФлагДвижения = 1;
Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();
Регистр.ОборотыТоваров.Склад = Склады;
Регистр.ОборотыТоваров.Товар = Номенклатура;
Регистр.ОборотыТоваров.Количество = Списывать;
Регистр.ОборотыТоваров.СуммаУчета = Стоимость;
Регистр.ОборотыТоваров.ФлагДвижения = 1;
Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОборотыТоваров.ДвижениеВыполнить();
КонецЦикла;
КонецЦикла;
ИначеЕсли Константа.МетодСписания.Получить(ДатаДок)=Перечисление.МетодСписания.СредняяЦена Тогда
// Здесь будет записана методика списания по-среднему
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
КолОст=РегОст.СводныйОстаток(Склады,Номенклатура,,"Количество");
// Получаем суммарный остаток по указанным измерениям
// по данному ресурсу
СумОст=РегОст.СводныйОстаток(Склады,Номенклатура,,"СуммаПоступления");
ЦенОст=Окр(СумОст/КолОст,2,1);
Парт=ПолучитьПустоеЗначение("Документ.ПриходнаяНакладная");
// А это, что-бы заполнить хоть чем-нибудь измерение "Партия"
Регистр.ОстаткиТоваров.Склад = Склады;
Регистр.ОстаткиТоваров.Товар = Номенклатура;
Регистр.ОстаткиТоваров.Партия = Парт;
Регистр.ОстаткиТоваров.Количество = Количество;
Регистр.ОстаткиТоваров.СуммаПоступления = Окр(ЦенОст*Количество,2,1);
Регистр.ОстаткиТоваров.СуммаДокумент = Окр(Цена*Количество,2,1);
Регистр.ОстаткиТоваров.ФлагДвижения = 1;
Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОстаткиТоваров.ДвижениеРасходВыполнить();
Регистр.ОборотыТоваров.Склад = Склады;
Регистр.ОборотыТоваров.Товар = номенклатура;
Регистр.ОборотыТоваров.Количество = Количество;
Регистр.ОборотыТоваров.СуммаУчета = Окр(ЦенОст*Количество,2,1);
Регистр.ОборотыТоваров.ФлагДвижения = 1;
Регистр.ОборотыТоваров.ПривязыватьСтроку(НомерСтроки);
Регистр.ОборотыТоваров.ДвижениеВыполнить();
КонецЦикла;
КонецЕсли;
//{{ФОРМИРОВАНИЕ_ОПЕРАЦИИ
//Данный фрагмент построен конструктором.
//При повторном использовании конструктора, внесенные вручную изменения будут потеряны!!!
//ВыбратьСтроки();
//Пока ПолучитьСтроку() = 1 Цикл
// Операция.НоваяПроводка();
// Операция.Дебет.Счет = СчетПоКоду("90.2.1",ПланыСчетов.Основной);
// Операция.Дебет.Товары = Товары;
//
// Операция.Кредит.Счет = СчетПоКоду("41.1",ПланыСчетов.Основной);
// Операция.Кредит.Товары = Товары;
// Операция.Кредит.Склады = Склады;
//
// Операция.Количество = Количество;
// Операция.Сумма = Сумма;
//
// Операция.НоваяПроводка();
// Операция.Дебет.Счет = СчетПоКоду("62.1",ПланыСчетов.Основной);
// Операция.Дебет.Контрагент = Покупатель;
// Операция.Дебет.Договора = Договора;
//
// Операция.Кредит.Счет = СчетПоКоду("90.1.1",ПланыСчетов.Основной);
// Операция.Кредит.Товары = Товары;
//
// Операция.Сумма = Сумма;
//КонецЦикла;
//Операция.СуммаОперации = Итог("Сумма");
//Операция.Записать();
//}}ФОРМИРОВАНИЕ_ОПЕРАЦИИ
//Расчет отстатков с помощью таблицы значений
//СписокТоваров = СоздатьОбъект("СписокЗначений");
//ВыгрузитьТабличнуюЧасть(СписокТоваров, "Товар");
//БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
//БухИт.ИспользоватьСубконто(ВидыСубконто.Товары, СписокТоваров, 2);
//БухИт.ИспользоватьСубконто(ВидыСубконто.Склады);
//БухИт.ВключатьСубсчета(-1);
//БухИт.ВыполнитьЗапрос(,ТекущийДокумент(),"10",,,,,"СК");
//
//БИ_НУ = СоздатьОбъект("БухгалтерскиеИтоги");
//БИ_НУ.ИспользоватьСубконто(ВидыСубконто.Товары, СписокТоваров, 2);
//БИ_НУ.ВыполнитьЗапрос(,ТекущийДокумент(), "Н02.01",,,,, "СК");
//ТаблицаОстатков = СоздатьОбъект("ТаблицаЗначений");
//ВыгрузитьТабличнуюЧасть(ТаблицаОстатков, "Товар, Количество");
//ТаблицаОстатков.Свернуть("Товар", "Количество");
//ТаблицаОстатков.НоваяКолонка("КоличествоНаСкладах", "Число");
//ТаблицаОстатков.НоваяКолонка("СуммаНаСкладах", "Число");
//ТаблицаОстатков.НоваяКолонка("СредняяСтоимость", "Число");
//ТаблицаОстатков.НоваяКолонка("КоличествоНаСкладахНУ", "Число");
//ТаблицаОстатков.НоваяКолонка("СуммаНаСкладахНУ", "Число");
//ТаблицаОстатков.ВыбратьСтроки();
//Пока ТаблицаОстатков.ПолучитьСтроку() = 1 Цикл
// КоличествоНаСкладе = 0;
// Если ТаблицаОстатков.Товар.Вид() = "Товары" Тогда
// Если БухИт.ПолучитьСчет(, ТаблицаОстатков.Товар.СубСчет41) = 1 Тогда
// Если БухИт.ПолучитьСубконто(ВидыСубконто.Товары,, ТаблицаОстатков.Товар) = 1 Тогда
// ТаблицаОстатков.СуммаНаСкладах = Макс(БухИт.СКД("С"), 0);
// ТаблицаОстатков.КоличествоНаСкладах = БухИт.СКД("К");
// Если БухИт.ПолучитьСубконто(ВидыСубконто.Склады,, Склады) = 1 Тогда
// КоличествоНаСкладе = БухИт.СКД("К");
// КонецЕсли;
// КонецЕсли;
// КонецЕсли;
// КонецЕсли;
// КонецЦикла;
КонецПроцедуры
Размещено на Allbest.ru
Подобные документы
Имущественное положение, структура необоротных и оборотных активов предприятия. Анализ показателей финансовой устойчивости, платёжеспособности и ликвидности предприятия. Оценка доходности продаж продукции и услуг, рентабельности использования капитала.
курсовая работа [67,5 K], добавлен 06.12.2012Оценка уровня выполнения плана, динамики производства и реализации продукции. Анализ качества продукции и ритмичности работы предприятия. Определение внутрихозяйственных резервов роста выпуска продукции, обзор мероприятий по освоению выявленных резервов.
курсовая работа [1,9 M], добавлен 31.03.2012Анализ динамики и выполнения плана производства и реализации продукции. Показатели качества продукции. Расчет ритмичности работы предприятия. Анализ выполнения договорных обязательств и реализации продукции. Оценка имущественного и финансового состояния.
курсовая работа [106,9 K], добавлен 26.11.2011Диагностика имущественного положения предприятия. Оценка структуры капитала, вложенного в имущество. Анализ обеспеченности предприятия собственными оборотными средствами и эффективности их использования. Диагностика ликвидности и платежеспособности.
отчет по практике [94,8 K], добавлен 25.09.2014Основные направления анализа ассортимента продукции. Оценка ритмичности работы предприятия. Анализ качества произведенной продукции и потерь от брака. Методы исследования объема производства и реализации продукции на примере предприятия ООО "Мебель".
курсовая работа [97,1 K], добавлен 15.01.2015Анализ динамики реализации продукции. Задачи, основные направления и информационная база исследования. Оценка ритмичности работы предприятия, качества продукции и факторов изменения ее реализации. Ассортимент и структура товара предприятия "Наутилус".
курсовая работа [46,1 K], добавлен 24.04.2011Показатели финансового состояния предприятия. Анализ ликвидности и платежеспособности. Анализ доходности собственного капитала и финансового результата деятельности предприятия. Оценка качества состава оборотных средств. Показатели деловой активности.
курсовая работа [89,1 K], добавлен 08.06.2009История создания и структура группы компания "Авега", цели, задачи и виды их деятельности. Анализ и оценка основных технико-экономических показателей деятельности ООО "Атлант-Техно", особенности его государственного регулирования его функционирования.
отчет по практике [337,2 K], добавлен 08.10.2010Анализ объема и ассортимента продукции, оценка ее себестоимости. Состав и динамика балансовой прибыли. Доходы и расходы от внереализационных операций. Рентабельность основной деятельности, продаж и основного капитала. Рыночная устойчивость предприятия.
курсовая работа [68,8 K], добавлен 19.09.2012Оценка изменения выпуска продукции. Расчет влияния качества продукции на стоимостные показатели работы предприятия. Разработка мер по улучшению потребительских качеств экспортной продукции с целью повышения ее конкурентоспособности на внешних рынках.
курсовая работа [247,5 K], добавлен 09.03.2015