Имя: Пароль:
1C
1С v8
v8: Работа со списком значений
0 Ololosha
 
13.03.12
19:31
Доброго всем времени суток)
Имеется списокЗначений который я формирую самостоятельно из справочника номенклатуры... Мне нужно присвоить переменной Родитель поочередно строки из этого списка
Реально ли это сделать в 1С 8.1 УТ 10.3? Если да то подскажите пожалуйста как?
1 Irbis
 
13.03.12
19:32
Реально, но зачемпоочередно присваивать?
2 PR
 
13.03.12
19:32
3 ДенисЧ
 
13.03.12
19:32
Да, реально

Для каждого зн из МойСЗ Цикл
 Родитель = зн.Значение;
КонецЦикла;
4 Ololosha
 
13.03.12
19:37
(3)я СписокЗначений заполняю во время работы обработки, а не в модуле..
5 zak555
 
13.03.12
19:38
зачем тебе СЗ ?
6 ДенисЧ
 
13.03.12
19:39
(40 нифга не понял
7 Irbis
 
13.03.12
19:39
(4) Если СЗ имеется, не всё ли равно как где и кем он был заполнен?
8 Ololosha
 
13.03.12
19:40
мне для печати ценников из справочника нужно выбрать несколько групп, которые будут родителями выборки... запросы не использую тк не умею
9 zak555
 
13.03.12
19:41
(8) научись
10 Ololosha
 
13.03.12
19:41
(7) значит помимо (3) мне нужно будет объявить МойСЗ?
11 Ololosha
 
13.03.12
19:42
(9)всему свое время..
12 Irbis
 
13.03.12
19:42
(8) В сеговике без запросов никуда. "Учись, студент!" ©
13 catena
 
13.03.12
19:42
(10)А что же ты заполнил?
14 Irbis
 
13.03.12
19:43
(10) Можешь объявлять можешь как параметр передать
15 ДенисЧ
 
13.03.12
19:43
(10) У тебя в постановке говорится, что уже список имеется...
16 zak555
 
13.03.12
19:43
делай рекурсию
17 Ololosha
 
13.03.12
19:44
(14) то есть МойСЗ = новый СписокЗначений(СсылкаНаОбъект)???
18 Ololosha
 
13.03.12
19:44
(15) да я его в форме заполняю
19 catena
 
13.03.12
19:46
(18)Плохо объясняешь. Попробуй еще раз по порядку: что где когда как заполняешь, куда передаешь, что требуется.
20 ДенисЧ
 
13.03.12
19:46
что-то я нифига не понимаю... У поциэнта дизлексия...
21 Irbis
 
13.03.12
19:47
(17) Описание языка прочитай. Или купи у кого-нибудь
22 sda553
 
13.03.12
19:48
(0) Возьмите на работу специалиста 1С
23 Ololosha
 
13.03.12
19:49
(21) да это понятно..

в общем запускаю обработку, в ней есть тулбокс для выбора товара... выбираю список товаров из справочника Номенклатуры(это в режиме предприятия)

Вопрос как мне значения введенные в СЗ присвоить переменной?
24 catena
 
13.03.12
19:51
(23)Какой переменной, где и когда присвоить?
25 EvgeniuXP
 
13.03.12
19:51
(11) так ты больше времени потратишь впустую, прислушайся к (9).
26 EvgeniuXP
 
13.03.12
19:52
(23) Справку открой, найди список значений и почитай какие есть свойства и методы - там же по-русски всё написано.
27 Ololosha
 
13.03.12
19:52
(24) переменной родитель в модуле..
(25) мне надо сделать таким способом если это возможно
28 Irbis
 
13.03.12
19:52
(23) Читать (3) до "... осознанья, так сказать и просветленья" ©
29 Bobangida
 
13.03.12
19:53
Сделай функцию которая будет возвращать список, и в обработкерпров получай этот список и обрабатывай...
30 Ololosha
 
13.03.12
19:53
(26) открывал и не удалось..
31 catena
 
13.03.12
19:54
(27)А в модуль как попадаешь?
32 Ololosha
 
13.03.12
19:54
(29)+(3) это похоже на реальность)
33 Irbis
 
13.03.12
19:54
(30) Читать не умеешь или СП спёрли?
34 Bobangida
 
13.03.12
19:55
32 - причем - СУРОВУЮ))))
35 Ololosha
 
13.03.12
19:55
(31) да я туда не попадаю просто так выразился)
36 catena
 
13.03.12
19:55
(35)В смысле? Процедуры модуля запускаются или сами по себе сидят?
37 catena
 
