Имя: Пароль:
1C
 
Списание "задним" числом
0 zak555
 
27.04.09
10:05
есть бюджетка типовая... бухи постоянно списывают что-либо "задним" числом.
во всей ней в модулях дока идёт анализ остатков на ТекущийДокумент()
=> если могут возникать отрицательные значения

как лучше это обойти?
1 povar
 
27.04.09
10:06
что именно обойти ?
2 zak555
 
27.04.09
10:08
(1) пример остаток на счете 5 штук сегодня. Делаю списание 5 штук. В это время буха делает списание документа вчерашним числом тоже на 5 штук. В итоге остаток будет -5
3 ДенисЧ
 
27.04.09
10:08
Проверять на документ и на ТА.
4 zak555
 
27.04.09
10:09
(3) последовательность вводить?
5 ДенисЧ
 
27.04.09
10:09
(4) голову включать.
6 zak555
 
27.04.09
10:10
(5) пример можно?
7 DGorgoN
 
27.04.09
10:10
(3) А если в середине какой то документ делает -10?

Зы - все движения от сих до сих проверять..
8 selenat
 
27.04.09
10:11
(3) и что это даст? Тогда уж переделывать все глобально и проверять только на ТА...
9 DenLaDen
 
27.04.09
10:11
(0) глядеть по дату рассчитанных бухитогов, не списывается ли этот товар позднее
10 ДенисЧ
 
27.04.09
10:12
(6) Голова.Включить() :-))
11 zak555
 
27.04.09
10:14
(9) пример можно?
12 zak555
 
27.04.09
10:16
думал сделать запрос на "последний" документ
но тогде не понятно, как списывать по-среднему..
13 selenat
 
27.04.09
10:22
(12) используй широкую стальную линейку. За другие способы лучше не берись, ибо сложно тебе будет...
14 zak555
 
27.04.09
10:24
или думал разрешить только одному человеку делать списание задним числом (сделать недоступным ДатаДок)
15 Ochkarito
 
27.04.09
10:29
Объяснить бухам как не надо делать.
16 DenLaDen
 
27.04.09
10:32
(11)
БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура );
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,, "Операция" );
БухИтоги.ВыбратьСубконто();    

Пока БухИтоги.ПолучитьСубконто() = 1 Цикл
МинКоличество = БухИтоги.СНД("К");
БухИтоги.ВыбратьПериоды();
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 Если МинКоличество > БухИтоги.СКД("К") Тогда
  МинКоличество = БухИтоги.СКД("К");
 КонецЕсли;
КонецЦикла;
       
Если МинКоличество <= 0 Тогда
 Продолжить;
КонецЕсли;

КонецЦикла;

вот как-то так, правда чем документ будет раньше, тем дольше будет это дело выполняться
17 zak555
 
27.04.09
10:42
(16) ДатаНач = текущийДокумент() ???
18 zak555
 
27.04.09
10:44
(15) при большом документообороте невозможно!
19 zak555
 
27.04.09
11:10
(16) зачем это условие МинКоличество <= 0 ?
20 zak555
 
27.04.09
16:18
а может вообще проще смотреть остатки на КонецРассчитанногоПериодаБИ()
в разрезе аналитик всех и нужных счетов?
т.е. если есть есть вообще остаток, то можно проводить, если нет - нельзя

а дальше оставить стандартную реализацию списания по-среднему
21 у лю 427
 
27.04.09
17:08
(16) бред....
22 NikVars
 
27.04.09
17:27
(0) Ты точно про учет говоришь или про его имитацию?
Ничего не делай! Пусть они сами потом свою каку разграбют своими загребущими ручками.
23 zak555
 
27.04.09
17:53
(21) как лучше реализовать?
(22) доки не всегда приходят вовремя ...
24 zak555
 
27.04.09
18:06
.
25 NikVars
 
27.04.09
18:08
(23) Если учет вести с умом, вернее если вести учет, то будет все в порядке даже и в этом случае.
26 zak555
 
27.04.09
18:15
(25) ну кто набивает доки - он же не в курсе, чего не хватает ;-)
27 zak555
 
27.04.09
20:02
так (20) подойдёт?
28 у лю 427
 
27.04.09
20:06
нет, не подойдет - ты делаешь документ 10-м числом, списывая три гвоздя, на конец БИ на остатке 20 гвоздей, но пришли они после 10 числа...
И твое списание пойдет в минус по количеству с нулевой себестоимостью...
29 Immortal
 
27.04.09
20:09
вот и Пит подтянулся..неоперативно правда=)
30 zak555
 
27.04.09
20:28
(28) точно...
а какую тогда проверку замутить?
31 у лю 427
 
27.04.09
20:34
хе-хе...
тут весь форум уже года 3 над этой проверкой трахаеЦЦо - до сих пор допереть не могут...
32 zak555
 
27.04.09
20:36
(31) ;-)
а ты?
33 Sadovnikov
 
27.04.09
20:37
(32) Он-то допер. Причем, давно. Еще раз причем,  - решение элементарное...
34 Дядя Васька
 
27.04.09
20:38
(30) Да никак ее нормально не замутить. Если делаешь списание 10-м числом и по остатку вроде бы все путем и на 10-е и на 20-е это еще не значит что не будет минуса 15-го. Потому что товар который ты пытаешься списать могли продать 15-го, а 16-го поступил другой приход.
Разве что с партиями извращаться, когда приходный док=партия, да в разрезе партий тот остаток смотреть. Но их нет в бухучете. Да и возвраты могут быть, из-за которых все равно остаток между датой А и Б туда-сюда плясать может.
35 zak555
 
27.04.09
20:45
(33) так какое? не код не нужен - принцип...
(34) что-то все противорячат друг другу
36 Дядя Васька
 
27.04.09
21:50
(35) А Пит давно говорит что придумал простой способ, но сам способ не озвучивает, бо стопудово разгромят :)
Реальный способ только один: не давать лазить в закрытый период. Квартал подбили, все, туда не лазим. В рамках текущего пусть играются, но перед закрытием все перепровести, исправить косяки и больше не трогать.
37 у лю 427
 
27.04.09
21:52
(36) не можешь допереть - не трынди...
38 zak555
 
27.04.09
21:53
(36) в закрытый никто и не собирается добавлять доки!
я про текущий...
39 Дядя Васька
 
27.04.09
21:57
(37) А чего тут допирать? Математически невозможно. Пока всю цепочку не проверишь всегда есть вероятность что между задним числом и сегодняшним есть минус.
40 Дядя Васька
 
27.04.09
21:58
(38) Только если по каждой позиции всю движуху проверишь. С заднего числа по последнее движение, если где-то есть минус - не проводить. А это долго. Разве что прямым... ну да все равно долго...
41 Дядя Васька
 
27.04.09
22:04
Ну разве что такой вариант, документ поступления = партия, дальше только реализации по этой партии, если есть возврат, то делать как обратную продажу, т.е. уже новая партия будет, а что отгрузили, то ушло. Тогда достаточно проверить остаток на ТА в разрезе партий. Но это все равно не спасет от кривых рук, если есть права тупо изменить дату прихода. Подвинут его вперед, после первой продажи, и получите минус.
42 zak555
 
27.04.09
22:10
(28) а если сделать так: анализировать ДО() - КО() <0
43 zak555
 
27.04.09
22:10
+(42) за период ТекущийДокумент() до КонецРассчитанногоПериодаБИ()
44 zak555
 
27.04.09
22:16
+ (43) при условие, что не было "минуса" в остатке
45 zak555
 
27.04.09
22:17
(39) а чего математически невозможно?
46 Дядя Васька
 
