Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0
Доброго вечера всем. В документе имеется поле со списком. Как сохранить выбранное нами значение из списка, чтобы при открытии этого документа в поле со списком был не первый элемент, а сохраненный? Надеюсь, сформулировал понятно.
Ничто так не ограничивает полет мысли программиста, как компилятор...
Инд = список.НайтиЗначение(СокрЛП(ВыбРеквизит)); Если Инд = 0 Тогда // нет такого в списке список.ТекущаяСтрока(1); ВыбРеквизит = список.ПолучитьЗначение(1); Иначе список.ТекущаяСтрока(Инд); КонецЕсли;
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0
Цитата(igmig65 @ 26.03.11, 0:55)
Инд = список.НайтиЗначение(СокрЛП(ВыбРеквизит)); Если Инд = 0 Тогда // нет такого в списке список.ТекущаяСтрока(1); ВыбРеквизит = список.ПолучитьЗначение(1); Иначе список.ТекущаяСтрока(Инд); КонецЕсли;
все равно выводит первую строку. Вот код:
Инд = ГрузПол.НайтиЗначение(СокрЛП(Грузополучатель)); Если Инд = 0 Тогда // нет такого в списке ГрузПол.ТекущаяСтрока(1); Грузополучатель = ГрузПол.ПолучитьЗначение(1); Иначе ГрузПол.ТекущаяСтрока(Инд); КонецЕсли;
Грузополучатель - это реквизит, или пременная? Какой тип? Если выводит 1 строку, значит ненаходит что нужно, пройдитесь отладчиком и посмотрите что у вас в приоткрытии в Грузополучателе, должно быть сохраненное значение.
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0
Цитата(igmig65 @ 26.03.11, 15:25)
Грузополучатель - это реквизит, или пременная? Какой тип? Если выводит 1 строку, значит ненаходит что нужно, пройдитесь отладчиком и посмотрите что у вас в приоткрытии в Грузополучателе, должно быть сохраненное значение.
ПриЗаписи()
грузополучатель это реквизит, числового типа
Ничто так не ограничивает полет мысли программиста, как компилятор...
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0
Вряд ли у Вас Грузополучатель -- это значение числового типа, а Вы его сохраняете в реквизит числового типа. Если хотите сохранять в числовой реквизит, тогда сохраняйте номер строки списка.
Если Грузополучатель = 0 Тогда // нет такого в списке ГрузПол.ТекущаяСтрока(1); Грузополучатель = ГрузПол.ТекущаяСтрока(); Иначе ГрузПол.ТекущаяСтрока(Грузополучатель); КонецЕсли;
А в ПриЗаписи():
Грузополучатель=ГрузПол.ТекущаяСтрока();
Или измените тип реквизита Грузополучатель на тип значений из списка ГрузПол.
Инд = ГрузПол.НайтиЗначение(СокрЛП(Грузополучатель)); Если Инд = 0 Тогда // нет такого в списке ГрузПол.ТекущаяСтрока(1); Грузополучатель = ГрузПол.ПолучитьЗначение(1); Иначе ГрузПол.ТекущаяСтрока(Инд); КонецЕсли;
Не соответствие типов : в первой строке кода поиск идет строки, если не найден то из списка берется значение по позиции №1, если в списке тип храниміх значений не строки - то он никогда не найдет это значение
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!