Обработка проведения (создание проводок) Код 1C v 7.x Процедура ОбработкаПроведения()
Пока ПолучитьСтроку() = 1 Цикл
Операция.НоваяПроводка();
Операция.Кредит.Счет = СчетПоКоду("60.1");
Операция.Дебет.Счет = СчетПоКоду("08.4");
Операция.СодержаниеПроводки = "Поступление ОС";
Операция.Сумма = Сумма;
Операция.НомерЖурнала="OC";
КонецЦикла;
Операция.Записать();
КонецПроцедуры
Категория:
Операция Реализация алгоритмов «FIFO» и «LIFO» Для реализации алгоритмов «FIFO» и «LIFO» (FIFO (первый пришел – первый ушел), LIFO (последний пришел – первый ушел)) необходимо добавить на счет учета ТМЦ субконто «Партии». Тогда определяется текущая стоимость товара и текущий остаток первой (последней) партии товара. Их отношение дает нам цену партии товара. Если остаток по партии товара меньше, чем реализуется, тогда выбираем следующую партию товаров и так далее.
Код 1C v 7.x БИ=СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто("ЦенныеБумаги",ЦБ,2);
БИ.ИспользоватьСубконто("ПартииЦБ");
БИ.ВыполнитьЗапрос(,ТекущийДокумент(),"58.6");
Если Константа.МетодОпределенияСебестоимости = Перечисление.МетодыОпределенияСебестоимости.ФИФО Тогда
БИ.ВыбратьСубконто(2,,,,,,0);
Иначе
БИ.ВыбратьСубконто(2,,,,,,1);
КонецЕсли;
Кол=Количество;
Пока БИ.ПолучитьСубконто(2)=1 Цикл
Сум=БИ.СКД(1);
Ост=БИ.СКД(3);
Если Ост<=Кол Тогда
// списываем весь остаток по партии
СумСпис=Сум;
КолСпис=Ост;
ИначеЕсли Ост>Кол Тогда
// списываем требуемое количество
ЦенаСпис=Сум/Ост;
КолСпис=Кол;
СумСпис=Окр(КолСпис*ЦенаСпис,2);
Иначе
Продолжить;
КонецЕсли;
Операция.НоваяПроводка();
Операция.Дебет.Счет=Сч91_2;
Операция.Кредит.Счет=Сч58_6;
Операция.Кредит.ЦенныеБумаги=ЦБ;
Операция.Кредит.ПартииЦБ=БИ.Субконто(2);
Операция.Сумма=СумСпис;
Операция.Количество=КолСпис;
Кол=Кол-КолСпис;
Если Кол=0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Если Кол>0 Тогда
Сообщить("Остаток меньше нуля");
НеПроводитьДокумент();
КонецЕсли;
Категория:
Полезные, Универсальные Функции Реализация алгоритма «По среднему» Алгоритм
«по среднему» реализуется наиболее просто: определяется текущая стоимость товара и текущий остаток. Их отношение дает нам среднюю цену. Перемножая среднюю цену на реализуемое количество, получаем себестоимость.
Код 1C v 7.x
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто("ЦенныеБумаги",ЦБ,2);
БИ.ВыполнитьЗапрос(,ТекущийДокумент(),"58.6");
Сум=БИ.СКД(1);
Ост=БИ.СКД(3);
Если Ост=Количество Тогда
СумСпис=Сум;
ИначеЕсли Ост>Количество Тогда
ЦенаСпис=Сум/Ост;
СумСпис=Окр(Количество*ЦенаСпис,2);
Иначе
Сообщить("Остаток меньше нуля");
НеПроводитьДокумент();
КонецЕсли;
Операция.НоваяПроводка();
Операция.Дебет.Счет=Сч91_2;
Операция.Кредит.Счет=Сч58_6;
Операция.ЦенныеБумаги=ЦБ;
Операция.Сумма=СумСпис;
Операция.Количество=Количество;
Категория:
Полезные, Универсальные Функции