27.04.09
22:23
(45) По остатку понять какие были движения. Только при условии что все движения строго в одну сторону. Т.е. если смотришь остаток в разрезе приходного документа после которого может быть только расход, то по конечному остатку ты точно знаешь что минусов нет, если он положительный. Если же у тебя за промежуток времени может быть не только расход, но и приход на ту же партию (когда возврат делают такое бывает), тогда конечный остаток не скажет тебе о том что было несколько дней назад.
47 Дядя Васька
 
27.04.09
22:25
(44) так тебе и надо узнать, есть он там или нет
48 zak555
 
27.04.09
22:44
(46) так (42) кажись решение задачи...
(47) я точно знаю, что нет + условие (44) можно вообще убрать!
49 Дядя Васька
 
27.04.09
22:45
(48) И партионный учет у тебя есть?
50 zak555
 
27.04.09
22:47
(49) ну какой партионный в бюджетке 7-ке?
51 Дядя Васька
 
27.04.09
22:48
(50) Ну и че тогда ты хочешь? В разрезе просто товара у тебя движения в обе стороны. Приходит он неоднократно.
52 zak555
 
27.04.09
22:49
(51) теперь я интерсуюсь : (42) решение (0) ?
53 Дядя Васька
 
27.04.09
22:51
(52) Нет. Просто получится остаток. Он тебе ничего не даст.
54 zak555
 
27.04.09
22:57
(53) ну тут ты неправ:
Пример
допустим:

на 01 число остаток по товару 10 штук
в конце дня было списано тоже 10 штук
в итоге на 02 чило остаток 0
02 числа был приход на 6 штук
тогда сальдо на конец 03 числа - 6 штук

Ввожу документ списание от 01 числа в конец дня на десять штук...
если я буду анализировать при проведении разницу между ДО и КО за период ТекущийДокумент() [который списание] по  КонецРассчитанногоПериодаБИ() [ну или на 03 число]
получаю:
ДО = 6
КО = 10
разница = - 4 и всё...
55 zak555
 
27.04.09
23:00
+ (54) понятно что итоги в разрезах аналитик анализируются + счетах
56 zak555
 
27.04.09
23:04
(53) ye nfr xnj&
57 zak555
 
27.04.09
23:15
(53) ну так что?
58 Дядя Васька
 
27.04.09
23:16
приходуешь ты 01 числа 10 штук, продаешь 03 числа четыре штуки, пытаешься сделать списание 02 числа и анализируешь ДО-КО со второго по третье, и получаешь те же -4, и чо?
59 zak555
 
27.04.09
23:19
(58) ну тогда делать анализ СКД() - СНД() за тот же период
60 Дядя Васька
 
27.04.09
23:20
+(58) не мучайся ДО-КО без начального остатка не даст ничего, а с начальным получишь конечный. Партионный нужен, причем чтобы в плюс в разрезе партии шло только раз, затем только в минус.
61 zak555
 
27.04.09
23:23
(60) так а если (59) ?
62 Дядя Васька
 
27.04.09
23:25
(61) Мля, ну не тупи... Когда у тебя в периоде движения в обе стороны идут ни начальный остаток с конечным, ни обороты, не скажут тебе о том что было в середине периода.
63 zak555
 
27.04.09
23:27
(62) да ... хрень написал в (59) ... даже (54) не сработает
64 zak555
 
27.04.09
23:32
(62) а если СНД() + ДО() - КО() ?
65 Дядя Васька
 
27.04.09
23:40
(64) Пипец... График нарисуй что ли... Если линия вниз все время идет, ты точно знаешь на сколько клеток можешь ее опустить, чтобы она ни в каком месте в минус не ушла, так как в конце линии ее самое маленькое значение. Если же она у тебя то вверх то вниз, то зная только ее начало и конец, ты не можешь узнать провалится она в минус где-то в середине или нет, так как в конце она может вверх пойти.
66 Дядя Васька
 
27.04.09
23:41
обороты они не для этого, это чтобы сторно отличать от обратной проводки. Тебе ничего не даст.
67 zak555
 
