Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

чудеса с ИспользоватьКорСубконто v7.7

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №1
 
17.07.2009 11:08

"Релиз 7.70.027<br>конфигурация - любая на компоненте бухучет<br><br>Вот как вы думаете, почему не работает так:<br><br>СписокКонтрагентов=СоздатьОбъект("СписокЗначений");<br>СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор.Владелец);<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,СписокКонтрагентов,2);<br>БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);<br>Сообщить(БухИт.КорДО()); //выводится 0<br><br>но работает так:<br><br>СписокДоговоров=СоздатьОбъект("СписокЗначений");<br>СписокДоговоров.ДобавитьЗначение(ВыбДоговор);<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Договоры,СписокДоговоров,2);<br>БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);<br>Сообщить(БухИт.КорДО()); //выводится нужная сумма<br><br>кстати, если фильтр - не список, а ссылка на элемент, то работает нормально. я не понимаю логику разработчика движка :("

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №2
 
17.07.2009 11:24

Если бы это было единственное :)<br>БухИтогами надо работать осторожно, и часто устраивать "пляски с бубном" :)<br>Именно такое впечатление у меня от них осталось.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №3
 
17.07.2009 11:51

Вот сейчас и стану плясать с бубном да жезлом. Переставлять стану доминантную и дополняющую выборку местами, когда возможно возникновение проблемы. Это я наваял что то вроде "универсального отчета по бухитогам", который полностью настраивается пользователем. Задумка такая: пользователь имеет возможность насоздавать в программе кучу так называемых шаблонов, в которых может сам указать какие запросы к бухитогам выполнить, настроить фильтры и признаки разверток по субконто произвольным образом. При этом возможны обращения к остаткам и оборотам. Вот с оборотами то и заморочка. Когда указываются фильтры и в дебетовую и в кредитовую сторону, возникают грабли при применении ИспользоватьКорСубконто, когда они заданы списом по виду субконто не самого последнего уровня, которые есть на счете. Думается, что это в движке проблема, со своей стороны я ее поправить не могу, могу только минимизировать вероятность возникновения ситуации разными ухищрениями

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №4
 
20.07.2009 10:10

"> Релиз 7.70.027<br>> конфигурация - любая на компоненте бухучет<br>> <br>> Вот как вы думаете, почему не работает так:<br>> <br>> СписокКонтрагентов=СоздатьОбъект("СписокЗначений");<br>> СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор.Владелец);<br>> БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>> БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,СписокКонтрагентов,2);<br>> БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);<br>> Сообщить(БухИт.КорДО()); //выводится 0<br>> <br><br>а так работает?<br><br>писокКонтрагентов=СоздатьОбъект("СписокЗначений");<br>СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор.Владелец);<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,СписокКонтрагентов,1);<br>БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);<br>Сообщить(БухИт.КорДО());"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №5
 
20.07.2009 10:17

Завтра попробую. Сейчас я не у того клиента, которому делал эту штуку. Но это не выход, так как возможен и фильтр и развертка. Пользователю дал возможность ставить "галочку" в признак "разворачивать по субконто" и по идее и тот и другой способ востребован

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №6
 
20.07.2009 10:18

> Завтра попробую. Сейчас я не у того клиента, которому делал эту штуку. Но это не выход, так как возможен и фильтр и развертка. Пользователю дал возможность ставить "галочку" в признак "разворачивать по субконто" и по идее и тот и другой способ востребован<br><br>я думаю, что должно будет заработать т.к. с отбором - вечные проблемы были....

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №7
 
20.07.2009 10:43

Хотя, в приницпе... да, это решение! Если с разверткой заработает, то я все время стану запросы к бухитогам в этом месте с разверткой и посылать, а пользователю показывать так как он хочет, либо свернуто, либо с разверткой. Завтра попробую, спасибо за наводку

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №8
 
21.07.2009 08:57

Нет, так тоже не работает. В общем, пока вышел из ситуации дополнительным анализом описанного пользователем правила выборки данных и переставляю местами Счет и КорСчет, при этом вместо ИспользоватьКорСубконто() вызываю ИспользоватьСубконто() и оно работает. Но не факт, что пользователь не создаст сложное правило для выборки сведений бухитогов, проблема все равно возникнет, хотя это маловероятно

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №9
 
21.07.2009 10:26

"а точно ПустоеЗначение(ВыбДоговор.Владелец) <> 0 ?<br>+<br>а так :<br><br>СписокКонтрагентов=СоздатьОбъект("СписокЗначений");<br>СписокКонтрагентов.ДобавитьЗначение(ВыбДоговор.Владелец);<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьСубконто();<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,СписокКонтрагентов,2);<br>БухИт.ВыполнитьЗапрос(Дата("01.04.2009"),Дата("30.06.2009"),"51","62.1",,2);"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №10
 
21.07.2009 10:58

"> а точно ПустоеЗначение(ВыбДоговор.Владелец) <> 0 ?<br>Конечно точно :)<br>я когда пример писал, упростил до невозможности алгоритм, чтобы показать суть бага. Реально в моей программе такого места вовсе нет, мой алгоритм это 2842 строчки :))) не буду же я их сюда кидать и просить посмотреть чего это там глючит. В общем, могу дать точную описание бага, если это нужно. Кстати, надо бы, чтобы представители 1С перенаправили эту информацию тем, кто движок поддерживает (это для v7.7 еще делается?):<br><br>Итак, формулировка бага:<br>При использовании метода ИспользоватьКорСубконто() объекта БухгалтерскиеИтоги с применением в нем фильтра или развертки в виде списка значений по виду субконто, не являющимся самым глубоким по уровню на кор.счете, который участвует в запросе, результатом является 0.<br><br>Дополнение:<br>1. Все замечательно работает, если в ИспользоватьКорСубконто() указывать не список значений, а ссылку на элемент аналитики.<br>2. Все замечательно работает, если поменять местами Счет и КорСчет в запросе и вместо ИспользоватьКорСубконто() использовать ИспользоватьСубконто(), но такой прием не подходит если у меня стоит задача использовать фильтрацию и по прямой и по корреспондирующей стороне.<br><br>> БухИт.ИспользоватьСубконто();<br>не помогло<br><br>да ладно, я вроде уже обрулил этот баг, снизив вероятность его возникновения :)"

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация