Имя: Пароль:
1C
1С v8
Запрос остатков РегистрНакопления
0 ittaxi
 
09.06.17
11:40
В общем если запросить все записи в РегистрНакопления то все получается

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   РегистрДепозитВодителя.ДепозитИтого,
        |   РегистрДепозитВодителя.ДолженВКассуЕЩЕ,
        |   РегистрДепозитВодителя.СданоВКассу,
        |   РегистрДепозитВодителя.Водитель
        |ИЗ
        |   РегистрНакопления.РегистрДепозитВодителя КАК
        |   РегистрДепозитВодителя
        |УПОРЯДОЧИТЬ ПО
        |   РегистрДепозитВодителя.Водитель УБЫВ";

  
    Результат = Запрос.Выполнить().Выбрать();



    Пока Результат.Следующий() Цикл
        Сообщить(
            Результат.Водитель + " Наш Водитель" +
            Результат.ДепозитИтого + " ДепозитИтого " +
            Результат.ДолженВКассуЕЩЕ + " ДолженВКассуЕЩЕ " +
            Результат.СданоВКассу + " СданоВКассу "
             );
            
    КонецЦикла;



но при запросе остатков ошибка

    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   РегистрДепозитВодителя.ДепозитИтого,
        |   РегистрДепозитВодителя.ДолженВКассуЕЩЕ,
        |   РегистрДепозитВодителя.СданоВКассу,
        |   РегистрДепозитВодителя.Водитель
        |ИЗ
        |   РегистрНакопления.РегистрДепозитВодителя.Остатки(
           &ВыбДата,
        |       &ВыбВодитель
        |      
    |  )КАК РегистрДепозитВодителя
        |УПОРЯДОЧИТЬ ПО
        |   РегистрДепозитВодителя.Водитель УБЫВ";

         Запрос.УстановитьПараметр("ВыбДата",
        Новый Граница('20170609235959', ВидГраницы.Включая)
        );
        
        Запрос.УстановитьПараметр("ВыбВодитель",
        Справочники.Водители.НайтиПоНаименованию("Силкин")
        );    
        
    Результат = Запрос.Выполнить().Выбрать();



    Пока Результат.Следующий() Цикл
        Сообщить(
            Результат.Водитель + " Наш Водитель" +
            Результат.ДепозитИтого + " ДепозитИтого " +
            Результат.ДолженВКассуЕЩЕ + " ДолженВКассуЕЩЕ " +
            Результат.СданоВКассу + " СданоВКассу "
             );
            
    КонецЦикла;


{Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(28)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить().Выбрать();
по причине:
{(2, 27)}: Поле не найдено "РегистрДепозитВодителя.ДепозитИтого"
РегистрДепозитВодителя.<<?>>ДепозитИтого,


Как получить остаток  в моем случае по водителю?
1 1dvd
 
09.06.17
11:46
//&ВыбВодитель
Водитель = &ВыбВодитель
2 ittaxi
 
09.06.17
11:50
(1) тоже самое
{Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(28)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить().Выбрать();
по причине:
{(2, 27)}: Поле не найдено "РегистрДепозитВодителя.ДепозитИтого"
РегистрДепозитВодителя.<<?>>ДепозитИтого,

не на ходит поле
3 Неверный Параметр И
 
09.06.17
11:56
|   РегистрНакопления.РегистрДепозитВодителя.Остатки(
           &ВыбДата,
        |       &ВыбВодитель
        |      
    |  )КАК РегистрДепозитВодителя
...
        
        Запрос.УстановитьПараметр("ВыбВодитель",
        Справочники.Водители.НайтиПоНаименованию("Силкин")
        );    

Этачо было?
4 Альбатрос
 
09.06.17
11:57
(2) Значит нет такого поля там
5 Альбатрос
 
09.06.17
11:59
Вангую, что ДепозитИтого это реквизит РН
6 Zmich
 
09.06.17
11:59
|РегистрДепозитВодителя.ДепозитИтогоОстаток,
7 singlych
 
09.06.17
11:59
К именам ресурсов добавь "Остаток"
8 ittaxi
 
09.06.17
11:59
(3) Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   РегистрДепозитВодителя.ДепозитИтого,
        |   РегистрДепозитВодителя.ДолженВКассуЕЩЕ,
        |   РегистрДепозитВодителя.СданоВКассу,
        |   РегистрДепозитВодителя.Водитель
        |ИЗ
        |  
        | РегистрНакопления.РегистрДепозитВодителя.Остатки(
    |       &ВыбДата,
        |          Водитель = &ВыбВодитель
        |      
    |  )КАК РегистрДепозитВодителя
        |УПОРЯДОЧИТЬ ПО
        |   РегистрДепозитВодителя.Водитель УБЫВ";

         Запрос.УстановитьПараметр("ВыбДата",
        Новый Граница('20170609235959', ВидГраницы.Включая)
        );
        
        Запрос.УстановитьПараметр("ВыбВодитель",
        Справочники.Водители.НайтиПоНаименованию("Силкин")
        );    
        
    Результат = Запрос.Выполнить().Выбрать();
  
    Пока Результат.Следующий() Цикл
        Сообщить(
            Результат.Водитель + " Наш Водитель" +
            Результат.ДепозитИтого + " ДепозитИтого " +
            Результат.ДолженВКассуЕЩЕ + " ДолженВКассуЕЩЕ " +
            Результат.СданоВКассу + " СданоВКассу "
             );
            
    КонецЦикла;
9 ittaxi
 
09.06.17
12:01
(5) нет Ресурс
10 Альбатрос
 
09.06.17
12:02
(9)  тогда (6) (7) . А вообще пользуйтесь конструктором запросов и будет вам щастье
11 ittaxi
 
09.06.17
12:10
(6) (7)
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   РегистрДепозитВодителя.ДепозитИтогоОстаток,
        |   РегистрДепозитВодителя.ДолженВКассуЕЩЕОстаток,
        |   РегистрДепозитВодителя.СданоВКассуОстаток,
        |   РегистрДепозитВодителя.ВодительОстаток
        |ИЗ
        |   РегистрНакопления.РегистрДепозитВодителя.Остатки(
        |       &ВыбДата,
        |          Водитель = &ВыбВодитель
        |      
        |  )КАК РегистрДепозитВодителяОстаток
        |УПОРЯДОЧИТЬ ПО
        |   РегистрДепозитВодителяОстаток.ВодительОстаток УБЫВ";

         Запрос.УстановитьПараметр("ВыбДата",
        Новый Граница('20170609235959', ВидГраницы.Включая)
        );
        
        Запрос.УстановитьПараметр("ВыбВодитель",
        Справочники.Водители.НайтиПоНаименованию("Силкин")
        );    
        
    Результат = Запрос.Выполнить().Выбрать();
  
    Пока Результат.Следующий() Цикл
        Сообщить(
            Результат.Водитель + " Наш Водитель" +
            Результат.ДепозитИтого + " ДепозитИтого " +
            Результат.ДолженВКассуЕЩЕ + " ДолженВКассуЕЩЕ " +
            Результат.СданоВКассу + " СданоВКассу "
             );
            
    КонецЦикла;
12 Альбатрос
 
09.06.17
12:14
ВодительОстаток? )))))
13 Альбатрос
 
09.06.17
12:14
У вас ваодители амортизируются по тихоньку?
14 ittaxi
 
09.06.17
12:15
{Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(28)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить().Выбрать();
по причине:
{(2, 4)}: Поле не найдено "РегистрДепозитВодителя.ДепозитИтогоОстаток"
<<?>>РегистрДепозитВодителя.ДепозитИтогоОстаток,
15 ittaxi
 
09.06.17
12:16
(13) Это в спешке, до туда все равно не доходит
16 Альбатрос
 
09.06.17
12:19
Настоятельно рекомендую воспользоваться конструктором запросов!
17 singlych
 
09.06.17
12:19
(15) "ИЗ ... КАК РегистрДепозитВодителяОстаток", а выбираешь из "РегистрДепозитВодителя".
Воспользуйся уже конструктором.
18 ittaxi
 
09.06.17
12:30
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   РегистрДепозитВодителя.ДепозитИтогоОстаток,
        |   РегистрДепозитВодителя.ДолженВКассуЕЩЕОстаток,
        |   РегистрДепозитВодителя.СданоВКассуОстаток,
        |   РегистрДепозитВодителя.Водитель
        |ИЗ
        |   РегистрНакопления.РегистрДепозитВодителя.Остатки(
        |       &ВыбДата,
        |          Водитель = &ВыбВодитель
        |      
        |  )КАК РегистрДепозитВодителя";
        //|УПОРЯДОЧИТЬ ПО
        //|   РегистрДепозитВодителя.ВодительОстаток УБЫВ";

         Запрос.УстановитьПараметр("ВыбДата",
        Новый Граница('20170609235959', ВидГраницы.Включая)
        );
        
        Запрос.УстановитьПараметр("ВыбВодитель",
        Справочники.Водители.НайтиПоНаименованию("Силкин")
        );    
        
    Результат = Запрос.Выполнить().Выбрать();
  
    Пока Результат.Следующий() Цикл
        Сообщить(
            Результат.Водитель + " Наш Водитель" +
            Результат.ДепозитИтого + " ДепозитИтого " +
            Результат.ДолженВКассуЕЩЕ + " ДолженВКассуЕЩЕ " +
            Результат.СданоВКассу + " СданоВКассу "
             );
            
    КонецЦикла;



{Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(28)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить().Выбрать();
по причине:
{(5, 27)}: Поле не найдено "РегистрДепозитВодителя.Водитель"
РегистрДепозитВодителя.<<?>>Водитель

прогресс теперь на водителя ругается
водитель у меня реквизит в РН
19 Неверный Параметр И
 
09.06.17
12:33
Реквизитов в остатках не бывает. Бывают изменения и ресурсы.
20 Неверный Параметр И
 
09.06.17
12:34
Измерения

Чортов телефон ничего не понимает в 1С
21 ittaxi
 
09.06.17
12:35
(19) понятно :-)
22 h-sp
 
09.06.17
12:41
(21) и вот тут какой-то бред

         Результат.ДепозитИтого + " ДепозитИтого " +
            Результат.ДолженВКассуЕЩЕ + " ДолженВКассуЕЩЕ " +
            Результат.СданоВКассу + " СданоВКассу "
23 D_E_S_131
 
09.06.17
13:03
Просто интересно, почему ТС не пользуется конструктором запросов?
24 ittaxi
 
09.06.17
13:11
(23) я сейчас как раз через него и делаю.
25 ittaxi
 
09.06.17
13:23
&НаСервере
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |РегистрДепозитВодителяОстатки.Водитель,
    |РегистрДепозитВодителяОстатки.ДепозитИтогоОстаток,
    |РегистрДепозитВодителяОстатки.ДолженВКассуЕЩЕОстаток,
    |РегистрДепозитВодителяОстатки.СданоВКассуОстаток
    |ИЗ
    |РегистрНакопления.РегистрДепозитВодителя.Остатки КАК РегистрДепозитВодителяОстатки";


        
    Результат = Запрос.Выполнить().Выбрать();
  
    Пока Результат.Следующий() Цикл
        Сообщить(
            
            
            "Водитель" + " " + Результат.Водитель +
            " ДепозитИтого " + Результат.ДепозитИтогоОстаток + " ДолженВКассуЕЩЕ " +
            Результат.ДолженВКассуЕЩЕОстаток +
            " СданоВКассу " + Результат.СданоВКассуОстаток + " "
            
            
             );
            
    КонецЦикла;
    


Сделал через конструктор все заработало, всем  большео спасибо.