27.04.09
23:43
(64) - хрень... что-то пиво не помагает...
68 zak555
 
28.04.09
00:17
(66) тогда надо анализировать первый "расход" за период и узнать есть ли на него нужный остаток...

БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,, "Операция" );
БухИтоги.ВыбратьСубконто(1);    

Пока БухИтоги.ПолучитьСубконто(1) = 1 Цикл
БухИтоги.ВыбратьПериоды();
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 Если 0 <> БухИтоги.КО("К") Тогда
  Если БухИтоги.СКД("К")>= СколькоЯХочуСписать Тогда
     ФлагСПисанияТовара = 1;
  Иначе
     ФлагСПисанияТовара = 0;
  КонецЕсли;
  Прервать;
 КонецЕсли;
КонецЦикла;


КонецЦикла;
69 zak555
 
28.04.09
00:50
+ (68) даже надо анализировать все списания со счета
70 zak555
 
28.04.09
01:19
БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,, "Операция" );
БухИтоги.ВыбратьСубконто(1);    

Пока БухИтоги.ПолучитьСубконто(1) = 1 Цикл
БухИтоги.ВыбратьПериоды();
ФлагСПисанияТовара = 1;
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 Если 0 <> БухИтоги.КО("К") Тогда
  Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
  КонецЕсли;
  Прервать;
 КонецЕсли;
КонецЦикла;


КонецЦикла;
71 zak555
 
28.04.09
01:21
+ (70) вернее так:

БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,, "Операция" );
БухИтоги.ВыбратьСубконто(1);    

Пока БухИтоги.ПолучитьСубконто(1) = 1 Цикл
БухИтоги.ВыбратьПериоды();
ФлагСПисанияТовара = 1;
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 Если 0 <> БухИтоги.КО("К") Тогда
  Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
    Прервать;
  КонецЕсли;
  Прервать;
 КонецЕсли;
КонецЦикла;


КонецЦикла;
72 zak555
 
28.04.09
01:38
(37) похоже на правду (71) ?
73 zak555
 
28.04.09
01:43
БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,, "Операция" );
БухИтоги.ВыбратьСубконто(1);    

Пока БухИтоги.ПолучитьСубконто(1) = 1 Цикл
БухИтоги.ВыбратьПериоды();
ФлагСПисанияТовара = 1;
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 
  Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
    Прервать;
  КонецЕсли;
 
  Если ФлагСПисанияТовара=0 Тогда
      Сообщить("товар в жопе!");
  КонецЕсли;
КонецЦикла;


КонецЦикла;
74 zak555
 
28.04.09
01:44
БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,, "Операция" );
БухИтоги.ВыбратьСубконто(1);    

Пока БухИтоги.ПолучитьСубконто(1) = 1 Цикл
БухИтоги.ВыбратьПериоды();
ФлагСПисанияТовара = 1;
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 
  Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
    Прервать;
  КонецЕсли;  
КонецЦикла;
Если ФлагСПисанияТовара=0 Тогда
  Сообщить("товар в жопе!");
КонецЕсли;
КонецЦикла;
75 Злопчинский
 
28.04.09
03:00
Решений, имхо, несколько
1. работа должна быть сделана тогда, когда она должна быть сделана, а не тогда когда захочется... если документ принесенный 15 числа колотят 5-ым числом - это не проблема программы. Жили же как-то 10 дней без этого дока? жили! ну и вводите тогда 15 числом когда принесли - ах надо 5-ым? ну так нехрен трындеть - работать надо - вводитть документ 5-ым!
2. во время проведения фиксируются/запоминаются списанные партии/остатки. Во врем япроведения задним числом эти партии извлекаются и НЕ ТРОГАЮТСЯ - раз движения по ним устраивали до вчера - с какого хрена перестали устраивать сегодня?
..
не надо рассчитывать на машину времени! НЕТУ ЕЕ!!! ВЗАД ВЕРНУТЬСЯ НИЗЯ!!!
пусть Пит меня разгромит - я не обижусь, выберусь к нему в НН на пиво/закусь или чего там надо...
76 zak555
 
