| 
    
            
         
         | 
    
    
  | 
Как получить остатки на конец периода по счету ? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        never_be    
     12.06.13 
            ✎
    17:20 
 | 
         
        Никогда не имел дело с запросами к регистрам бухгалтерии, мне надо на определенную дату запросом получить остатки на конец периода дебет и кредит (счет 631), какую таблицу для этого использовать, может пример есть какой-то ?     
         | 
|||
| 
    1
    
        Alterife    
     12.06.13 
            ✎
    17:21 
 | 
         
        Виртуальную таблицу регистра бухгалтерии. Также разберись с параметрами вируальных таблиц.     
         | 
|||
| 
    2
    
        zak555    
     12.06.13 
            ✎
    17:34 
 | 
         
        (1) +1
  
        только учти, что есть "свёрнутые" итоги и развёрнутые  | 
|||
| 
    3
    
        never_be    
     12.06.13 
            ✎
    17:37 
 | 
         
        Вот такой запрос получился:
  
        Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.Субконто3 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.Счет = &Счет | И ХозрасчетныйОстатки.Субконто1 = &Субконто1"; Запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.НайтиПоКоду("631")); Запрос.УстановитьПараметр("Субконто1",Результат.Ссылка); РезультатПоСчету = Запрос.Выполнить().Выбрать(); Не могу только вкурить как сюда период впихнуть, получаю остатки на текущую дату. В настройках таблицы есть период но его установить не могу,  | 
|||
| 
    4
    
        zak555    
     12.06.13 
            ✎
    17:38 
 | 
         
        1. читай, что такое параметры виртуальной таблицы
  
        2. какой период, если ты хочешь получить остаток на дату ?  | 
|||
| 
    5
    
        never_be    
     12.06.13 
            ✎
    17:40 
 | 
         
        (4) Неправильно выразился, таки на дату.     
         | 
|||
| 
    6
    
        never_be    
     12.06.13 
            ✎
    17:41 
 | 
         
        (2) Вот, мне надо чтоб остались только "незакрытые" суммы, как это сделать ?     
         | 
|||
| 
    7
    
        zak555    
     12.06.13 
            ✎
    17:41 
 | 
         
        РегистрБухгалтерии.Хозрасчетный.Остатки (тут есть параметры, и тут тоже)     
         | 
|||
| 
    8
    
        zak555    
     12.06.13 
            ✎
    17:42 
 | 
         
        (6) незакрытые суммы --- это и есть остатки     
         | 
|||
| 
    9
    
        never_be    
     12.06.13 
            ✎
    17:43 
 | 
         
        (7) В настройках таблицы Остатки есть окошко период в котором только мои 2 параметра счет и субконто1, где тут дату впилить ?     
         | 
|||
| 
    10
    
        never_be    
     12.06.13 
            ✎
    17:44 
 | 
         
        В регистрах накопления все как-то проще.     
         | 
|||
| 
    11
    
        zak555    
     12.06.13 
            ✎
    17:45 
 | 
         
        (9) открой в конфигуруторе справку
  
        (10) тоже самое  | 
|||
| 
    12
    
        never_be    
     12.06.13 
            ✎
    17:57 
 | 
         
        (11) Разобрался, спасибо.     
         | 
|||
| 
    13
    
        zak555    
     12.06.13 
            ✎
    18:05 
 | 
         
        (12) 790 рублёв мне бы не помешало на телефоне     
         | 
|||
| 
    14
    
        never_be    
     12.06.13 
            ✎
    18:23 
 | 
         
        (13) спасибо это намного больше :)
  
        почему-то запрос выполняется подозрительно медленно  | 
|||
| 
    15
    
        never_be    
     12.06.13 
            ✎
    22:06 
 | 
         
        Ребята если упорядочиваю по Субконто1 получаю неправильный результат запроса, в Субконто1 Контрагент, я хочу результат получить отсортированный по алфавиту, как это сделать ?
  
        Вот такой запрос выводит результат не правильно, без упорядочивания все гуд "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1 КАК Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.Субконто3 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаКон, , , ) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.Счет = &Счет | |УПОРЯДОЧИТЬ ПО | Субконто1";  | 
