Имя: Пароль:
1C
1С v8
Проверка остатков
, ,
0 geka-geka
 
20.03.12
13:56
Создаю документ ОперацияБух. Создаю проводку. Делаю провеку остатка.

Функция ПолучитьКолОстатокПоСчету(Организация, Период, Счет, Валюта = Неопределено, Субконто1 = Неопределено, Субконто2 = Неопределено)
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Период"      , Период.Дата);
   Запрос.УстановитьПараметр("Счет"        , Счет);
   Запрос.УстановитьПараметр("Организация" , Организация);
   Запрос.УстановитьПараметр("Субконто1"   , Субконто1);
   Запрос.УстановитьПараметр("Субконто2"   , Субконто2);
   Запрос.УстановитьПараметр("ВидыСубконто", Счет.ВидыСубконто.ВыгрузитьКолонку("ВидСубконто"));
   
   Запрос.Текст = "ВЫБРАТЬ
                  |    Остатки.Счет,
                  |    Остатки.Субконто1,
                  |    Остатки.Субконто2,
                  |    ЕСТЬNULL(Остатки.СуммаОстаток, 0) КАК СуммаОстаток,
                  |    Остатки.КоличествоОстаток
                  |ИЗ
                  |    РегистрБухгалтерии.Хозрасчетный.Остатки(
                  |            &Период,
                  |            Счет = &Счет,
                  |            &ВидыСубконто,
                  |            Организация = &Организация
                  |                И Субконто1 = &Субконто1
                  |                И Субконто2 = &Субконто2) КАК Остатки
                  |
                  |ДЛЯ ИЗМЕНЕНИЯ
                  |    РегистрБухгалтерии.Хозрасчетный.Остатки";

   Остатки = Запрос.Выполнить().Выгрузить();
   
   Возврат Остатки;
   
КонецФункции // ПолучитьОстатокПоСчету()

Но не берет двидения созданного документа.
Как сделать проверку остатка, чтобы она учитывала движения созданного документа, не проведенного?
1 Maxus43
 
20.03.12
14:00
дополнить полученую таблицу записями документа ОперацияБух, из того же регистра, только у них активность = ЛОЖЬ. в таблице остатков этих жанных нет
2 Джинн
 
20.03.12
14:00
Не проведенный документ - черновик. У него нет движений.

Позаботьтесь о контроле самостоятельно, откорректировав остатки на количество, имеющееся в записанном документе.
3 Maxus43
 
20.03.12
14:01
(2) минимум 2 документа имеют движения не проведённые)
4 Ork
 
20.03.12
14:01
(2) Новая фишка - проверка остатков уже после проведения. И если не срослось - только тогда отказ.
5 Sandy_S
 
20.03.12
14:05
у операциибух нет понятия проведен или нет. Есть только активны движения документа или нет.
6 geka-geka
 
20.03.12
14:06
(4) в моем случае так не пойдет
7 Maxus43
 
20.03.12
14:08
смотри на вид счета, в зависимости от этого и Дт или Кт в неактивной проводке - плюсуй или вычитай из остатка
8 Джинн
 
20.03.12
14:08
Ё! Да это еще и бухоперация! Слона то я и не приметил. Месье знает только в извращениях, двигая товарные запасы бухоперациями.

(4) Лучше период стразу закрывать и финрезультат определять. А если не срослось - отказ :)
9 Ork
 
20.03.12
14:09
(6) Чем ваш случай особенный?

По методике 1С постпроверка подходит если нужен только контроль. И не подходит если при проведении нужны какие-либо расчеты по остаткам без учета движения документа.
10 Ork
 
20.03.12
14:12
+(9) Вот здесь : http://chistov.spb.ru/publ/novaja_metodika_kontrolja_otricatelnykh_ostatkov_pri_provedenii_dokumentov_v_sisteme_1s_predprijatie_8_2/5-1-0-29 все изложено. Чем лучше старой и когда можно и нельзя применить.
11 Sandy_S
 
20.03.12
14:13
(0) Период проверь и включи у него границу
12 geka-geka
 
20.03.12
14:19
(12)делаю движение с датой документа. Для проверки остатка ставлю дату документа + 1.
13 geka-geka
 
20.03.12
14:20
(12) 12->11
14 Maxus43
 
20.03.12
14:21
(13) > (1). В таблице ОСТАТКОВ нет записей по этой операции, неактивные движения в вирт таблицах не содержаться. какой вопрос то ещё?
15 segun
 
22.03.12
15:59
(4) Новая фишка - проверка остатков уже после проведения. И если не срослось - только тогда отказ.

Эта фишка только для регистра накопления.  Регистр бухгалтерии надо проверять до проведения..