Строка таблица значений как параметр процедуры

Форум 1С: Одинэс.Ру

Найти!

Строка таблица значений как параметр процедуры

Путевый лист
02.07.2009 - 10:26
Что-то я затупил совсем. Как передать процедуре строку таблицы значений чтобы она по ее реквизиту сделала необходимые вычисления.
Просто передать имя таблицы значений??? Что в этом случае является контекстом???
Хотя можно конечно и по отладчику посмотреть :((((((((((
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
06.12.2020 - 01:33
Смотри также:
Обработка для централизованного принудительного завершение работы ​всех пользователей. Что посоветуете?
Вопрос по обновлениям базы 1С: бухгалтерия
Как из 1С обратиться к странице Интернета?

Re: Строка таблица значений как параметр процедуры

Uho
1 - 02.07.2009 - 10:30
а просто этот реквизит передать не судьба?
ну а так...
спозиционироваться на строке и передать саму ТЗ

Re: Строка таблица значений как параметр процедуры

roma n
2 - 02.07.2009 - 10:31
Передай всю ТЗ со спозиционированной строкой.
Или все необходимые для работы процедуры значения из этой строки

Re: Строка таблица значений как параметр процедуры

Путевый лист
3 - 02.07.2009 - 10:38
Функция Пересчет(ТЗ)
Возврат ТЗ.Цена*ТЗ.Количество
КонецФункции
 
тз.выбратьстроки()
Пока тз.получитьстроку()=1 цикл
ТЗ.Сумма=Пересчет(ТЗ)
КонецЦикла;
 
Правильно я понял?????????

Re: Строка таблица значений как параметр процедуры

roma n
4 - 02.07.2009 - 10:41
В общем правильно. Только вот смысл изменять строку в одном месте, а получать данные из неё в другом?... Но конструкция эта будет работать

Re: Строка таблица значений как параметр процедуры

Путевый лист
5 - 02.07.2009 - 10:45
(4) Да ум у Вас острый. Действительно проще было процедуру сделать, в которой бы все что надо посчиталось РассчитатьСумму(ТЗ)

Интересные темы

odines.ru
06.12.2020 - 01:33
Смотри также:
Помогите уже день играюсь с регистрами!!!
Как реализовать взаиморасчеты с контрагентом в валюте в Бух 506?
Не получается проверить 2НДФЛ :(

Re: Строка таблица значений как параметр процедуры

Uho
6 - 02.07.2009 - 11:04
5-Путевый лист
имхо, roma n, имел ввиду обратное:
 
тз.выбратьстроки()
Пока тз.получитьстроку()=1 цикл
ТЗ.Сумма=ТЗ.Цена*ТЗ.Количество;
КонецЦикла;

Re: Строка таблица значений как параметр процедуры

Uho
7 - 02.07.2009 - 11:05
+6 да и вообще, почему нельзя на этапе заполнения ТЗ рассчитывать сумму?

Re: Строка таблица значений как параметр процедуры

Uho
8 - 02.07.2009 - 11:08
+7 да и зачем вообще нужна такая ТЗ?

Re: Строка таблица значений как параметр процедуры

Путевый лист
9 - 02.07.2009 - 11:42
(7,8) Ну понятно что мне надо довольно-таки сложный алгоритм, в котором считается масса всего на основании этой строки

Re: Строка таблица значений как параметр процедуры

VZ
10 - 02.07.2009 - 13:05
Просто передай Список значений.

Re: Строка таблица значений как параметр процедуры

USSR
11 - 02.07.2009 - 13:26
Можно сделать обход цикла не по ТЗ, а по номеру строки ТЗ и передавать ее саму и требуемый номер строки
 
Для НомСтр = 1 По ТЗ.КоличествоСтрок() Цикл    
   РассчитатьТЗ(ТЗ, НомСтр)
 
А в РассчитатьТЗ уже понятно позиционироваться на строку

Re: Строка таблица значений как параметр процедуры

Uho
12 - 02.07.2009 - 13:43
(11) чем лучше, чем
ТЗ.ВыбратьСтроки()
Пока ТЗ.ПолучитьСтроку()=1 Цикл
РассчитатьТЗ(ТЗ)
КонецЦикла
???

Re: Строка таблица значений как параметр процедуры

USSR
13 - 02.07.2009 - 13:45
(12)Для нервного спокойствия

Re: Строка таблица значений как параметр процедуры

VZ
14 - 02.07.2009 - 14:32
Позволю себе напомнить: строка ТЗ есть список значений ;)

Re: Строка таблица значений как параметр процедуры

Billi
15 - 02.07.2009 - 14:47
14-VZ >Больше похоже на Структуру.

Re: Строка таблица значений как параметр процедуры

Uho
16 - 02.07.2009 - 14:59
15-Billi > если смотреть на ТЗ с высоты восьмерки? )

Re: Строка таблица значений как параметр процедуры

Billi
17 - 02.07.2009 - 15:03
16-Uho >Имхо, структура практически во всех языках похожа.

Re: Строка таблица значений как параметр процедуры

Billi
18 - 02.07.2009 - 15:05
+17 В СЗ доступ к свойствам через методы, а у Структуры напрямую.

Re: Строка таблица значений как параметр процедуры

Uho
19 - 02.07.2009 - 15:09
18-Billi > расскажи нам о Структуре в 7.7

Re: Строка таблица значений как параметр процедуры

Billi
20 - 02.07.2009 - 15:15
19-Uho >
ЗагрузитьВнешнююКомпоненту("1CPP.dll");
Структура=СоздатьОбъект("Структура");
 

Re: Строка таблица значений как параметр процедуры

Uho
21 - 02.07.2009 - 15:18
20-Billi >
прикольно, для a=b*c ВК использовать )))

Re: Строка таблица значений как параметр процедуры

Billi
22 - 02.07.2009 - 15:25
21-Uho >А никто и не предлагал этого.
Ты попросил рассказать, я рассказал.
Если хочешь, могу выложить полее подробное описание (если вдруг чего непонятно).

Re: Строка таблица значений как параметр процедуры

VZ
23 - 02.07.2009 - 15:30
Да не надо никакую "труктуру" :) Все намного проще:
ПередаваемаяСтрока = СоздатьОбъект("СписокЗначений";
Для ы = 1 по ТЗ.КоличествоКолонок() Цикл
ПередоваемаяСтрока.Дополнить(ТЗ.ПолучитьЗначение(текСтрока,ы), ТЗ.ПолучитьПараметрКолонки(ы));
КонецЦикла;
 
В итоге с СЗ будем иметь и значения строки ТЗ и навание колонки, откуда взялось...

Re: Строка таблица значений как параметр процедуры

USSR
24 - 02.07.2009 - 15:36
Сначала запихивать в список, потом выпихивать из него, вот юморно.
Вот в Фоксе супер: SCATTER MEMVAR - из полей в переменные, GATHER MEMVAR - обратно в базу.
Думаю что все работает как у Uho, но я так не делаю чисто из боязни, а вдруг она там в процедуре не на той строке, мне просто дискомфортно.  

Re: Строка таблица значений как параметр процедуры

Billi
25 - 02.07.2009 - 15:38
23-VZ >Да что ты кричишь, поняли тебя еще в (14).
В (15) была реакция на слово есть.

Re: Строка таблица значений как параметр процедуры

Чучундер
26 - 02.07.2009 - 15:49
вот что я хочу сказать... если передать ячеку ТЗ параметром - ну нифига в нее значение не пишется.. где я туплю...????
типа
 
Процедура Ляля(Цена)
цена = цена*5;
КонецП
 
код
...
 
Ляля(ТЗ.Цена);
..
????

Re: Строка таблица значений как параметр процедуры

Billi
27 - 02.07.2009 - 15:52
26-Чучундер >Может так попробовать:
Функция Ляля(Знач Цена)
Возврат цена*5;
КонецФ
 
код
...
 
ТЗ.Цена=Ляля(ТЗ.Цена);

Re: Строка таблица значений как параметр процедуры

Billi
28 - 02.07.2009 - 15:56
Ячейка ТЗ не является объектом, там хранится указатель. В (26) ты пытаешься умножить указатель на 5, но не значение.

Re: Строка таблица значений как параметр процедуры

Чучундер
29 - 02.07.2009 - 16:02
(28) я для себя этот вариант уже уяснил, подтверждение хотелось...
..
интересно а прокатит ли
Процедура ляля(цена)
  темпцена=цена; //тут темпцена будет хранить значение или ссылку на ячейку тз?
  цена = темпцена*5;
.
???

Re: Строка таблица значений как параметр процедуры

Billi
30 - 02.07.2009 - 16:08
29-Чучундер >Интересный вопрос, надо попробовать. ХЗ как в 1С оператор = перегружен для таких случаев.

Re: Строка таблица значений как параметр процедуры

Billi
31 - 02.07.2009 - 16:15
Проверил, результат тот же. Походу еще при передачи параметра указатель превращается в значение, то есть 1С в таких случаях подставляет Знач.
К списку тем 1 > К списку форумов
Тема закрыта и находится в архиве.
Но Вы можете начать новую тему.
« v7.Возможна ли сортировка справочника по реквизитам при включенном отборе? "Не могу открыть файл xxxxx.dbf!" »
© 2009 Форум 1С: Одинэс.Ру