Не выходит в ноль регистр..

1. Metabos 29 24.10.15 11:52 Сейчас в теме
Всем привет! Решаю задачу по подготовке к специалисту. Компания занимается оптовой торговлей. Закупка товара происходит только в отдел закупок, продажа в торговых точках. Перемещение товара происходит по трансфертной цене и также отражается документом «Расходная накладная», при этом цена продажи не указывается. Товар может перемещаться только из отдела закупок в торговую точку. Трансфертная цена определяется как себестоимость перемещаемого товара, увеличенная на процент наценки, задаваемый для каждой торговой точки. При продаже товара необходимо в первую очередь контролировать хватает ли товара в данной торговой точке. Если нет – необходимо программно создать документ по перемещению недостающего товара из отдела закупок. В том случае, когда и в отделе закупок товара не хватает, документ для перемещения не создается, а продажа не производится (документ не проводится). Себестоимость товаров рассчитывается как средняя по отделу. Нужен отчет по движениям товара по количеству и сумме.
У меня один регистр. ОстаткиНоменклатуры. Изм. - Номенклатура, Отдел. Рес. Количество, Стоимость. Я не совсем поняла что мы пишем в стоимость при продаже. Себестоимость по отделу или стоимость по которой продали? Я везде писала среднюю себестоимость. И теперь из-за этих наценок у меня регистр не выходит в ноль.. Подскажите, в чем моя ошибка?
Базу на всякий случай прикрепляю.
Прикрепленные файлы:
1Cv8.dt
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vadim1011985 101 24.10.15 12:29 Сейчас в теме
(1) AlenkaInt, логично что при продаже в регистр пишется себестоимость по отделу. что бы не было остатков суммы при списании обычно проверяется списываем ли мы весь остаток , если да, то и сумма списывается полностью

Себестоимость = СуммаОстаток/КоличествоОстаткок * КоличествоСписания

?(количествоОстаток - КоличествоСписания=0 ,СуммаОстаток,Себестоимость)
5. Metabos 29 24.10.15 17:19 Сейчас в теме
(2) vadim1011985, да, я знаю, но это по-моему при проблеме копеек так делают. А у меня разница в рубли..
3. 32ops 192 24.10.15 12:49 Сейчас в теме
(1) При перемещении из отдела закупа тоже списывается себестоимость не нужно ее на наценку умножать. Умножать на наценку надо для определения трансферной цены. А Трансфертная цена - тут, наверное, аналог продажной стоимости.
6. Metabos 29 24.10.15 17:29 Сейчас в теме
(3) 32ops, при каком именно перемещении не нужна надбавка? Просто при перемещении или при автоматически формируемом перемещении когда товара не хватает? А почему вы так думаете? В задании же сказано, что "Перемещение товара происходит по трансфертной цене".
9. 32ops 192 24.10.15 18:39 Сейчас в теме
(6) Честно говоря не открывал обработку. Про надбавку - при вычислении любой себестоимости она не нужна, иначе регистр сводиться не будет. При любом перемещении. В задании сказано не про списываемую себестоимость, про продажную цену. Т.е перемещение как-бы заменяет продажу из отдела источника по цене себестоимость*Процент наценки и покупку в приемник по той же цене. Дак вот при перемещении себестоимость с источника списывается без наценки, а в приемник попадает с наценкой. Все регистры сводятся в ноль. Я так это вижу.
4. vadim1011985 101 24.10.15 13:58 Сейчас в теме
(1) AlenkaInt,

У вас в расходной накладной при перемещении сумма не правильно считается .

Я отменил все документы приходы и расходы. провел один приход кол. 10 цена 20 руб стоимость 200 руб. в регистр. остатках все показал правильно

Провожу первый документ расходная накладная с типом перемещений перемещаю 5 шт . (цена и сумма роли не играют)

движение документа
Расход кол. 5 шт. Сумма 5 руб.
Приход кол. 5 шт. Сумма 5 руб.

Откуда такие данные ? Явная ошибка в коде

Я бы переделал так

ОсталосьСписать = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
			//Пока ВыборкаДетальныеЗаписи.Следующий() И ОсталосьСписать > 0 Цикл
			Пока ОсталосьСписать > 0 Цикл
				Списываем = Мин(ОсталосьСписать, ВыборкаДетальныеЗаписи.КоличествоОтделЗакупок);
				Наценка = ВыборкаДетальныеЗаписи.Наценка;
				
				Движение = Движения.ОстаткиНоменклатуры.Добавить();
				Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
				Движение.Период = Дата;
				Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
				//Движение.Отдел = Отдел;
				Движение.Отдел = Справочники.Подразделения.ОтделЗакупок;
				Движение.Количество = Списываем;
                                Себестоимость  = ВыборкаДетальныеЗаписи.СтоимостьОстаток/(ВыборкаДетальныеЗаписи.КоличествоОтделЗакупок; 
				Движение.Стоимость = ?(ВыборкаДетальныеЗаписи.КоличествоОтделЗакупок-Списываем=0 ,ВыборкаДетальныеЗаписи.СтоимостьОстаток,Себестоимость*Списываем); // Списываем себестоимость именно по //отделу закупок				
		
				Движение = Движения.ОстаткиНоменклатуры.Добавить();
				Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
				Движение.Период = Дата;
				Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
				//Движение.Отдел = Справочники.Подразделения.ОтделПродаж;
				Движение.Отдел = Отдел;
				Движение.Количество = Списываем;
				//Себестоимость = ВыборкаДетальныеЗаписи.СтоимостьОстаток/ВыборкаДетальныеЗаписи.КоличествоОтделЗакупок;
				ТранзитнаяЦена  = (Себестоимость+ (Себестоимость*Наценка*0.01))*Списываем;  
				Движение.Стоимость = Списываем*Себестоимость+ТранзитнаяЦена;
				ОсталосьСписать = ОсталосьСписать - Списываем;
			КонецЦикла;
		КонецЕсли;
Показать

По крайней мере в данном случае , движения в регистре остатков получаются правильные . а дальше нужно смотреть
7. Metabos 29 24.10.15 17:34 Сейчас в теме
(4) vadim1011985, у меня надбавка 0.05 при перемщении. И получилось что 10 шт. - 100р*0.05 = 5р.
8. Metabos 29 24.10.15 18:27 Сейчас в теме
И еще момент. Смотрю еще что себестоимость рассчитывается по отделу. А если идет перемещение в ТТ где еще ничего нет, то какая будет себестоимость?
10. vadim1011985 101 24.10.15 18:45 Сейчас в теме
перемещение товара по трансферной цене , как я понимаю условия задачи в торговую точку товар приходит с наценкой например
Вы купили 10 шт по 20 руб общая стоимость 200 руб.
Далее Вы перемещаете в торговую точку 5 шт.
Из отдела закупок товар уходит по себестоимости 100 руб. (Движение расход) , а в торговую точку товар приходит по стоимости 105 руб ( себестоимость товара увеличена на процент наценки)
т.е. 200/ 10 = 20 (себестоимость одной единицы).
20 * 5% = 1 (процент надбавки от себестоимости за ед) за 5 шт соответственно 5 руб .
В итоге в отдел продаж приходи сумма 100 руб + 5 руб

При продаже 3 шт себестоимость в торговой точке рассчитается как 105/5 *3 = 63

Но это сугубо мои размышления
11. Metabos 29 24.10.15 21:43 Сейчас в теме
Да, я тоже к такому мнению пришла. Осталось проверить что будет с регистром.
12. Metabos 29 24.10.15 22:05 Сейчас в теме
У меня все равно в ноль не выводится..
Вот например есть в закупках товара 55 шт. по стоимости 5175. Перемещаем в ТТ 20 штук. В ТТ 20 шт. товара по стоимости 1975.9 (20*94,09 плюс 5%). В закупках остается 35 шт. по стоимости 3293.2. Потом продаем 25 шт. с ТТ. Получается с ТТ продать только 20 шт. по стоимости 1916.03 (55 шт. - 1975.9+3293.2). И вот уже получается не ноль в регистре.. А как в таком случае делать? Нельзя же себестоимость в ТТ считать только по этому отделу. Может тогда если списываем все количество, то списывать и всю стоимость?
13. spacecraft 24.10.15 22:13 Сейчас в теме
(12) AlenkaInt,
Может тогда если списываем все количество, то списывать и всю стоимость?

Не можно, а нужно. Это одно из основных условий проверки на специалиста. Причем 1С требует проверять/списывать по определенному алгоритму.
14. vadim1011985 101 24.10.15 22:19 Сейчас в теме
(12) AlenkaInt, Не правильно считаешь, по условию задачи если в тт нет необходимого количества , должно сначала сделаться перемещение ( если есть необходимое количество в отделе закупок) а потом уже рассчитать себестоимость по продаже
товара.

В условии сказано , что себестоимость считается как средняя по отделу. Я понимаю что на торговую точку это условие тоже распространяется , поэтому и рассчитываю себестоимость продажи именно по ТТ а не по отделу закупок
15. Metabos 29 24.10.15 22:30 Сейчас в теме
Я так тоже делала. Сначало перемещение. 5 шт. ушло с отдела закупок по стоимости 479, а в отдел ТТ пришло 5 шт. по стоимости 503р. А потом делаю реализацию 25 штук с ТТ. И списывает 25 штук по стоимости 2405.93. И получается приход на ТТ склад - 25 шт. - 2 478,87, а расход 25 шт. - 2405.93. И висит 0 шт. по стоимости 72,94.
16. vadim1011985 101 24.10.15 22:51 Сейчас в теме
(15) AlenkaInt,
Как считаю я -
Приход 55 шт по 5175 руб
Перемещение 20 шт
Расход отдел закупок 1881.80 остаток 35 шт 3293.20 руб
Приход ТТ 20 шт 1975.80

Продажа 25 шт с ТТ

Так как количества не хватает делаем доп. Перемещение
Перемещение 5 шт
Расход отдел закупок- 5 шт 470.45 остаток 30 шт 2822.75 руб
Приход ТТ 5 шт 493.95 остаток 25 шт 2469.75
Продажа
Расход 2469.75/25 *25=2469.75 итого регистр закрывается в 0
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот