Переход на следущую запись в многострочной части из другого слоя данного документа. 1С 7.7

Новая тема
"Есть документ.<br>слой1 - Табличная часть<br>слой2 - Ввод данных (при помощи ПолейВвода), "ФИО" и "Должность" беруться из Слоя1.<br><br>На Слой2 добавляю кнопки "следущая запись" и "предыдущая запись" и процедуры к ним<br>НомерСтроки=НомерСтроки+1; // и соответственно -1<br>ПолучитьСтрокуПоНомеру (НомерСтроки);<br>АктивизироватьСтроку(НомерСтроки);<br>ОбновитьСлой2();<br><br>Результат:<br>Номерстроки=1<br>Первый раз нажимаю кнопку "Следущая запись"<br>НомерСтроки=2<br>ФИО и должность изменились<br>А тут происходит глюк.<br>Второй раз нажимаю кнопку "Следущая запись"<br>НомерСтроки=2<br>и т.д.<br>Что я делаю не правильно. Редактирование с помощью табличной части не устраивает т.к. слишком много параметров, в которых девушки путаются, а редактирование в форме им привычние. <br>"
"НомерСтроки=НомерСтроки+1; - не надо использовать такое в контексте форм документов, так как НомерСтроки - скрытый реквизит табличной части и изменять его вам система позволит только с помощью<br>ПолучитьСтрокуПоНомеру (НомерСтроки);<br>АктивизироватьСтроку(НомерСтроки);<br>и т.п.<br>конструкция НомерСтроки=НомерСтроки+1; вообще всегда должна срабатывать вхолостую. Делаем так:<br><br>Процедура ИзменитьСтроку(Арг)<br>   АктивизироватьСтроку(НомерСтроки+Арг);<br>КонецПроцедуры<br><br>и вызываем ее из ваших кнопок, Арг - это +1 или -1<br>"
Всеравно получается не то<br>При активной Слое1, все получается, переходит на следующую строку и так до конца многострочной части.<br>А при нахождении в Слое2, переключается только на следующую запись, а дальше будет переключаться только при переходе вручную на Слой1 и обратно.
"Хм, точно. Видимо, методы эти расчитаны на визуализированную форму. Обманем ее:<br><br>Перем НомерСтрочки;<br><br>Процедура ПриОткрытии()<br>   НомерСтрочки=?(КоличествоСтрок()>0,1,0);<br>   Форма.ИспользоватьСлой("Слой2");<br>   ОбновитьСлой2();<br>КонецПроцедуры<br><br>Процедура ИзменитьСтроку(Арг)<br>   НомерСтрочки=НомерСтрочки+Арг;<br>   ПолучитьСтрокуПоНомеру(НомерСтрочки);<br>   ОбновитьСлой2();<br>КонецПроцедуры<br><br>Только проверки надо вставить на не превышение количества строк этой переменной НомерСтрочки"
Ха...<br>Все работает...<br>Спасибо...<br>Уже неделю с этим бился, никак не мог сообразить, что это все так просто...<br>Спасибо большое!!!!!

Читают тему

(гостей: 1)

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