13.03.12
19:56
(35)Модуль обработки имеется в виду?
38 Ololosha
 
13.03.12
19:57
(37) да
39 catena
 
13.03.12
19:58
(38)кааак?
40 n koretsky
 
13.03.12
19:59
нельзя с такими навыками на живых базах работать, сударь...
не в обиду.......
41 Ololosha
 
13.03.12
19:59
(39) что как?
42 catena
 
13.03.12
20:00
(41)я думала "да" было к (36)
43 Ololosha
 
13.03.12
20:00
(40) на живых и не работаю) просто учусь
44 Irbis
 
13.03.12
20:00
(40) Где ты навыки разглядел? ТС даже задачу сформулировать не может.
45 n koretsky
 
13.03.12
20:01
(43) советую поглядеть в сторону видеоуроков, если нет желания читать литературу.
хотя бы для того, чтоб иметь возможность нормально объяснить в чем проблема и понимать большинство терминов.
46 catena
 
13.03.12
20:01
Кароче. Телепатирую и баиньки.

На форме кнопка, видимо, на кнопке процедура ПриЖмяканииНаЧудоКнопку() из которой вызывается какая-то процедура модуля ЗафигачитьОбработку(). Вот в этой процедуре сделай параметр, передавай свой СЗ.
47 n koretsky
 
13.03.12
20:02
(44) запуск конфигуратора. чем не навык?
а вообще, (0), (44) прав. немного бы матчасть подтянуть, хоть чуточку, а потом уже пробовать кодить.
48 n koretsky
 
13.03.12
20:03
(46) все, у ТС разрыв шаблонов.
49 Ololosha
 
13.03.12
20:04
(48) я просто пробую
50 Irbis
 
13.03.12
20:05
(49) Методом научного тыка похоже.
51 andrewks
 
13.03.12
20:34
(0) рекомендую прочитать до дыр: http://www.forum.mista.ru/rules.php#rec

в следующий раз тему с таким названием закрою
52 Ololosha
 
13.03.12
20:35
Объявил СЗ в главном модуле:
МойСЗ = Новый СписокЗначений;
и на форме к тулбоксу добавил процедуру

Процедура СсылкаНаОбъектОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
   возврат мойСЗ();
КонецПроцедуры

Ругается... что не так?
53 Ololosha
 
13.03.12
20:36
(51) сори
54 Ololosha
 
13.03.12
20:49
помощь будет?
55 Ololosha
 
13.03.12
20:50
(51) что теперь делать? заново создавать тему?
56 andrewks
 
13.03.12
21:09
(55) на первый раз прощаю
57 DarKySiK
 
13.03.12
21:11
(56) Это не первый, кстати.
58 Necessitudo
 
13.03.12
21:16
(55) Пришли 300 р - все сделаем
59 Ololosha
 
13.03.12
21:50
(58)я не работник, я сам хочу научиться...
60 Humandra
 
13.03.12
21:57
(60) А кто такую задачу - "печать ценников" поставил тогда? Я вот, честное слово - хочу помочь, но не понимаю, что вам надо.
Пока поняла только следующее:
1) Есть обработка
2) На ее форме - лежит СписокЗначений
3) В этой же обработке есть какой-то метод, который заполняет список значений значениями из справочника Номенклатура.
4) В этой же обработке где-то существует переменная Родитель, которой надо что-то там присвоить. Что и зачем - непонятно.
61 Humandra
 
13.03.12
22:00
(4) >> я СписокЗначений заполняю во время работы обработки, а не в модуле..
в ваших словах какая-то путаница с терминологией. Код заполнения у вас наверняка лежит в модуле. Модуле формы обработки. Так?
62 Ololosha
 
13.03.12
22:03
(60) да я сделал обработку печати ценников с 2 типами цен, сделал через выборку не использовал запросы... выборка с параметром родитель
теперь хочу что бы выборка не по одной группе товара из справочника номенклатура формировалась а по нескольким введенным в СЗ с типом значения списка справочникссылканоменклатура
63 Humandra
 
13.03.12
22:06
(62) Немного проясняется. Так обработки у вас две или одна? Вы ценники печатаете и список значений заполняете - в одной обработке? Или - в одной печатаете ценники, а в другой лежит СЗ и заполняется?
64 Ololosha
 
13.03.12
22:09
одна обработка, в ней функция печать ценника(отлаженная проверенная рабочая) в основном модуле и процедура на кнопке формы(сформировать) тоже работает в случае выборки без использования СЗ. В общем все работает, но теперь мне нужно что бы с помощью СЗ выбиралось несколько групп из справочника и передавались в переменную родитель

к сожалению не в курсе как это реализуется..
65 Humandra
 
13.03.12
22:29
(65) Все, теперь поняла что вы хотите.
Надо использовать запросы, придется учиться. Это будет ГОРАЗДО правильнее, раз вы все равно учитесь, а не реальную задачу решаете. Запросом это просто решается, поверьте.

Альтернатива: так как стандартные методы Выбрать Справочника не позволяют поиск по условию Родитель "В" массиве, то пришлось бы вызывать в цикле:

Для каждого зн из МойСЗ Цикл
 Выборка = ВыбратьИерархически(зн.Значение, <Владелец>, <Отбор>, <Порядок>)
КонецЦикла;

а результаты выборок уже объединять для печати. *боже, что я советую... не делайте так! учите запросы*
66 Ololosha
 
13.03.12
22:31
(65) круто, я еще не могу понять как мне задать СЗ
67 Ololosha
 
13.03.12
22:31
(65) зато так пока понятнее)
68 GROOVY
 
13.03.12
22:31
(52) А что такое "Главный" модуль?
А как ругается?
69 Humandra
 
13.03.12
22:32
запросом это же будет всего лишь:
ВЫБРАТЬ Ном.Ссылка
ИЗ Справочник.Номенклатура Ном
ГДЕ Ном.Родитель В (&Массив)

и потом выполнить запрос и
УстановитьПараметр("Массив", ТвойСЗ)
70 GROOVY
 
13.03.12
22:33
(67) Это мне напомнило "притчу", когда чувак не мог втыкнуть зачем такое сложное строение у оси автомобиля, ведь проще (и надежнее!!!) колесо намертво приварить к оси!
71 Humandra
 
13.03.12
22:33
(67) Вопрос привычки. Вы вот зачем учитесь? Наверное, чтобы потом работать? А работать так нельзя. Это все равно что учиться на велосипеде ездить - задом наперед. Потом же все равно переучиваться придется, чтобы на дорогу смотреть, чтобы ни в кого не врезаться.
72 Humandra
 
13.03.12
22:35
(66) А зачем его где-то задавать? Он же у тебя на форме уже есть? Вот к нему и надо обратиться по его имени. Это мы же для примера пишем МойСЗ :)
73 EvgeniuXP
 
13.03.12
22:40
странный человек, хочу учиться, при этом ему предлагают посмотреть бесплатные материалы - а он не хочет.... лучше кучу времени потеряю и найду выход, который всё-равно неправильный.... не дано мне это понять, но хозяин - барин.
74 EvgeniuXP
 
13.03.12
22:42
лучше задавать вопрос, например: "Как отцентрировать заголовок отчета в СКД" :)
75 Humandra
 
13.03.12
22:42
(52) Еще хочу помимо безусловно правильного вопроса в (68) заметить, что что-то у вас с именами методов совсем грустно. Тоже надо переучиваться. Есть подозрение, что метод возвращает вовсе не ссылку на Объект ОкончаниеВводаТекста.
Для начала это вообще не функция, а процедура у вас.
А если бы была функция, то назвать ее бы лучше было бы ПолучитьСписокГруппНоменклатуры() например :)
А если это процедура, которая заполняет список значений на форме, то она ничего возвращать не должна, ибо нафиг? И называться например ЗаполнитьСписокГруппНоменклатуры().
76 Humandra
 
13.03.12
22:44
(73) Я извращенка, наверное. Надеюсь, что ТС - не свинка, а мои посты - не бисер. Может действительно человек научится.
77 Humandra
 
13.03.12
22:45
(0) У вас вообще кто-то есть, кто учит? Или чисто так, самообразование?
78 Ololosha
 
13.03.12
22:54
(77) в том то и дело что мне говорят рано СКД учить надо пока так...
я все пробую то что вы советуете, честно
79 EvgeniuXP
 
13.03.12
22:56
(78) тебя обрадовать? в первых видео об СКД ничего не говорится, учат основам и только.
80 Humandra
 
13.03.12
22:56
(78) Так можно же без СКД. Просто запросы. Они тем более что и не только в 1С пригодятся.
81 Humandra
 
13.03.12
22:58
(80) Просто ИМХО, надо брать несложные задачки, простенькие запросы. Для начала - без соединений, чисто отборы по одной таблице.
82 Ololosha
 
13.03.12
23:02
(81) да это все понятно, у меня и в универе основы БД и SQL были...
просто я и книжки читаю потихоньку и видео накачал с того сайта классного)
все же если я догоню как все сделать первобытным способом мне будет проще^^
83 EvgeniuXP
 
13.03.12
23:02
наши спецы, вот умеют работать с справочниками и всё.... все расчеты делают через справочники... больше ничего не используют, даже документы не проводят и дан доступ на непосредственное удаление - а почему? - потому что наши спецы именно так и научились, как ты сейчас учишься.... любой другой спец посмеется над той системой, которую они "изобрели": в одном справочнике 80 реквизитов - для них это норма, из справочника в справочник некоторые реквизиты (цех, таб, цехтаб) повторяются и дико усложняют тем самым всю систему... они не задумываются об этом, но потом сталкиваются и пытаются исправить - время убивают много - зато при работе :))) оно тебе надо...
84 Humandra
 
13.03.12
23:04
Ладно, вроде разумно в (82) человек говорит, и вон, основы SQL в универе учил вроде :)))
Давай дальше тогда. Что у тебя сейчас не получается?
85 EvgeniuXP
 
13.03.12
23:04
(82) не будет, ты привыкнешь - а это страшная вещь. Вот человек научился двумя пальцами долбать клавиатуру, на слепой метод не перейдет (т.к. вначале это очень медленно будет, а времени у него мало как ему кажется, двумя пальцами быстрее наберет) - нужна сила воли.
86 Humandra
 
13.03.12
23:07
(85) Ладно, может мы и торопим его. Он похоже на простейших вещах еще застрял, на банальном отличии процедуры от функции, присвоении переменных, области видимости итп. Может и рано ему с запросами...
87 Ololosha
 
13.03.12
23:07
сделал через списокЗначений добавил цикл к своей выборке... при выборе перестало ссылаться на справочник номенклатуры просит сначала выбрать тип... что то я вообще накосячил
до завтра оставлю... вернусь с новыми силами) Всем спасибо за помощь
88 Ololosha
 
18.03.12
16:46
Понял, что без запроса это будет в миллион циклов...
Подскажите пожалуйста как это через запрос реализуется?
89 Мимохожий Однако
 
18.03.12
17:03
Например, Запрос = Новый Запрос;
Запрос.Текст="...
90 Ololosha
 
18.03.12
17:10
(89) а дальше так?

       |МойСписокЗначений.Строка Как МойСЗ.Строка
   |Из
   |    СсылкаНаОбъект.Строка
91 experimentator76
 
18.03.12
17:15
студенты атакуют
92 experimentator76
 
18.03.12
17:16
(90) конструктором собирай
93 Ololosha
 
18.03.12
17:25
как обратиться к СЗ, который на форме?
94 Ololosha
 
18.03.12
18:11
конструктором пробовал, там непонятно ничего, тк в видео о конструкторе запросов под 8.2
мне необходимо в запросе обратиться к СЗ который на форме. я не знаю как
на ссылку на объект он ругается, говорит нет такой таблицы...
95 Wobland
 
18.03.12
18:15
(94) не читал даже (0), заинтригован количеством постов.. как делал?
96 Ololosha
 
18.03.12
18:20
(95) делал програмным путем, тк мне сказали без запросов делать

потом выяснилось, по ходу что бы вытащить из СЗ строку и присвоить переменной родитель(что бы нормально работало нужно около 4-5 вложенных циклов)
теперь хочу тоже самое сделать только через запрос... не знаю как это реализуется..
СЗ находится на форме..
97 Wobland
 
18.03.12
18:25
(0) - это жестоко... где находится пост, который поясняет исходную задачу?
98 Ololosha
 
18.03.12
18:26
(97) исходная задача изменилась)
сейчас мне нужно то что в (96)
99 Wobland
 
18.03.12
18:32
запрос к справочнику по нахождению родителя в СЗ? ГДЕ Родитель В или В ИЕРАРХИИ (&СЗ)
что-то я недопонимаю
100 EvgeniuXP
 
18.03.12
18:38
где-то в запросе пишем условие:

| ГДЕ Номенклатура В &МойСЗ


Запрос.УстановитьПараметры("МойСЗ", СЗ);

вот так вот можно СЗ использовать в запросе.
101 EvgeniuXP
 
18.03.12
18:38
На форме выложен СЗ, так имя его и передавай в качестве параметра запроса, т.е. вместо СЗ укажи имя своего СЗ, который лежит на форме.
102 Ololosha
 
19.03.12
21:38
(100) то что нужно, спасибо. Сейчас попробую