Имя: Пароль:
1C
1C 7.7
v7: Не рассчитываются бухИтоги
0 alp2003
 
16.04.13
12:20
Здравствуйте!
Заполняю таблицу значений на форме остатками материалов по сотрудникам.
Но почему-то не рассчитываются итоги:
  БИ.ВыполнитьЗапрос(,ДатаДок,"10.11.1",,,,,"К");
Результат 0
Вот код.

Процедура ПриВыбореСотрудника()
   БИ = СоздатьОбъект("БухгалтерскиеИтоги");  
   БИ.ВключатьСубсчета(1);
   БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники,Сотрудник,2);
   БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,,1);
   БИ.ВыполнитьЗапрос(,ДатаДок,"10.11.1",,,,,"К");
   БИ.ВыбратьСубконто(2,,,1,1);  //??? ПУСТО
   Пока БИ.ПолучитьСубконто(1)=1 Цикл  
       БИ.ВыбратьСчета();
       Пока БИ.ПолучитьСчет()=1 Цикл
           ОстатокКол = БИ.СКД("К");
           Если ОстатокКол>0 Тогда
               Наличие.НоваяСтрока();
               Наличие.Код         = БИ.Субконто(1).Код;
               Наличие.Счет         = БИ.Счет;
               Наличие.НазвМатУСотр = БИ.Субконто(1);
               Наличие.ЕИ               = БИ.Субконто(1).ЕдиницаИзмерения.Наименование;
               Наличие.Количество     = ОстатокКол;
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
   
КонецПроцедуры


Подскажите, в чем ошибка?
1 Zhuravlik
 
16.04.13
12:24
БИ.ВыбратьСубконто(2,,,1,1); - это по 2 субконто, а по 1?
2 Zhuravlik
 
16.04.13
12:25
БИ.ВключатьСубсчета(1); - в выборку еще попадут итоги по группам...
А вообще обороткой такие вещи не собираются, имхо лучше из регистров.
3 alp2003
 
16.04.13
12:34
(1) <Индекс> - число: порядковый номер вызова метода ''ИспользоватьСубконто''. - из helpa. У меня по второму методу
4 alp2003
 
16.04.13
12:35
(2) Бухгалтерия 7.7 стандарт. Здесь вообще регистрами ничего не ведется
5 zak555
 
16.04.13
12:36
(3) задачу опиши
6 alp2003
 
16.04.13
12:40
(5) Делаю документ "Возврат спецодежды на склад". Хочу чтобы в таблице "Наличие" показывались остатки спецодежды по сотрудникам (счет 10.11.1) в формате "Код", "название", "Кол-во". У счета 10.11.1  три субконто: Материал, Наз.использ. Сотрудники.
7 NikVars
 
16.04.13
12:41
(0) А вместо БИ.ВыбратьСубконто(2,,,1,1);  //??? ПУСТО
БИ.ВыбратьСубконто();  //??? ПУСТО
8 zak555
 
16.04.13
12:41
сотрудники в ТЧ документа ?
9 alp2003
 
16.04.13
12:43
(8) ТЧ?
10 Zhuravlik
 
16.04.13
12:44
(3) Тогда не обьявляй первое. Либо делай еще один цикл.
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 Цикл

ВыбратьСубконто(2);
Пока БИ.ПолучитьСубконто(2) = 1 Цикл
КонецЦикла

КонецЦикла
11 Zhuravlik
 
16.04.13
12:45
(9) Табличная часть =)
12 alp2003
 
16.04.13
12:46
(11) Нет, Сотрудник атрибут.
13 Zhuravlik
 
16.04.13
12:46
(10) "Тогда не обьявляй первое. " - Фигню несу. В общем, как в примере из (10) сделай.
14 zak555
 
16.04.13
12:47
(12) Чё ?
15 Zhuravlik
 
16.04.13
12:47
(12) А таблица где находится? В документе?
16 Zhuravlik
 
16.04.13
12:47
(14) У него фильтр по сотру в (0): БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники,Сотрудник,2);
17 alp2003
 
16.04.13
12:49
(15) На форме ТаблицаЗначений
18 alp2003
 
16.04.13
12:53
(7) Тоже самое. Результат 0
19 Zhuravlik
 
16.04.13
12:55
(17) Либо как в (10) двумя циклами, либо
   БИ.ВыбратьСубконто(2,,,1,1);  //??? ПУСТО

   "Пока БИ.ПолучитьСубконто(1)=1 Цикл" =  Пока БИ.ПолучитьСубконто(2)=1 Цикл - а то "Выбрать" тут для второго, а "получить" для первого.
Я обычно 2 циклами делаю, так проще как-то...
Погоди, у тебя 10.11.1 - это группа, или счет?
И по ОСВ если посмотреть, там вообще какие остатки есть?
20 alp2003
 
16.04.13
12:58
(19) 10.11.1 - Счет. Да остатки есть.
21 Zhuravlik
 
16.04.13
13:01
(20) А зачем тогда вот это "БИ.ВыбратьСчета();"??
22 zak555
 
16.04.13
13:01
БИ = СоздатьОбъект("БухгалтерскиеИтоги");  
БИ.ВключатьСубсчета(1);
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,,1);
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники,Сотрудник,2);
БИ.ВыполнитьЗапрос(,ДатаДок,"10.11.1",,,,,"К");

БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 Цикл
    БИ.ВыбратьСчета();
    Пока БИ.ПолучитьСчет()=1 Цикл
           ОстатокКол = БИ.СКД("К");
    КонецЦикла;
КонецЦикла
23 viktor_vv
 
16.04.13
13:06
(22)+1.

А так ты тут че-то намудрил с параметрами


БИ.ВыбратьСубконто(2,,,1,1);  //??? ПУСТО
   Пока БИ.ПолучитьСубконто(1)=1 Цикл  

Учитывая твое БИ.ВыбратьСубконто(2,,,1,1);  //??? ПУСТО

надо

   Пока БИ.ПолучитьСубконто(2,1)=1 Цикл
24 alp2003
 
16.04.13
13:08
(22) БИ.ВыбратьСубконто(1);
Ошибка. Данная операция допустима только в режиме запроса по аналитики
25 viktor_vv
 
16.04.13
13:09
(23) ПолучитьСубконто(<Индекс>,<Номер>,<Значение>)

<Индекс> - число: порядковый номер вызова метода ''ИспользоватьСубконто''.

у тебя это 2.

<Номер> - число - номер выборки. Необязательный параметр.

у тебя это 1, отсюда БИ.ВыбратьСубконто(2,,,<<1>>,1);
26 Zhuravlik
 
16.04.13
13:10
(24) Лучше сразу код выложи
27 alp2003
 
16.04.13
13:15
(26)
Пока БИ.ПолучитьСубконто(2,1)=1 Цикл  
{Документ.ВозвратСпецОдеждыНаСклад.Форма.Модуль(49)}: Данная операция допустима только в режиме запроса по аналитике !
28 alp2003
 
16.04.13
13:17
Спасибо за помощь. Буду пробовать предложенные варианты, но только после обеда :-). А то отток крови от мозга начался - в желудок :-)
29 Zhuravlik
 
16.04.13
13:18
(27)...весь...
Если ты делаешь (24) + (27) - то понятно, что в (24) выбираем 1 субконто, в (27) получаем второе - вот и глюк.
А если нет, выложи ВЕСЬ код.
30 zak555
 
16.04.13
13:31
хватит уже издеваться ?
31 alp2003
 
16.04.13
15:12
Вот рабочий вариант: (22)

А ошибка была как и предположил (19)
Сотрудники которых я смотрел были в справочнике в другой группе, которая появилась в результате неудачного эксперимента с переносом справочника из другой конфы.
Прошу прощения что отнял Ваше драгоценное время.
"Лишь в спорах рождается истина"! Спасибо всем еще раз.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан