Имя: Пароль:
1C
1С v8
Как получить значение всех субконто в операциибух?
0 Босечка
 
17.08.16
15:49
Как получить значение всех  субконто в  документе ОперациЯБух?

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

Сообщить(НаборЗаписей.СубконтоДт);  - ясно дело неправильно.
Как лучше написать?
1 Fragster
 
гуру
17.08.16
15:51
выбрать запросом с видом субконто?
2 SSSSS_AAAAA
 
17.08.16
15:52
(0) А ничего, что на одной стороне проводки может быть больше одного субконто?
3 Босечка
 
17.08.16
15:54
А я не говорю что у меня правильно. Я спрашиваю как сделать?
4 Босечка
 
17.08.16
16:01
Опер = Документы.ОперацияБух.Выбрать(Дата1,Дата2);
Пока Опер.Следующий() цикл

Запрос= Новый Запрос;

Запрос.Текст=

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

Запрос.УстановитьПараметр("ДокОпер",Опер.Ссылка);
Т=Запрос.Выполнить().Выгрузить();
Т.ВыбратьСтроку();

Конеццикла;

Теперь правильно? Все равно не работает. Все повисло...
5 Босечка
 
17.08.16
16:10
ап....
6 hhhh
 
17.08.16
16:16
а зачем Т.ВыбратьСтроку(); ??
7 RomanYS
 
17.08.16
16:18
(4) ДвиженияССубконто - виртуальная таблица. Чтобы не повисло надо заполнить параметры, перенести туда условие.
8 Босечка
 
17.08.16
16:18
Делаю в Бухгалтерии 3.0. В процедуре на сервере.
Выбратьстроку чтобы проверить что у меня все отобразилось.
9 hhhh
 
17.08.16
16:20
(8) отладчик применяй
10 Босечка
 
17.08.16
16:21
(7) Ничего не виртуальная а обычная.
11 RomanYS
 
17.08.16
16:23
(10) тогда ждите, восьмерка сырая - тормозит.
12 Fragster
 
гуру
17.08.16
16:23
можно взять все данные из таблицы субконто, а не движения с субконто
13 Босечка
 
17.08.16
16:25
А разница?
14 Fragster
 
гуру
17.08.16
16:26
(13) а разница - разница есть
15 Босечка
 
17.08.16
16:26
Ладно попробую
16 Босечка
 
17.08.16
16:34
Та же фигня.....
17 Мыш
 
17.08.16
16:42
Самое быстрое:
ВЫБРАТЬ Значение ИЗ РегистрБухгалтерии.<Имя регистра бухгалтерии>.Субконто ГДЕ Регистратор=&Регистратор