helpf.pro
Регистрация
 0 
Распечатать

Реализация алгоритмов «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 Тогда
Сообщить("Остаток меньше нуля");
НеПроводитьДокумент();
КонецЕсли;
Разместил:   Версии: | 7.x |  Дата:   Прочитано: 20018
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Взаимодействие с Контрольно-Кассовыми Машинами (ККМ) 1
Имеется ли возможность взаимодействия конфигурации Управление торговлей с контрольно-кассовыми машинами (ККМ)? Данная возможность реализована в конфигурации в трех вариантах: ККМ в режиме фискального регистратора, ККМ в режиме Offline, ККМ в
Восстановление партионного учета в УТ 1
Проблема следующая: при выполнении стандартной обработки " проведение по партиям" , непонятно почему, но граница актуальности партионного учета не сдвигается, хотя при перепроведении документов никаких ошибок не возникает. Оказывается: дата гр
Временный расчет регистров 0
Временный расчет регистров требуется, если нужно выбрать итоги или движения на определенную дату. По умолчанию итоги регистров выдаются на Точку актуальности. Формулировка 1С - Метод ВременныйРасчет устанавливает флаг участия регистра во временном р
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.