|||
| 
    16
    
        GoldenCalf    
     12.06.13 
            ✎
    22:19 
 | 
         
        А что значит неправильный результат?     
         | 
|||
| 
    17
    
        never_be    
     12.06.13 
            ✎
    22:27 
 | 
         
        (16)  Нету половину контрагентов в результате, не совпадает с ОСВ по счету, показывает по сути движения, а не остатки потому что есть все суммы, даже закрытые.     
         | 
|||
| 
    18
    
        never_be    
     12.06.13 
            ✎
    22:27 
 | 
         
        (16) без упорядочивания все ок, результат совпадает с ОСВ     
         | 
|||
| 
    19
    
        Фрэнки    
     12.06.13 
            ✎
    22:33 
 | 
         
        в параметрах остатков поставь отбор по счету, а то у тебя возвращает всю-всю остаточную вирт-таблицу на дату... А условие ХозрасчетныйОстатки.Счет = &Счет срабатывает в том виде как у тебя уже после выполнения дефолтного подзапроса для виртуальной таблицы.     
         | 
|||
| 
    20
    
        never_be    
     12.06.13 
            ✎
    22:33 
 | 
         
        Так с результатом и без упорядочивания лажа, проверил не все, оказывается результат отличается от ОСВ и хз почему. Что не так в запросе ? Видимо дату не так кушает.     
         | 
|||
| 
    21
    
        zak555    
     12.06.13 
            ✎
    22:36 
 | 
         
        (14) надо было 14 000 просить ?     
         | 
|||
| 
    22
    
        never_be    
     12.06.13 
            ✎
    22:39 
 | 
         
        (21)  )) Напасть какая-то, не работает ничего.     
         | 
|||
| 
    23
    
        Фрэнки    
     12.06.13 
            ✎
    22:40 
 | 
         
        (20) попробуй КонецДня(ДатаКон)+1 - там есть пояснения насчет использования даты в остатках, надо было внимательней читать     
         | 
|||
| 
    24
    
        zak555    
     12.06.13 
            ✎
    22:49 
 | 
         
        (22) что мне нужно сделать ?     
         | 
|||
| 
    25
    
        never_be    
     12.06.13 
            ✎
    22:50 
 | 
         
        (23) не помагает
  
        вот запрос Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1 КАК Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.Субконто3 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки"; Запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.НайтиПоКоду("631")); Запрос.УстановитьПараметр("Период",КонецДня(НаДату)+1); РезультатПоСчету = Запрос.Выполнить().Выбрать(); ставлю любую дату результат всегда одинаковый, ничего не понимаю.  | 
|||
| 
    26
    
        zak555    
     12.06.13 
            ✎
    22:53 
 | 
         
        (25) осв покажи     
         | 
|||
| 
    27
    
        hhhh    
     12.06.13 
            ✎
    23:25 
 | 
         
        дальше что написано?     
         | 
|||
| 
    28
    
        GROOVY    
     12.06.13 
            ✎
    23:31 
 | 
         
        (25) В школу... Нефиг методом тырканья пальцем работать с серьезной системой.
  
        Всего за 1000р на телефон я расскажу что такое параметр виртуальной таблицы "субконто", как он действует на производительность и как его использовать для выбора данных. Так же расскажу почему не имеет смысла выбирать счет в том случсе если он задан как значение отбора.  | 
|||
| 
    29
    
        GROOVY    
     12.06.13 
            ✎
    23:32 
 | 
         
        А, забыл.... Еще рублей 300 и я рассажу про параметр "Период" о том, что есть такая штука как "Граница"  о том, почему это не катит при оперативном проведении.     
         | 
|||
| 
    30
    
        zak555    
     12.06.13 
            ✎
    23:32 
 | 
         
        (28) > Так же расскажу почему не имеет смысла выбирать счет в том случсе если он задан как значение отбора.
  
        переведи  | 
|||
| 
    31
    
        GROOVY    
     12.06.13 
            ✎
    23:33 
 | 
         
        1300 должно на неделю хватить...     
         | 
|||
| 
    32
    
        zak555    
     12.06.13 
            ✎
    23:33 
 | 
         
        (31) ты много кушаешь     
         | 
|||
| 
    33
    
        GROOVY    
     12.06.13 
            ✎
    23:34 
 | 
         
        (30) Счет 631. Я это знаю. зачем мне в каждой строке в таблице еще и колонка с этим счетом? 631, 631, 631. Нафига? Счет что, другим будет?     
         | 
|||
| 
    34
    
        GROOVY    
     12.06.13 
            ✎
    23:35 
 | 
         
        (32) Я часто в роуминге. Это не я зажрался, а опсосы.     
         | 
|||
| 
    35
    
        zak555    
     12.06.13 
            ✎
    23:38 
 | 
         
        (33) это же укр, а у них нет субсчетов
  
        (34) надо бывать чаще на Родине  | 
|||
| 
    36
    
        GROOVY    
     12.06.13 
            ✎
    23:40 
 | 
         
        (35) Где про субсчета? 
  
        Я часто, пока что, бываю на родине. Больше чем полгода.  | 
|||
| 
    37
    
        zak555    
     12.06.13 
            ✎
    23:43 
 | 
         
        я неправильно прочитал (33) )))
  
        (36) в каких же странах ?  | 
|||
| 
    38
    
        GROOVY    
     12.06.13 
            ✎
    23:51 
 | 
         
        РФ, КЗ, Суоми, другое. По времени пребывания.     
         | 
|||
| 
    39
    
        never_be    
     13.06.13 
            ✎
    08:18 
 | 
         
        Вот окончательный вид запроса, какую дату не ставлю результат всегда одинаковый, кто-то кому не лень тыкните где не правильно, перерыл гугл но везде точно такой же запрос пишут и вроде работает
  
        Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1 КАК Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.Субконто3 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки"; Запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.РасчетыСОтечественнымиПоставщиками); Запрос.УстановитьПараметр("Период",КонецДня(НаДату));  | 
|||
| 
    40
    
        never_be    
     13.06.13 
            ✎
    08:38 
 | 
         
        (39) Плющит меня, все работает, осталось только упорядочить результат.
  
        Если делаю так, суммы правильные и упорядочивает как надо но в запрос попадают закрытые суммы, а мне контрагенты с нулевым остатком не нужны "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1 КАК Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.Субконто3 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки | |УПОРЯДОЧИТЬ ПО | ХозрасчетныйОстатки.Субконто1.Наименование";  | 
|||
| 
    41
    
        never_be    
     13.06.13 
            ✎
    08:53 
 | 
         
        Как в результате запроса выкинуть закрытые суммы ? 
  
        ДТ КТ 21.02.2013 1 156 30.04.2013 7 567,5 27.05.2013 4 372,8 29.01.2013 2 540,4 29.05.2013 1 271 29.01.2013 2 540,4 23.04.2013 7 567,5 30.04.2013 1 413 30.04.2013 1 413 22.05.2013 844 22.02.2013 1 156 28.05.2013 844 22.05.2013 4372,8  | 
|||
| 
    42
    
        Фрэнки    
     13.06.13 
            ✎
    08:55 
 | 
         
        (41) а там у тебя аналититки одинаковы в этих якобы "закрытых"?     
         | 
|||
| 
    43
    
        never_be    
     13.06.13 
            ✎
    09:29 
 | 
         
        (42) Да, одно счет, второе оплата. В оплате есть ссылка на счет.     
         | 