28.04.09
03:07
(75) так а что ж делать, если расходники не сразу вбиваются?
77 Злопчинский
 
28.04.09
03:41
что мешает расходники вбить сразу???
я думаю, общий пофигизм на фирме.
Как лечить, очень просто: подлови кассу когда будет выдана большая сумма без расходника и сдлай так, чтобы кассу в это время проаудировали, чтобы касса огребла люлей по самое нехочу...
78 у лю 427
 
28.04.09
06:54
(75) "выберусь к нему в НН на пиво/закусь или чего там надо..."

В НН живут суровые ннчане - они тебя отмиздят.... Не надо туда ездить....
79 у лю 427
 
28.04.09
06:55
(75)"не надо рассчитывать на машину времени! НЕТУ ЕЕ!!! ВЗАД ВЕРНУТЬСЯ НИЗЯ!!! "

вернуться? Взад? Да запросто....
80 selenat
 
28.04.09
09:10
Чем не устраивает решение, озвученное Дядей Васькой? Я уже давно про него говорю, все руки не доходят сделать
81 zak555
 
28.04.09
12:33
(77) оно мне надо?
82 zak555
 
28.04.09
13:23
(80) какое из них?
83 Дядя Васька
 
28.04.09
13:26
(82) Там только одно, просто я тебе его объяснял и так и этак. Но так и не дошло.
84 birkoFFFF
 
28.04.09
13:26
zak555, продолжи фразу : "Автоматизируя хаос, получишь ...."
85 zak555
 
28.04.09
13:37
(84) автоматизированный хаос?
86 NikVars
 
28.04.09
13:40
(84) ...хорошие премиальные!
87 zak555
 
28.04.09
13:47
так что (74) тоже не вариант?
88 selenat
 
28.04.09
13:50
(82) если есть время, изучай

Ну что, продолжим про парт. учет долбить?
89 zak555
 
28.04.09
14:03
(88) ну это мне не нужно, мне-то нужна проверка
90 selenat
 
28.04.09
14:09
(89) ну, не хочешь - как хочешь...

(83) я вот все никак не соберусь продумать, как этот способ контроля остатков состыковать еще с резервами товаров. Остаток ведь может не уходить в минуса в прмежутке, но за счет резерва тоже не подлежать списанию...
91 selenat
 
28.04.09
14:10
Таки автор отверг все возможные варианты решения задачи. Начиная от наведения порядка административными мерами, до нормального контроля программными средствами. Остается только развести руками...
92 zak555
 
28.04.09
14:21
(91) "нормального контроля программными средствами" - партионный учёт?
93 zak555
 
28.04.09
14:37
(91) так (74) тоже не вариант проверки?
94 zak555
 
28.04.09
15:12
(83) ещё раз перечитал все твои "возможные" примеры.
так получается (74) и анализирует все приходы/расходы на период (с текДолка по конецЗасчетного) : если же остаток по приходному/расходному документу будет меньше, чем я хочу списать - то это и будет означать запрет на ввод этой номенклатуры
иначе всё нормально и можно вводить документ.
95 zak555
 
28.04.09
16:15
(79) кажись все условия подходят для (74)
96 zak555
 
28.04.09
17:27
(77) "что мешает расходники вбить сразу???"
а если большой документооборот (200 доков прихода/расхода в день)
один док забыли вбить вчера, дата у него отгрузки вчерашняя
97 у лю 427
 
28.04.09
17:52
200 доков прихода - расхода... Малчик.... ты с кем меряться собралЦО?
Не дорос ты еще


1400-2000 доков в день - только расход....
150-500 доков в день - возврат
+ документы выпуска продукции - до 200...
+ СЧФ (выписываются на несколько расходов сразу)....
98 у лю 427
 
28.04.09
17:53
Причем здесь есть некто Садовников - у него документооборот в разы толще моего...
99 GreyK
 
28.04.09
18:10
В (74) вполне работоспособный вариант. Если хочется получить правильную себестоимость, то дорабатываем напильником.
100 у лю 427
 
28.04.09
18:10
100
101 zak555
 
28.04.09
18:26
(99) как его оптимизировать...

БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Местахранения,Место,2 );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура,,1 );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,1, "Операция",4 );
//БухИтоги.ВыбратьСубконто(2);    

//Пока БухИтоги.ПолучитьСубконто(1) = 1 Цикл
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
ФлагСПисанияТовара = 1;
Если БухИтоги.ПолучитьСубконто(2,, Товар)=0 Тогда
   ФлагСПисанияТовара = 0;
КонецЕсли;
БухИтоги.ВыбратьПериоды();

Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 
  Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
    Прервать;
  КонецЕсли;  
КонецЦикла;
Если ФлагСПисанияТовара=0 Тогда
  Сообщить("товар в жопе!");
КонецЕсли;
КонецЦикла;
102 zak555
 
28.04.09
18:34
БухИтоги = СоздатьОбъект( "БухгалтерскиеИтоги" );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Местахранения,Место,2 );
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура,,1 );
ДатаНач = ТекущийДокумент();
ДатаКон = КонецРассчитанногоПериодаБИ();
БухИтоги.ВыполнитьЗапрос( ДатаНач, ДатаКон, "41.1",,,1, "Операция",4 );

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
ФлагСПисанияТовара = 1;
Если БухИтоги.ПолучитьСубконто(2,, Товар)=0 Тогда
   ФлагСПисанияТовара = 0;
КонецЕсли;
Если БухИтоги.ВыбратьПериоды()=0 Тогда
   Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
   КонецЕсли;
КонецЕсли;
Пока БухИтоги.ПолучитьПериод() = 1 Цикл            
 
  Если БухИтоги.СКД("К")<СколькоЯХочуСписать Тогда
    ФлагСПисанияТовара = 0;
    Прервать;
  КонецЕсли;  
КонецЦикла;
Если ФлагСПисанияТовара=0 Тогда
  Сообщить("товар в жопе!");
КонецЕсли;
КонецЦикла;
103 zak555
 
28.04.09
18:43
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура, СпНом );
104 zak555
 
28.04.09
18:48
БухИтоги.ИспользоватьСубконто( ВидыСубконто.Номенклатура, СпНом, 1 );

кстати, а может вообще идти сначало по периодам, а потом по номенклатуре + сделать проверку по количеству сколько хочу списать и сколько на операции остаток:

ВсегоСколькоЯХочуСписать = Итог("Количество");
Пока БухИтоги.ПолучитьПериод() = 1 Цикл
Если ВсегоСколькоЯХочуСписать>БухИтоги.СКД(3) Тогда
  ФлагСПисанияТовара = 0;
КонецЕСли;
105 у лю 427
 
28.04.09
19:09
Ну вот.... Еще одного дятла засосало и он начал производство долбанины....
106 birkoFFFF
 
29.04.09
11:52
(85) а еще редкий геморрой и в итоге по щапке от начальства и бесконечное нытье от бухов ...
(96) Ха и еще раз ха...
Ответ на вопрос "что мешает расходники вбить сразу???" при вашем кол-ве документов это не "большой документооборот", это обычная человеческая лень и разгильдяйство...

Чувствую скоро выйдет очередная "гениальная" нетленка, очередного дятла...
107 selenat
 
30.04.09
14:07
(105) улю, расскажи, в твоем варианте контроля остатков работа с резервированием товара предусмотрена?
108 selenat
 
30.04.09
14:30
+(107) Итак вводная. Используем РН ТоварыНаСкладах (например из УТ). Добавив к нему в качестве измерения дату прихода товара на склад. Контроль остатка имеем запросом к остаткам этого регистра на ТА, проверяя остатки с датой прихода раньше исправляемого документа. Это нам позволит не уйти по остаткам в минуса на промежутке от исправляемого дока до ТА.
Вопрос, как к этому контролю прикрутить еще и контроль по зарезеррвированному товару?
109 selenat
 
30.04.09
14:39
Где супер-мега умы? Подключайтесь. Или все уже водку жрут?
110 selenat
 
30.04.09
14:45
Доступный товар - это разность остатка и резерва на складе. Вопрос. Если мы и в регистр ТоварыВРезервеНаСкладах добавим измерение ДатаРезерва, сможем ли мы проконтролировать уход в минуса доступного товара во всем промежутке, беря для этого остатки по этим регистрам только на ТА?
111 selenat
 
30.04.09
14:59
Что-то пока не получается представить всех возможных вариантов согласованного движения этих регистров и как это отразится контроле остатков.
Но под такой котроль остатков может быть было бы удобнее вести учет резервов в самом регистре ТоварыНаСкладах. Завести еще измерение ДокументРезерва. Если товар не зарезервирован, то значение этого измерения остается пустым. Когда резервируется товар, то списывается с пустого значение и приходуется на конкртеный документ резерва....
112 yukon
 
30.04.09
15:13
(97) Ты чего злой такой?
Тут куда больше вопросов возникает:

(0) >бухи постоянно списывают что-либо "задним" числом.

Раз учреждение бюджетное, и т.к. в бюджетных организациях требования к оформелению гораздо строже чем в хозрасчете:
1. Кто составляет акты на списание? Просто так акт на списание не составишь
2. Кто подписывает такие акты? Там комиссия целая должна быть
3. Кто предоставляет их в бухгалтерию? Вообще-то есть понятие "материально-ответственное лицо"
4. Как происходит (организационно) отражение таких актов в программе? Ну типа бух к акту списания цепляет распечатку из программы
113 Feanor
 
30.04.09
15:17
Даже если получицца так сделать, то будет нихилая переделка типовых механизмов, чего бы не хотелось
114 selenat
 
30.04.09
15:28
(113) это так конечно. Но хотелось бы понять принцип, как можно сделать. Впрочем, если на основе этих идей получится не объединять 2 регистра в 1, то может быть и не такие уж глобальные будут изменения в типовой. Там ведь есть еще всякие ТоварыКПередачеСоСкладов. Если поймем механизм для 2 регистров, то может быть и обобщить удастся...
115 lals
 
30.04.09
19:17
(96) То разве много, у меня на рыбном цеху ни одна машина не выедет через проходную без расходной ннакладной на каждый рыбий хвост.
Себестоимость слетает реально при том что производство забивают только с 8-00 до 16-00 а цех работает круглые сутки. И бывают ситуевины когда продукция сделана по факту но документа производства ее еще нет, а ее уже отправили,
Выходим из ситуации так:
Технолог утром выбивает минусы по складу, чт о продали а еще не произвели, срочно делает документы производство и передачи на склад, но не парится с себестоимостью, Время и дата на компе технолога отстают на 18 часов, тоесть она их проводит в правильной последовательности (до продажи) И раз в месяц перепроводит доки ( производство, передача в склад, реализация)
Если последовательность соблюдена перепроводка выравнивает все косяки с себестоимостью, и она ставит запрет редактирования на последнее число.
Менять запрет редактирования имеют право только технолог и глав бух.
И слава боги и Нуралиеву все идет гладко.
117 Мимохожий Однако
 
30.04.09
23:00
Проводи только то, количество, которое есть в остатке на последний проведенный документ. С суммой тоже можно сообразить. Последовательность не нужна :-)
118 Злопчинский
 
01.05.09
02:10
все равно ничего не понятно...
119 MAKizKZ
 
01.05.09
07:38
Лень кодировать, словами для  одного субконто:
1)Записать док, получим время
2)Получаем СНД на позицию документа
3)вычитаем списываемое количество на доке
4) Бежим по операциям вперед в будущее, дебетовые обороты прибавляем, кредитовые вычитаем, как только спотыкаемся об отрицательное значение на пунктах 3, 4 горланим, что проведение невозможно

(79) Машина времени поворачивается назад ВОЗВРАТОМ ОТ ПОКУПАТЕЛЯ + указанием командиров_И_начальников о непременном приеме этого товара.
120 selenat
 
04.05.09
16:44
Для одного регистра остатков мы с Феанором задачу вроде решили. Улю, как насчет резервов. У тебя используются?
121 ado
 
04.05.09
17:08
Не, народ, если вы можете спокойно жить не забив вовремя приходный/расходный документ, значит оперативные данные по остаткам вам просто не нужны. Так почему бы, в таком случае, просто не проводить все приходы/расходы перед закрытием периода?
122 selenat
 
04.05.09
17:25
(121) т.е. ты считаешь, что объективно всегда можно обойтись без работы задним числом?
ЗЫ я согласен, что большая часть проблем вознивает просто из-за безалаберности и неправильной организации бизнеспроцессов. Соответственно, решается разграничием прав и административными мерами. Но ведь не все же...
123 у лю 427
 
04.05.09
18:53
Работа с резервами у меня есть...
Да вот тлько резервы у меня 2-х категорий - жесткие и мягкие
124 Torquader
 
04.05.09
20:07
А если у нас по товару есть движения вверх (приход) и движения вниз (расход), то можно получить по этим данным минимальное за период значение для товара на складе. И если при проведении документа списания оно остаётся положительным (или неотрицательным), то заведомо можно списать указанное количество товара в любой точке интервала времени.
Если к этому нужны резервы, то резервы действуют как виртуальные списания (то есть просто уменьшают минимум).
Другой вопрос в том, что момент продажи, момент производства, момент отгрузки и момент ввода документов могут сильно различаться по времени, и, если кто-то продал товар, которого ещё нет на складе физически, то как бы мы не мучили программу учёта - товар не появится. В таком случае проще хранить в документе две даты - дату ввода и фактическую дату выполнения действия.
125 selenat
 
04.05.09
21:59
(123) ты всегда отвечаешь так, что вопросов становится больше, чем ответов. :)))
(124) че-то ни асилил...
126 Cthulhu
 
04.05.09
23:24
тихо намекаю: а если попробовать прикрутить к решению проблемы не только бухгалтерские итоги?..
127 Злопчинский
 
05.05.09
02:12
(124) лабуда... какая нафиг разница - делать кучу расчетов во время проведения или во воремя восстановления ГП...??? где выигрыш по времени?
128 selenat
 
06.05.09
09:25
(126) ты сейчас про какую проблему? А то мы тут уже давно уже про УТ говорить начали...
129 selenat
 
06.05.09
10:07
В общем, если мы работаем с одним регистром, то все вроде красиво получается. Ввод нового измерения в виде даты прихода позволяет при расходном движении проверять остатки только на ТА. Про приходном движении чуть сложнее. Придется проверять остатки на 2 даты и возможно делать корректирующие движения. Вопрос в том, как быть с 2 регистрами, т.е. при учете регистра резервов. Получится ли решить задачу введя и в нем дополнительное измерение в виде даты?

(123) в чем суть "жесткости" и "мягкости" твоих резервов рассказать можешь?
130 selenat
 
06.05.09
10:07
(118) проверь почту...
131 selenat
 
06.05.09
10:49
че, уже никому тема не интересна? Для активного обсуждения всем тема сисек нужна?
132 selenat
 
06.05.09
12:56
типа апа. Ни у кого мыслей не появилось?
133 selenat
 
06.05.09
17:15
ладно, давайте тогда про сиськи штоле...
134 selenat
 
07.05.09
09:31
я здесь один? здесь есть кто-нибудь еще?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший