ОСВ по счету

Новая тема
Показывать по 10 20 40 сообщений
Это один из вариантов. Можно реквизит "Счет" убрать, тогда необходимо отследить, где он использовался в модуле отчета и заменить его значением

Сч = СписокСчетов.ПолучитьЗначение(СписокСчетов.ТекущаяСтрока()).



Также нужно учесть, что при выборе значения в реквизите "Счет" вызывалась процедура ПриВыбореСчета().
"Чтобы не усложнять решил помимо вашей процедуры ПриОткрытии добавить в процедуру ПриВыборесчета проверку на совпадение "Счета" с выбранным из списка





текСчет=СписокСчетов.ПолучитьЗначение(СписокСчетов.ТекущаяСтрока());

Если Счет.ТекущаяСтрока()<>текСчет    Тогда

 Предупреждение("Вы не имеете права доступа к этому отчету!");

СтатусВозврата(0);

Возврат;

КонецЕсли;





Но все не так просто...выдало ошибку



  текСчет=СписокСчетов.ПолучитьЗначение(СписокСчетов.ТекущаяСтрока());

{Отчет.ОборотноСальдоваяВедомостьПоСчету.Форма.Модуль(498)}: Индекс не входит в границы списка значений.

Если Счет.ТекущаяСтрока()<>текСчет    Тогда

{Отчет.ОборотноСальдоваяВедомостьПоСчету.Форма.Модуль(502)}: Поле агрегатного объекта не обнаружено (ТекущаяСтрока)





Неужели все так плохо?!!"
Вы решили не усложнять, а усложняете. :) По моему, не нужен вам реквизит "Счет".



Насчет ошибок:



"Индекс не входит в границы списка значений" - наверное, равен нулю - не выбрали счет в реквизите "СписокСчетов".



"Поле агрегатного объекта не обнаружено" - метод ТекущаяСтрока() применим к объектам типа "СписокЗначений" или "ТаблицаЗначений", а у вас реквизит "Счет", у которого тип "Счет".
Так он даже не дает мне выбрать счет, сразу пишет ошибку.

А если убрать реквизит Счет, то получается придется переписывать всю процедуру ПоОткрытииСчета?

Читают тему
(гостей: 1)

Быстрый переход