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

Хранилище

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

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



> Получить Текущую Строку Списка с помощью процедуры из общего модуля          
Gigi Подменю пользователя
сообщение 30.05.17, 15:07
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Привет всем!
проблема такая...
Накидал малый код функции для получения текущей выделенной строки списка
Поскольку в синтаксис помощнике инфа довольно скупая и размытая.... сколько пробовал разные варианты и еле попал в то, как по синтаксису правильно написать... буквально методом тыка и догадкой
И вроде получилось попасть как эту ерунду правильно написать, вот в таком вот виде:
&НаКлиенте
Функция Получить_ТекущуюСтрокуСписка(ИмяСписка,Столбец) Экспорт
//------------------------------------------------------
ТекСтрока= Элементы[ИмяСписка].ТекущаяСтрока;
ТекСтрокаЗнСтолбца = Элементы[ИмяСписка].ДанныеСтроки(ТекСтрока)[Столбец];
Возврат ТекСтрокаЗнСтолбца;
//------------------------------------------------------
КонецФункции

Вроде все путем, но просто охота это перенести в общий модуль
Но как только перенес в общий модуль то, на линии: "Элементы" естественно выдает ошибку и пишет:
Цитата
{ОбщийМодуль.Fx_Список.Модуль(4,12)}: Переменная не определена (Элементы)
ТекСтрока= <<?>>Элементы[ИмяСписка].ТекущаяСтрока; (Проверка: Тонкий клиент)
{ОбщийМодуль.Fx_Список.Модуль(5,22)}: Переменная не определена (Элементы)
ТекСтрокаЗнСтолбца = <<?>>Элементы[ИмяСписка].ДанныеСтроки(ТекСтрока)[Столбец]; (Проверка: Тонкий клиент)

Так что, прошу помощи.
Может для общего модуля кто подкорректирует, если не сильно накладно и сложно.
Буду признателен!

logist Подменю пользователя
сообщение 30.05.17, 15:21
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Элементы тоже передавайте в общий модуль.

Функция Получить_ТекущуюСтрокуСписка(Элементы, ИмяСписка, Столбец) Экспорт


p.s. но тут опять же становится вопрос начальной задачи, нахрена всё это, если это можно сделать в форме одной строкой
ЗначениеКолонки = Элементы.ИмяСписка.ТекущиеДанные.ИмяКолонки;

даже если подумать, что вам нужна унифицированная процедура, то она бы выглядела скорее так
&НаКлиенте
Функция Получить_ТекущуюСтрокуСписка(ЭлементСписок, ИмяКолонки) Экспорт
// где ЭлементСписок это сам элемент списка
    Возврат ЭлементСписок.ТекущиеДанные[ИмяКолонки];
КонецФункции


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

Petre Подменю пользователя
сообщение 30.05.17, 15:23
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Gigi @ Сегодня, 16:07 * ,
"Элементы" - контекст "ЭтотОбъект" / "ЭтаФорма".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Gigi,

Bernet Подменю пользователя
сообщение 30.05.17, 15:24
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

Gigi @ Сегодня, 16:07 * ,
Если функция будет в общем модуле, то должна быть включена галочка "Клиент (управляемое приложение)"
Функция Получить_ТекущуюСтрокуСписка(Элементы, ИмяСписка, Столбец) Экспорт
   ТекСтрока= Элементы[ИмяСписка].ТекущаяСтрока;
   ТекСтрокаЗнСтолбца = Элементы[ИмяСписка].ДанныеСтроки(ТекСтрока)[Столбец];
   Возврат ТекСтрокаЗнСтолбца;
КонецФункции


В формах где будете вызывать пишите такой код:
     ТекущееЗначение = ВашОбщийМодуль.Получить_ТекущуюСтрокуСписка(Элементы, "ВашаТаблица", "ВашСтолбец");


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 30.05.17, 15:49
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Цитата(logist @ 30.05.17, 16:21) *
p.s. но тут опять же становится вопрос начальной задачи, нахрена всё это, если это можно сделать в форме одной строкой
ЗначениеКолонки = Элементы.ИмяСписка.ТекущиеДанные.ИмяКолонки;

Ну и ладно .. можно и в таком виде ... не важно .. я просто сам че то накидал.. то как мог.. а так думаю и вправду лучше.
Цитата(Bernet @ 30.05.17, 16:24) *
галочка "Клиент (управляемое приложение)"

Да! так и сделал и теперь все выглядит вот так:

&НаКлиенте
Процедура Тест(Команда)
знИмяКолонки="Код";
ТекСтрока=Fx_Список.ПолучитьТекущуюСтрокуСписка(Элементы.ТочкиУчетаСписок, знИмяКолонки);
Сообщить(ТекСтрока);    
КонецПроцедуры

//В общем модуле: "Fx_Список"
Функция ПолучитьТекущуюСтрокуСписка(ЭлементСписок, ИмяКолонки) Экспорт
//где ЭлементСписок это сам элемент списка
Возврат ЭлементСписок.ТекущиеДанные[ИмяКолонки];
КонецФункции

Все работает!
Первый раз без кучи дискуссий!
Спасибо всем!




logist Подменю пользователя
сообщение 30.05.17, 23:04
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 30.05.17, 16:49) *
знИмяКолонки="Код";
ТекСтрока=Fx_Список.ПолучитьТекущуюСтрокуСписка(Элементы.ТочкиУчетаСписок, знИмяКолонки);

Не создавайте не нужный хлам переменных
ТекСтрока=Fx_Список.ПолучитьТекущуюСтрокуСписка(Элементы.ТочкиУчетаСписок, "Код");


Цитата(Gigi @ 30.05.17, 16:49) *
Первый раз без кучи дискуссий!

Это может быть не вашей заслугой, а людей которые научились понимать wink.gif


Signature
Личные бесплатные консультации не даю, для этого есть форум!

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


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

 

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