Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Поле со списком          
Flamepayne Подменю пользователя
сообщение 25.03.11, 16:41
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0

Доброго вечера всем. В документе имеется поле со списком. Как сохранить выбранное нами значение из списка, чтобы при открытии этого документа в поле со списком был не первый элемент, а сохраненный? Надеюсь, сформулировал понятно.


Signature
Ничто так не ограничивает полет мысли программиста, как компилятор...

Ziam Подменю пользователя
сообщение 25.03.11, 16:52
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Из: Харцызск
Спасибо сказали: 62 раз
Рейтинг: 0

Создать реквизит в документе, где будет храниться выбранное значение. Я так понимаю список динамический и заполняется при открытии?

Flamepayne Подменю пользователя
сообщение 25.03.11, 17:06
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0

Цитата(Ziam @ 25.03.11, 22:52) *
Создать реквизит в документе, где будет храниться выбранное значение. Я так понимаю список динамический и заполняется при открытии?

совершенно верно, при открытии заполняется список.


Signature
Ничто так не ограничивает полет мысли программиста, как компилятор...

igmig65 Подменю пользователя
сообщение 25.03.11, 18:55
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 613
Из: Донецкая обл
Спасибо сказали: 168 раз
Рейтинг: 140.9

Инд = список.НайтиЗначение(СокрЛП(ВыбРеквизит));
Если Инд = 0 Тогда
    // нет такого в списке
    список.ТекущаяСтрока(1);
    ВыбРеквизит = список.ПолучитьЗначение(1);
Иначе
    список.ТекущаяСтрока(Инд);
КонецЕсли;

Flamepayne Подменю пользователя
сообщение 26.03.11, 5:42
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0

Цитата(igmig65 @ 26.03.11, 0:55) *
Инд = список.НайтиЗначение(СокрЛП(ВыбРеквизит));
Если Инд = 0 Тогда
    // нет такого в списке
    список.ТекущаяСтрока(1);
    ВыбРеквизит = список.ПолучитьЗначение(1);
Иначе
    список.ТекущаяСтрока(Инд);
КонецЕсли;

все равно выводит первую строку. Вот код:
Инд = ГрузПол.НайтиЗначение(СокрЛП(Грузополучатель));
        Если Инд = 0 Тогда
        // нет такого в списке
             ГрузПол.ТекущаяСтрока(1);
             Грузополучатель = ГрузПол.ПолучитьЗначение(1);
        Иначе
               ГрузПол.ТекущаяСтрока(Инд);
        КонецЕсли;

А при закрытии:
Грузополучатель=ГрузПол.ПолучитьЗначение(ГрузПол.ТекущаяСтрока());


Signature
Ничто так не ограничивает полет мысли программиста, как компилятор...

igmig65 Подменю пользователя
сообщение 26.03.11, 9:25
Сообщение #6

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 613
Из: Донецкая обл
Спасибо сказали: 168 раз
Рейтинг: 140.9

Грузополучатель - это реквизит, или пременная? Какой тип?
Если выводит 1 строку, значит ненаходит что нужно, пройдитесь отладчиком и посмотрите что у вас в приоткрытии в Грузополучателе, должно быть сохраненное значение.
Цитата
А при закрытии:

ПриЗаписи()

Flamepayne Подменю пользователя
сообщение 26.03.11, 12:21
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0

Цитата(igmig65 @ 26.03.11, 15:25) *
Грузополучатель - это реквизит, или пременная? Какой тип?
Если выводит 1 строку, значит ненаходит что нужно, пройдитесь отладчиком и посмотрите что у вас в приоткрытии в Грузополучателе, должно быть сохраненное значение.

ПриЗаписи()

грузополучатель это реквизит, числового типа


Signature
Ничто так не ограничивает полет мысли программиста, как компилятор...

5_kopeek Подменю пользователя
сообщение 26.03.11, 14:06
Сообщение #8

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Вряд ли у Вас Грузополучатель -- это значение числового типа, а Вы его сохраняете в реквизит числового типа. Если хотите сохранять в числовой реквизит, тогда сохраняйте номер строки списка.

Если Грузополучатель = 0 Тогда
        // нет такого в списке
             ГрузПол.ТекущаяСтрока(1);
             Грузополучатель = ГрузПол.ТекущаяСтрока();
        Иначе
               ГрузПол.ТекущаяСтрока(Грузополучатель);
        КонецЕсли;


А в ПриЗаписи():

Грузополучатель=ГрузПол.ТекущаяСтрока();


Или измените тип реквизита Грузополучатель на тип значений из списка ГрузПол.

Flamepayne Подменю пользователя
сообщение 26.03.11, 14:20
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0

Я уже понял, почти также и сделал, как Вы написали.


Signature
Ничто так не ограничивает полет мысли программиста, как компилятор...

dmiter Подменю пользователя
сообщение 27.03.11, 20:37
Сообщение #10

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

Цитата(Flamepayne @ 26.03.11, 7:42) *
все равно выводит первую строку. Вот код:
Инд = ГрузПол.НайтиЗначение(СокрЛП(Грузополучатель));
        Если Инд = 0 Тогда
        // нет такого в списке
             ГрузПол.ТекущаяСтрока(1);
             Грузополучатель = ГрузПол.ПолучитьЗначение(1);
        Иначе
               ГрузПол.ТекущаяСтрока(Инд);
        КонецЕсли;

А при закрытии:
Грузополучатель=ГрузПол.ПолучитьЗначение(ГрузПол.ТекущаяСтрока());

Не соответствие типов : в первой строке кода поиск идет строки, если не найден то из списка берется значение по позиции №1, если в списке тип храниміх значений не строки - то он никогда не найдет это значение

5_kopeek Подменю пользователя
сообщение 27.03.11, 20:54
Сообщение #11

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

dmiter, действительно, еще и СокрЛП подкралось незаметно... smile.gif

Flamepayne Подменю пользователя
сообщение 28.03.11, 2:31
Сообщение #12

Говорящий
***
Группа: Пользователи
Сообщений: 85
Из: Сибирь
Спасибо сказали: 13 раз
Рейтинг: 0

Да я уже разобрался wink.gif Тему можно закрывать =)


Signature
Ничто так не ограничивает полет мысли программиста, как компилятор...

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 20.04.24, 2:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!