|||
| 
    44
    
        never_be    
     13.06.13 
            ✎
    09:38 
 | 
         
        Вот еще пример:
  
        ДТ КТ Поступление товаров и услуг 00000000437 3 424 Поступление товаров и услуг 00000001761 3 828 Платежное поручение исходящее 00000002097 3 828 нафига мне показывать 3828 если оно закрыто  | 
|||
| 
    45
    
        Фрэнки    
     13.06.13 
            ✎
    10:25 
 | 
         
        (44) по тексту запроса видно, что у тебя 4 субконто.
  
        Сворачивание остатков происходит в виртуальной таблице остатков регистра, когда все 4 субконто совпадут. Т.е. движения по составу значений в каждой своей записи отличаются у разных регистраторов  | 
|||
| 
    46
    
        never_be    
     13.06.13 
            ✎
    10:30 
 | 
         
        (45) Отличаются, то есть прийдется вручную убрать лишние записи ?     
         | 
|||
| 
    47
    
        Фрэнки    
     13.06.13 
            ✎
    10:38 
 | 
         
        (46) из отчета? ну будешь каждый раз убирать. Правильный подход - исправить или поступление или платежки
  
        А тебе в этом частном случае твоего отчета все 4-ре субконто сразу нужны? Я бы попробовал оставить в запросе только Субконто1 и посмотрел свернется оно автоматом или нет  | 
|||
| 
    48
    
        acsent    
     13.06.13 
            ✎
    10:40 
 | 
         
        (44) у  тебя НЕ ЗАКРЫТЫ остатки     
         | 
|||
| 
    49
    
        Csar    
     13.06.13 
            ✎
    10:53 
 | 
         
        (23) неправильно говоришь. Если проводки были не 31.12.12 23:59:59, а 01.01.13 00:00:00, то они тоже попадут в остатки. Правильно брать границу даты: 
  
        Запрос.УстановитьПараметр("Период",Новый Граница(КонецДня(НаДату), ВидГраницы.Включая));     | 
|||
| 
    50
    
        never_be    
     13.06.13 
            ✎
    11:01 
 | 
         
        (47) Мне надо только 1 и 3, пробовал их оставить ничего не меняется.     
         | 
|||
| 
    51
    
        Фрэнки    
     13.06.13 
            ✎
    11:15 
 | 
         
        (50) значит значения в третьем субконто выбраны разные. Во встроенной справке на таблицу остатков заявлено, что:
  
        --- Позволяет получать остатки на произвольную дату в разрезе Счет, <Имя измерения>, Субконто<Номер субконто>. Агрегация производится по полю счет, измерениям и субконто указанным в запросе. --- Так что попробуй переписать агрегацию на свой лад или думай о заменене третьего субконто в регистраторах и перепроведении документов за отчетный период.  | 
|||
| 
    52
    
        never_be    
     13.06.13 
            ✎
    11:20 
 | 
         
        (51) Спасибо, вопрос закрыт.     
         | 
|||
| 
    53
    
        Фрэнки    
     13.06.13 
            ✎
    11:28 
 | 
         
        (49) я дословных развернутых разъяснений разработчиков сейчас не могу найти, но сам смысл у виртуальных таблиц остатков такой, что для них задано по описанию << Позволяет получать остатки на произвольную дату в разрезе Счет, <Имя измерения>, Субконто<Номер субконто>. >>
  
        К сожалению, <<НА произольную дату>> разработчики сделали так, что запрос вернет разные результаты при подстановке в поле Период значений: ДАТА(01.01.13 00:00:00) или Новый Граница(ДАТА(01.01.13 00:00:00), ВидГраницы.Включая) .  | 
|||
| 
    54
    
        Csar    
     13.06.13 
            ✎
    11:39 
 | 
         
        (53) так, конечно, разные результаты. остатки на 'Дата' будут неполными и отличаться от истины. Что бы получить настоящие остатки на дату надо указывать дату через границу Граница('Дата', ВидГраницы.Включая). Это легко проверить посмотрев в ОСВ остаток по заданным условиям на дату 'Дата'.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |