|
Неоперативное проведение | ☑ | ||
---|---|---|---|---|
0
BarakuzA
11.10.11
✎
15:33
|
Ситуация: большая часть документов движения (приходы, перемещения) делаются задним числом. в данном случаи получается что все документы проводятся неоперативно и остатки не контралируются. возможно как то объиграть такую ситуацию чтобы остатки контролировались??? конф ут типовая
|
|||
1
Кокос
11.10.11
✎
15:47
|
можно. запрограммировать. заполнение неоперативное серий программируется гдето за полчаса. контроль остатков не помню за сколько делал. от часа до 4х или тоже за полчаса. давно делал в 10.3
|
|||
2
BarakuzA
11.10.11
✎
15:48
|
в документе проведение по упр учете прописать контроль остатков при неоперативном учете??
|
|||
3
Ненавижу 1С
гуру
11.10.11
✎
15:49
|
не взлетит в самом общем случае, точнее может и взлетит, но тормозить будет очень долго
|
|||
4
Кокос
11.10.11
✎
15:51
|
(3) да не особо тормозит. у трех или 4х клиентов делал. норм летает. добавить в глобальные процедуры дату и рассовать даты по запросам. работает без проблем. левый конечно контроль. но свести концы с концами получается в принципе никто не жаловался
|
|||
5
BarakuzA
11.10.11
✎
15:54
|
запрос проверяет остаток на дата документа и если нехватате, то тормозит проведение документа???
|
|||
6
Ненавижу 1С
гуру
11.10.11
✎
15:55
|
(4) ключевое слово "левый" контроль
|
|||
7
Fragster
гуру
11.10.11
✎
15:56
|
делал контроль по минимальному остатку от позиции документа до "точки актуальности"... не супер тупило, ну так и назад лезли только на пару недель максимум
|
|||
8
Кокос
11.10.11
✎
15:58
|
(6) да в принципе нормальный контроль. :) а если приход задним числом вводят или поставщик или клиент(в отношениях с которым имеет приоритет ихняя бухгалтерия. звонят и меняют дату прих\расх накладных. творят что хотят а тебе более мелкому деваться некуда)а товародвижения хочется привести в нормальный вид то деваться некуда. )
|
|||
9
BarakuzA
11.10.11
✎
15:59
|
(8) - не осталось примера кода что да как для образца???
|
|||
10
Рэйв
11.10.11
✎
16:00
|
(0)Буквально на днях делал проверку остатков на неопереативное проведение.
Дарю:-) <1C> тТовары.Свернуть(ИмяКолонкиНом,ИмяКолонкиКол); //обойдем случай дубля,трубля и четверубля строк. Если Ответ Тогда //<------Сергей.Составление списка в параметр запроса , заполнение типизированной тз для ВТ спТовары=Новый СписокЗначений; тТоварыВЗапрос=Новый ТаблицаЗначений; тТоварыВЗапрос.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); тТоварыВЗапрос.Колонки.Добавить("КоличествоКСписанию",Новый ОписаниеТипов("Число")); Для Каждого Стр Из тТовары Цикл НовСтр=тТоварыВЗапрос.Добавить(); НовСтр.Номенклатура=Стр[ИмяКолонкиНом]; НовСтр.КоличествоКСписанию=Стр[ИмяКолонкиКол]; Если спТовары.НайтиПоЗначению(НовСтр.Номенклатура)=Неопределено Тогда спТовары.Добавить(НовСтр.Номенклатура); КонецЕсли; КонецЦикла; //------------> Если РежимПроведения=РежимПроведенияДокумента.Неоперативный Тогда //Если режим неоперативный,т.е. работают прошлым периродом, то будем реализовать схему двойной проверки остатков //1. Брем остатки на дату документа и на тек. момент. //2. Сравниваем и получаем меньшее из остатков.С ним и сравниваем списываемое количество. При таком подходе никогда не уйдем в минус //+ну и естественно учитываем резервы на оба момента Запрос=Новый Запрос; Граница = Новый Граница(Момент, ВидГраницы.Исключая); Запрос.УстановитьПараметр("Граница",Граница); Запрос.УстановитьПараметр("тз",тТоварыВЗапрос); Запрос.УстановитьПараметр("Товары",спТовары); Запрос.УстановитьПараметр("Склад",Склад); УсловиеПоОрганизации=""; Если ТипЗнч(Организация)=Тип("СправочникСсылка.Организации") И ЗначениеЗаполнено(Организация) Тогда Запрос.УстановитьПараметр("Организация",Организация); УсловиеПоОрганизации= " И Организация=&Организация " ; КонецЕсли; Запрос.МенеджерВременныхТаблиц=Новый МенеджерВременныхТаблиц; Запрос.Текст=" //-----------------------Поднимаем полученную таблицу товаров и количества во временную таблицу |ВЫБРАТЬ | т.Номенклатура КАК Номенклатура, | т.КоличествоКСписанию КАК КолСписать, | 0 КАК ОстатокНаМомент, | 0 КАК ОстатокОперативный, | 0 КАК РезервНаМомент, | 0 КАК РезервОперативный |ПОМЕСТИТЬ ВТ |ИЗ | &тз КАК т |; | |//////////////////////////////////////////////////////////////////////////////// //-----------------------Группировочный верхний запрос |ВЫБРАТЬ | ЗапросОстатков.Номенклатура, | СУММА(ЗапросОстатков.КолСписать) КАК КолСписать, | СУММА(ЗапросОстатков.ОстатокНаМомент) КАК ОстатокНаМомент, | СУММА(ЗапросОстатков.ОстатокОперативный) КАК ОстатокОперативный, | СУММА(ЗапросОстатков.РезервНаМомент) КАК РезервНаМомент, | СУММА(ЗапросОстатков.РезервОперативный) КАК РезервОперативный, | СУММА(ЗапросОстатков.ОстатокНаМомент) - СУММА(ЗапросОстатков.РезервНаМомент) КАК ОстатокНаМоментРеальный, | СУММА(ЗапросОстатков.ОстатокОперативный) - СУММА(ЗапросОстатков.РезервОперативный) КАК ОстатокОперативныйРеальный |ИЗ //-----------------------Выборка из ВТ | (ВЫБРАТЬ | ВТ.Номенклатура КАК Номенклатура, | ВТ.КолСписать КАК КолСписать, | ВТ.ОстатокНаМомент КАК ОстатокНаМомент, | ВТ.ОстатокОперативный КАК ОстатокОперативный, | ВТ.РезервНаМомент КАК РезервНаМомент, | ВТ.РезервОперативный КАК РезервОперативный | ИЗ | ВТ КАК ВТ | | ОБЪЕДИНИТЬ //-----------------------Остатки по момент документа (исключая его) | | ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | 0, | ТоварыНаСкладахОстатки.КоличествоОстаток, | 0, | 0, | 0 | ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Граница, | Номенклатура В (&Товары) | И Склад = &Склад"+УсловиеПоОрганизации+") КАК ТоварыНаСкладахОстатки | //-----------------------Остатки оперативные(на тек момент) | ОБЪЕДИНИТЬ | | ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура, | 0, | 0, | ТоварыНаСкладахОстатки.КоличествоОстаток, | 0, | 0 | ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | , | Номенклатура В (&Товары) | И Склад = &Склад"+УсловиеПоОрганизации+") КАК ТоварыНаСкладахОстатки | | ОБЪЕДИНИТЬ | //-----------------------Резервы на момент документа(исключая его) | ВЫБРАТЬ | ТоварыВРезервеНаСкладах.Номенклатура, | 0, | 0, | 0, | ТоварыВРезервеНаСкладах.КоличествоОстаток, | 0 | ИЗ | РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки( | &Граница, | Номенклатура В (&Товары) | И Склад = &Склад"+УсловиеПоОрганизации+") КАК ТоварыВРезервеНаСкладах | | ОБЪЕДИНИТЬ //-----------------------Резервы оперативные | | ВЫБРАТЬ | ТоварыВРезервеНаСкладах.Номенклатура, | 0, | 0, | 0, | 0, | ТоварыВРезервеНаСкладах.КоличествоОстаток | ИЗ | РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки( | , | Номенклатура В (&Товары) | И Склад = &Склад"+УсловиеПоОрганизации+") КАК ТоварыВРезервеНаСкладах) КАК ЗапросОстатков | |СГРУППИРОВАТЬ ПО | ЗапросОстатков.Номенклатура"; тРез=Запрос.Выполнить().Выгрузить(); Запрос.МенеджерВременныхТаблиц.Закрыть(); Для Каждого Стр Из тРез Цикл ОстатокНаСкладе=Мин(Стр.ОстатокНаМоментРеальный,Стр.ОстатокОперативныйРеальный); Если Стр.КолСписать>ОстатокНаСкладе Тогда Ответ=Ложь; Сообщить(""+Стр.Номенклатура+". Списывается: "+Стр.КолСписать+". Остаток на складе("+Склад+"): "+ОстатокНаСкладе+". Не хватает:"+(Стр.КолСписать-ОстатокНаСкладе),СтатусСообщения.Важное); КонецЕсли; КонецЦикла; Иначе КонецЕсли; </1С> |
|||
11
Кокос
11.10.11
✎
16:01
|
(9) да я к ним еще не скоро заеду.
(10) можно конечно и так. но можно и в стандартные запросы в общих модулях даты рассовать и все :) |
|||
12
Fragster
гуру
11.10.11
✎
16:02
|
(10)
//2. Сравниваем и получаем меньшее из остатков.С ним и сравниваем списываемое количество. При таком подходе никогда не уйдем в минус это фигня |
|||
13
BarakuzA
11.10.11
✎
16:02
|
(10) ну вот и еще одна предстоит бессонная ночь!!!
|
|||
14
Рэйв
11.10.11
✎
16:03
|
(12)Обоснуй
|
|||
15
Ненавижу 1С
гуру
11.10.11
✎
16:04
|
а если вдруг взяли и перемещение сняли с проведения, а вот они минуса!
|
|||
16
Fragster
гуру
11.10.11
✎
16:04
|
(14)
день движение 1 +10 3 -10 4 +10 в день "2" хотим провести реализацию |
|||
17
Fragster
гуру
11.10.11
✎
16:05
|
(15) на отмену проведения тоже контроль
|
|||
18
Рэйв
11.10.11
✎
16:06
|
(16)В чем проблема? На оба момента остаток 10
10>2 даст провети. Я имел в виду минусы на оперативный момент. |
|||
19
Ненавижу 1С
гуру
11.10.11
✎
16:06
|
(17) умаяться можно, потому как надо по-хорошему проверять чтоб не конечный вообще итог был >0 а после каждого документа, то есть как в (16)
|
|||
20
Рэйв
11.10.11
✎
16:07
|
(19)Отмену отслеживать запаришься.Так что это на совести юзверей.
|
|||
21
Ненавижу 1С
гуру
11.10.11
✎
16:07
|
(20) тогда вообще к чему контроль, если в нем дырки?
|
|||
22
Рэйв
11.10.11
✎
16:08
|
(21)Ну хоть что-то..Совсем ьез контроля можно хз в какую яму залесть
|
|||
23
Fragster
гуру
11.10.11
✎
16:08
|
(19) да, я так и делал, после записи набора проверялся, не образовался ли где минус от периода набора до конца - если есть - то откатывалось все назад.
|
|||
24
Рэйв
11.10.11
✎
16:08
|
к тому же при минусах сразу перестанет проводится.
|
|||
25
Fragster
гуру
11.10.11
✎
16:09
|
(23)+ режим "допроведения" и отсустсвие автоматического удаления движений
|
|||
26
BarakuzA
11.10.11
✎
16:09
|
(24)-это оперативный режим, а если неоперативный - пишет что не может по партиям списать.хоть какой то сигнал,что то не так
|
|||
27
Рэйв
11.10.11
✎
16:13
|
(26)У меня слава богу нет партий..потому я и сделал свою проверку.Все эти километровые запросы в УТ и УПП такое г...
|
|||
28
Кокос
11.10.11
✎
16:14
|
(26) угу и ведомость по остаткам все равно надо приводить в норму. да и выгрузка в БП20 по 41му счету все равно должна быть ровной
|
|||
29
BarakuzA
11.10.11
✎
16:16
|
а если просто сделать так: что если не может распределить по партиям, то не проводить документ???
|
|||
30
BarakuzA
11.10.11
✎
16:16
|
(28) - у меня нет бп и 41 счета.
|
|||
31
Рэйв
11.10.11
✎
16:23
|
(29) я запрещаю проведение. Пусть разбираются
|
|||
32
BarakuzA
11.10.11
✎
16:39
|
(31) я думаю что такой вариант лучше всего.
|
|||
33
BarakuzA
11.10.11
✎
16:59
|
а в каком месте стоп лучше всего поставить???
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |