Заполнение формы документа

Тема в разделе "1C и всё что с ней связано", создана пользователем Butty, 21 фев 2007.

Статус темы:
Закрыта.
  1. Butty

    Butty Гость

    Такая вот проблема.
    В форме документа (табличная часть) вводятся два счета - д*цензура* и кредит (реквизиты табличной части). Причем один из них (или д*цензура* или кредит) может повторяться в следующих строках. Например, д-т "01", кр-т "00", далее д-т "10", кр-т "00"; д-т "41", кр-т "00" и т.д. Может быть наоборот д-т "00", кредит "02" и т.д. Подскажите, как и где сохранить этот счет (в моем примере "00"), чтобы он по умолчанию использовался в следующей строке. Причем этот счет может меняться: быть и в д*цензура*е и в кредите (но счет один - "00"). Т.О. если в д*цензура*е выбран другой счет (не "00"), то в кредит счет "00" должен ставиться автоматически.
    Спасибо за ответы.
     
  2. LSH

    LSH Гость

    Используй СчетПоКоду("00")
    На счет д*цензура*а и счет кредита (колонки в табл. части) повесь процедуру, которая будет анализировать текущую колонку, и, если это д*цензура* - автоматом в реквизит счет кредита записывать СчетПоКоду("00"), и наоборот.
    примерно так:

    Процедура ПриВыбореСчетаДК()
    Если Форма.ТекущаяКолонка() = "СчетД*цензура*" Тогда
    СчетКредит = СчетПоКоду("00");
    ИначеЕсли Форма.ТекущаяКолонка() = "СчетКредит" Тогда
    СчетД*цензура* = СчетПоКоду("00");
    КонецЕсли;
    КонецПроцедуры
     
  3. Butty

    Butty Гость

    Спасибо, попробовала - не работает. Вернее, так как надо не работает. Возможно, проблему сформулировала не ясно. :) Дело в том, что мне надо, чтобы в следующей строчке были те же счета д*цензура*а и кредита, что и в предыдущей. В 1С 6.0 у меня это очень просто получалось. Хочу тоже и в 7.7. - а не выходит :D . Буду пробовать другие варианты. Вот например:
    Процедура ПриРедактированииНовойСтроки ().
    Может посоветуете как ее применить? Спасибо за ответы.
     
  4. LSH

    LSH Гость

    Хех, как формулируете, так и отвечем. :)

    А процедуру в вашем случае применить просто:

    Код (Text):
    Процедура ПриРедактированииНовойСтроки()
    Если НомерСтроки = 1 Тогда
    Возврат; //чтобы при вводе первой строки не было ошибок
    КонецЕсли;
    ПолучитьСтрокуПоНомеру(НомерСтроки-1); //позиционируемся на предыдущ. строку
    БылСчД = Счетд*цензура*;
    БылСчК = СчетКредит; //или как там эти реквизиты у вас называются
    ПолучитьСтрокуПоНомеру(НомерСтроки+1); //возвращаемся на свою строку
    СчетД*цензура* = БылСчетД; //присваиваем
    СчетКредит = БылСчетК;
    КонецПроцедуры
     
  5. Butty

    Butty Гость

    LSH, большое спасибо! Действительно, очень просто (о чем я и догадывалась) :)
    Пойду переделывать следующий документ. Еще раз спасибо за помощь. Просто хочу сделать свою настойку, "с нуля". А опыта маловато. :)
    Пока
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей