чудеса с ИспользоватьКорСубконто v7.7
Показывать по
10
20
40
сообщений
- 1
- 2
21.07.2009
11:04
#11
> 1. Все замечательно работает, если в ИспользоватьКорСубконто() указывать не список значений, а ссылку на элемент аналитики.
понятно, а если в сз добавить ещё контрагента ?
т.е. чтоб список значений будет содержать больше одного значения, что будет?
понятно, а если в сз добавить ещё контрагента ?
т.е. чтоб список значений будет содержать больше одного значения, что будет?
21.07.2009
11:11
#12
"Так же будет... Баг как раз в том, что не работает если значение фильтра имеет тип "Список значений" вне зависимости от того сколько там элементов внутри. Вот сами попробуйте:
делаем обработку, в форму вставляем один реквизит ВыбДоговор вида "Справочник.Договоры". Текст такой:
Процедура Сформировать()
СписокКонтрагентов=СоздатьОбъект("СписокЗначений");
СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор.Владелец);
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,СписокКонтрагентов,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
СписокДоговоров=СоздатьОбъект("СписокЗначений");
СписокДоговоров.ДобавитьЗначение(ВыбДоговор);
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Договоры,СписокДоговоров,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,ВыбДоговор.Владелец,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Договоры,ВыбДоговор,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
КонецПроцедуры
В форме выбираем любой договор, по которому за период нам покупатель платил, получаем (в моем случае):
0
117603.56
117603.56
117603.56
такого быть не может, 1-е число должно быть равно 3-му, а 2-е равно 4-му. Все 4 равны если движения были только по одному договору"
делаем обработку, в форму вставляем один реквизит ВыбДоговор вида "Справочник.Договоры". Текст такой:
Процедура Сформировать()
СписокКонтрагентов=СоздатьОбъект("СписокЗначений");
СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор.Владелец);
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,СписокКонтрагентов,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
СписокДоговоров=СоздатьОбъект("СписокЗначений");
СписокДоговоров.ДобавитьЗначение(ВыбДоговор);
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Договоры,СписокДоговоров,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,ВыбДоговор.Владелец,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Договоры,ВыбДоговор,2);
БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);
Сообщить(БухИт.КорДО());
КонецПроцедуры
В форме выбираем любой договор, по которому за период нам покупатель платил, получаем (в моем случае):
0
117603.56
117603.56
117603.56
такого быть не может, 1-е число должно быть равно 3-му, а 2-е равно 4-му. Все 4 равны если движения были только по одному договору"
21.07.2009
11:17
#13
"имело ввиду другое - мне кажется, что баг этот возникает, когда размер списка значений = 1
т.е. ради интереса проверить, когда
СписокКонтрагентов=СоздатьОбъект("СписокЗначений");
СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор1.Владелец);
СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор2.Владелец);
где ВыбДоговор1 и ВыбДоговор2 разные договоры разных контрагентов"
т.е. ради интереса проверить, когда
СписокКонтрагентов=СоздатьОбъект("СписокЗначений");
СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор1.Владелец);
СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор2.Владелец);
где ВыбДоговор1 и ВыбДоговор2 разные договоры разных контрагентов"
21.07.2009
11:20
#14
Да я понял, нет, не будет работать. У меня >1800 значений в списке значений в фильтре, результат = 0
- 1
- 2
Читают тему
(гостей: 1)