Имя: Пароль:
1C
1С v8
Порядок движений в регистрах и остатки после/перед движения
0 romaku
 
19.08.11
12:23
Можно ли однозначно определить последовательность движений по регистру бухгалтерии по МоментуВремени? То есть, при существовании проводок созданных одним и тем же периодом (датой и временем), одним и тем же регистратором) на определенный МоментВремени каждой проводки Запрос будет давать один и тот же остаток по счету?
Другими словами, мне нужен остаток по счету перед каждой проводкой по счету. Проводки могут быть созданы одним и тем же периодом. Не будет ли меняться  порядок проводок по МоментуВремени. Например есть три проводки: Приход, Расход, Приход. Всегда ли запрос с упорядочением по МоментуВремени будет давать один и тот же порядок, или они могут меняться местами. Сперва расход, потом два прихода, или два прихода и расход, при условии что регистратор совпадает.
1 Grusswelle
 
19.08.11
12:24
АВТОУПОРЯДОЧИВАНИЕ
2 romaku
 
19.08.11
12:25
чуть подробнее можно пожалуйста
3 Господин ПЖ
 
19.08.11
12:26
>Можно ли однозначно определить последовательность движений по регистру бухгалтерии по МоментуВремени?

нет...
4 Naumov
 
19.08.11
12:26
Наблюдается неправильный подход.
5 Господин ПЖ
 
19.08.11
12:26
>АВТОУПОРЯДОЧИВАНИЕ

бугага...
6 romaku
 
19.08.11
12:27
а как тогда однозначно узнать остатки по счету?
7 romaku
 
19.08.11
12:27
нужны остатки до и после определеной проводки в куче таких же проводок
8 Господин ПЖ
 
19.08.11
12:31
позиция в 8-ке есть только в пределах вида документа... И то - куда при записи она новый документ запердолит - неизвестно
9 romaku
 
19.08.11
12:47
мне нужно выбирать уже существующие документы и проводки. хочу понять, если без перепроведения это однозначная последовательность проводок будет или нет? можно ли однозначно получить остатки до и после проводки.
10 romaku
 
21.08.11
18:48
уже всю голову сломал. как расположить на временной оси проводки, сделанные в одной ручной операции, с одним и тем же периодом (дата, время), чтобы можно было бы однозначно после до и после каждой проводки вывести сальдо на счете.
подскажите пожалуйста начинающему.
11 romaku
 
21.08.11
18:54
может помимо моментавремени и периода есть еще какой-то признак, по которому можно выбрать остатки?

сейчас я выбираю остатки на МоментВремени проводки, но туда попадают и соседние проводки, которые сделаны в этой же операици и в это же время
12 IronDemon
 
21.08.11
19:19
(11) Эээ, как бы МоментВремени уникальная штука. Может ты остатки неправильно берешь?
13 IronDemon
 
21.08.11
19:19
Не на границу времени а на время, например ;)
14 romaku
 
21.08.11
19:34
ЗапросОстатковНаСчете.Текст = "ВЫБРАТЬ
   |    ОсновнойОстатки.Счет,
   |    ОсновнойОстатки.Субконто1,
   |    ОсновнойОстатки.Субконто2,
   |    ОсновнойОстатки.Субконто3,
   |    ОсновнойОстатки.СуммаОстаток,
   |    ОсновнойОстатки.Сумма2Остаток,
   |    ОсновнойОстатки.Сумма3Остаток,
   |    ОсновнойОстатки.КоличествоОстаток,
   |    ОсновнойОстатки.Валюта,
   |    ОсновнойОстатки.Организация,
   |    ОсновнойОстатки.ВидКапитала,
   |    ОсновнойОстатки.План,
   |    ОсновнойОстатки.ВалютнаяСуммаОстаток
   |ИЗ
   |    РегистрБухгалтерии.Основной.Остатки(&Момент, Счет = &Счет, , Организация = &Организация "+УсловиеПоСубконто+") КАК ОсновнойОстатки    ";
   
   ЗапросОстатковНаСчете.УстановитьПараметр("Организация",Организация);
   ЗапросОстатковНаСчете.УстановитьПараметр("Счет",Проводка.СчетДт);
   
   //ЗапросОстатковНаСчете.УстановитьПараметр("Момент",Новый Граница(Проводка.МоментВремени, ВидГраницы.Исключая));    
   //ЗапросОстатковНаСчете.УстановитьПараметр("Момент",Проводка.МоментВремени);    
   ЗапросОстатковНаСчете.УстановитьПараметр("Момент",Новый Граница(Проводка.МоментВремени, ВидГраницы.Включая));
15 romaku
 
21.08.11
19:34
момент времени берется из:

ЗапросПоДвижениям = Новый Запрос;       //  в запросе необходимо предусмотреть, чтобы вбыорка осуществлялась по счетам из табличной части, без учета субсчетов
   ЗапросПоДвижениям.Текст = "ВЫБРАТЬ
   |    ОсновнойДвиженияССубконто.Организация,
   |    ОсновнойДвиженияССубконто.Период,
   |    ОсновнойДвиженияССубконто.Регистратор,
   |    ОсновнойДвиженияССубконто.НомерСтроки,
   |    ОсновнойДвиженияССубконто.СчетДт,
   |    ОсновнойДвиженияССубконто.СубконтоДт1,
   |    ОсновнойДвиженияССубконто.СубконтоДт2,
   |    ОсновнойДвиженияССубконто.СубконтоДт3,
   |    ОсновнойДвиженияССубконто.Сумма,
   |    ОсновнойДвиженияССубконто.Сумма2,
   |    ОсновнойДвиженияССубконто.Сумма3,
   |    ОсновнойДвиженияССубконто.КоличествоДт,
   |    ОсновнойДвиженияССубконто.СчетКт,
   |    ОсновнойДвиженияССубконто.СубконтоКт1,
   |    ОсновнойДвиженияССубконто.СубконтоКт2,
   |    ОсновнойДвиженияССубконто.СубконтоКт3,
   |    ОсновнойДвиженияССубконто.КоличествоКт,
   |    ОсновнойДвиженияССубконто.МоментВремени,
   |    ОсновнойДвиженияССубконто.ВидКапитала,
   |    ОсновнойДвиженияССубконто.План
   |ИЗ
   |    РегистрБухгалтерии.Основной.ДвиженияССубконто(
   |            ,
   |            ,
   |            Организация = &Организация
   |                И Счет В (&Счет)) КАК ОсновнойДвиженияССубконто
   |    УПОРЯДОЧИТЬ ПО
   |    МоментВремени";
16 romaku
 
21.08.11
19:36
И есть ОДНА тестовая операция, где три проводки одним и тем же временем.
Остатки с учетом всех трех проводок
17 romaku
 
21.08.11
19:37
остатки показывает с учетом всех трех проводок
18 romaku
 
21.08.11
19:58
притом МоментВремени получается что равен у всех трех проводок: "Операция NL0000750 от 21.08.2011 12:00:00", так как операция одна и та же, и проводки одним и тем же временем созданы. или не так?
19 ilkoder
 
21.08.11
20:03
... ну так у тебя вид границы - включая, вот она и берет все три. И в пределах секунды они могут быть в любом порядке, потэтому при оперативном проведении - момент времени обязательно сдвигается на секунду. Уникальности в проводках нет, так что в пределах секунды они могут быть расположены как угодно...
20 romaku
 
21.08.11
20:12
а если ВидГраницы.Исключая, тогда все три не берет в остатки.
То есть внутри секунды нельзя однозначно отделить остатки после каждой проводки?
При оперативном проведении сдвигать на секунду - это означает что в одном документе не должно быть проводок с одним и тем же временем?
21 ilkoder
 
21.08.11
20:18
(20) - при оперативном проведении, чтобы можно было всегда отделить проводки одного документы от другого документ сдвигается минимум на секунду (на курсах объясняли, что при одновременном оперативном проведении нескольких документов - они будут обязательно сдвигаться, только если не конец дня) - тебе нужно просто в запросе сделать дополнительное упорядочивание... может по номеру строки, только не уверен, что в документе операция есть номер строки если честно..
22 romaku
 
21.08.11
20:26
(21) в котором запросе? мне же нужны остатки.

документы сдвигаются автоматически?
23 ilkoder
 
21.08.11
20:36
документы могут проводится или оперативно (со сдвигом) или неоперативно (не меняя момент времени). Документ операция вообще не проводится, он пишет движения напрямую в регистр. То есть можно узнать что произошло после всех движений документов, но залезти внутрь этих самых движений внутри одной секунды не получится.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший