v7: Отчет по номенклатуре #372625


#0 by АленаРыжая
Бухучет стандартная конфа, заказчикам нужно настрить мин остаток товаров.Завожу новый реквизит в справочнике.ном, теперь нужно узнать остаток через бухитоги используя справочник а не субконто и сравнить с этим реквизитом если ост на складе меньше формируеться отчет Номенклатура ост.количество и они идут докупают.При этом в отчете они указывают на какое число остатки.А в модуле надо прописать чтоб он брал период это число и еще 30 дней назад.Пожалуйста покажите как это будет выглядет в модуле, сама мало пердставляю.
#1 by povar
) Аленушка, а вы кем работаете ?
#2 by big
Остатки они и в Африке остатки. А если брать период назад, то это уже не остатки :)) как-то вот так...
#3 by big
Ессно надо вот так КонДата=НаДату-30;
#4 by АленаРыжая
Спасибо помогло, но у меня немного подругому. Остатки надо брать за период а не наконец потому.Ну вот к примеру товар закончился только вчера (прошл.квартал, год) а отчет формируют седня.Этот товар он не покажет и они его не закупят. Это можно сделать что вроде БИ.ВыполнитьЗапрос(НаДату-30, НаДату, "41"); ну это в извращеном виде ????
#5 by АленаРыжая
А ну вот я так и подумала спасибо
#6 by АленаРыжая
НЕ заметила сразу .) А можно сделать выборку не по субконто а по справочнику? Мне говорили что это нужно реализовавать так
#7 by АленаРыжая
Для povara - работаю начинающим программистом...ну очень начинающим .(
#8 by Falcon
БИ.ВыполнитьЗапрос(НаДату-30, НаДату, "41") - почему в извращенном виде? как раз так и надо сделать.... не надо по справочнику надо по субконто
#9 by birkoFFFF
Как то вот так ... Сорри за форматирование и возможны опечатки, тороплюсь на обед...
#10 by birkoFFFF
(+9) ну и условие добавить если на остатках нет, а минимальный должен быть...
#11 by povar
а фотку ?
#12 by birkoFFFF
Почему не надо ? а если за месяц оборотов и остатков не было, а минимальный остаток должен быть ? У нас аварийный запас так формируется, так что вы тут не правы...
#13 by big
Остатков не будет, но будут обороты. Т.е. помимо СКД("К") и СНД("К") есть ДО("К") и КО("К") (приход и расход соответственно). Анализируйте остатки совместно с движениями. з.ы. субконто = справочник. не надо пугаться этого слова :))
#14 by Falcon
не зря указано что за 30 дней... по твоему алгоритму в отчет попадёт ВСЕ что даже 5 лет не продавалась..... и накой это надо?
#15 by birkoFFFF
Если столько лет не продается, то пускай минимальный остаток обнуляют... Здесь все от ситуации зависит, если это розничная торговля и несколько десятков тысяч наименование номенклатуры, тут 1 дело... Здесь без вариантов только по субконто. Другое дело проработанный манагерами например размер минимальных остатков на складе, который частенько меняется в зависимости от спроса например. У нас допустим не торговля, но есть аварийный запас ТМЦ для экстренных ремонтов электрических сетей. А несколько десятков километров кабеля, опоры, стойки железобетонные могут под заказ больше месяца идти, и оборотов не будет... Вот  в такой ситуации нужно по справочнику. А ситуацию у девушки мы до конца не знаем, так что если просит по справочнику, то почему-бы ей не показать как это по справочнику сделать...
#16 by АленаРыжая
знала бы не стала бс прашивать, ну ладно. Впринцыпе варианты выше подходят (спасибо ребят), вот только теперь выводит ошибку Если ОстатокКонец>ТекСубк.МинОстаток Тогда {H:НОМ_ОТЧЕТ.ERT}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
#17 by АленаРыжая
Реквизи МинОстаток = ТипЗначения.Число
#18 by АленаРыжая
И насколько понимают если стоят нули в остатке, он выведет только те коытре стали нулевыми в периоде 30 дней, а ренее нет.
#19 by birkoFFFF
OFF Вот уж не в первый раз вижу  такие конструкции : Объясните мне люди добрые неучу, нафига здесь Если выборка по 1 счету ... Да если и по нескольким, сумма-то нужна сводная по всем...
#20 by birkoFFFF
а почему БИ.ИспользоватьСубконто; , а не БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура);  ?
#21 by birkoFFFF
В этом случае в выборку попадают товары по которым были движения или остатки за период с дата1 по дата2 Если остатки нулевые и движений не было, то не попадут. Чтобы попадали все вариант описала выше.
#22 by big
(19,20) замечу, что в не была озвучена программа действий или какое-либо окончательное решение. Это был толчок в нужном направлении. Если хочешь обсуждать конкретное, то стучись в аську.
#23 by АленаРыжая
(19,20,21) Понятно .Но вы мне обьясните почему ошибка выходит, знаю что не правильно сделано, но что Если ОстатокКонец>ТекСубк.МинОстаток Тогда {H:НОМ_ОТЧЕТ.ERT}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
#24 by birkoFFFF
ну так все равно в данном конкретном случае где выборка только по 41 счету, зачем ВыбратьСчета и т.д. Я просто  уже 2-ой раз за 2 дня такое встречаю... Вот например... Вот и думаю, может это я туплю... и 5 лет с 1с насмарку...
#25 by Irbis
И вообще для оценки минимальных запасов стоит задуматься на понятием оборачиваемости этих самых запасов. А изменение остатков номенклатуры в любом периоде (месяц, квартал, год) - это лишь база для получения этого показателя. Причем чем больше период и меньше интервал усреднения на периоде, тем точнее значение показателя оборачиваемости. P.S. Абсолютное значение остатков как правило ни о чем не говорит, и на основании этого остатка невозможно принять сколько-нибудь правильное решение о закупе.
#26 by birkoFFFF
Исправила на как в ? Сообщить(ОстатокКонец);Сообщить(ТекСубк.МинОстаток); И сообщи результат...
#27 by Falcon
почему бы просто не запустить отладчик? вопрос отпал бы сам собой
#28 by Falcon
если не нуджна аналитика по счетам то и выбратьСчет/ПолучитьСчет - тоже не нужно....
#29 by birkoFFFF
Здесь задача не в этом... Тут минимальные остатки уже известны и забиты в справочнике. Нужно узнать отклонения текущих остатков от минимальных.
#30 by Falcon
Ном=СоздатьОбъект("Справочник.Номенклатура"); это убери... не нужо там.. тем более Ном=1; блаблабла
#31 by birkoFFFF
ну я так и написала  "ВыбратьСчета и т.д. " ))) если человек без опыта работы с 1С, сейчас еще объяснять придется как им пользоваться... Так быстрее, а так конечно отладчиком все делать.
#32 by birkoFFFF
последнее надо оставить, это скорее всего номера строк для формирования печатной формы...
#33 by АленаРыжая
Ага у брала, да сделала как в а ошибка теперь не выходит .Я просто сдуру реквизит МинОстаток сделала периодическим, уже убрала.
#34 by Falcon
а я разве обратное написал? ипочему "скорее всего" это оно и есть....
#35 by birkoFFFF
ну мало-ли ))))
#36 by Falcon
как в было не обязательно... хотя и желательно... ошибка была из-за того, что мин. остаток был периодическим... надо было тогда писать МинОстаток.Получить(Дата1)
#37 by birkoFFFF
Я-бы все-таки реквизит периодическим оставила... и  как в  - МинОстаток.Получить(Дата1)
#38 by АленаРыжая
Да мое позднее зажигание а разве БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура);   ТекСубк=БИ.Субконто;            КонецЕсли; Просто он присваиваеться позже .Какое различие?
#39 by AntiBuh
имхо зря, заказы делаются по последнему значению, смысла нет в прошлое лезть
#40 by birkoFFFF
ну тут уже в зависимости от тех.задания меня например историю изменения минимальных остатков начальники отделов периодически смотрят, проверяют что вместо чего стали заказывать и с какого времени.
#41 by birkoFFFF
для )))
#42 by birkoFFFF
различия будут если у вас у счетов "132,133,135" субконто Номенклатура на разных по счету местах, да и просто нагляднее... Да и зачем программе по всем субконто выбирать если только 1 надо... Посмотрите в отладчике замер производительности на этом операторе в 2-х вариантах, при большой базе очень заметно...
#43 by АленаРыжая
Ага.Поняла. Все седала задала, все довольны .Всем спасибо .)))
#44 by у лю 427
. .
#45 by birkoFFFF
Ну прямо везде надо отметится )))
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С