Имя: Пароль:
1C
1С v8
Помогите пожалуйста!!!
,
0 Ololosha
 
06.03.12
20:10
Подскажите пожалуйста что не так?




Пока Выборка.Следующий() Цикл
   Сообщить("Номенклатура="+Выборка.Ссылка);    
   НоваяСтрока = Товары.Добавить();
   НоваяСтрока.Номенклатура = Выборка.Ссылка;
   НоваяСтрока.Количество = 1;
   Отбор = Новый Структура;
   Отбор.Вставить("Номенклатура", Выборка.Ссылка);
   Отбор.Вставить("ТипЦен", ТипЦен);
   ЗначенияРесурсов =           РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ДатаПечати, Отбор);
   НоваяСтрока.Цена = ЗначенияРесурсов.Цена;
           
   Отбор2 = Новый Структура;
   Отбор2.Вставить("ТипЦен2", ТипЦен2);
   ЗначенияРесурсов2 = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ДатаПечати, Отбор2);
   НоваяСтрока.Цена2 = ЗначенияРесурсов2.Цена;
КонецЦикла;
1 Господин ПЖ
 
06.03.12
20:11
все не так...
2 Reset
 
06.03.12
20:11
В Отбор2 нет отбора по номенклатуре
3 Ololosha
 
06.03.12
20:12
то есть просто добавить и все?
4 Reset
 
06.03.12
20:12
и типЦен2, видимо, нет такого измерения
5 Reset
 
06.03.12
20:13
А если есть, то см (1)
6 pumbaEO
 
06.03.12
20:13
Но и утром всё не так, нет того веселья,
Или куришь натощак, или пьёшь с похмелья.
Да, эх, раз, да ещё раз,
Да ещё много, много, много, много раз.
7 Ololosha
 
06.03.12
20:13
ТипЦен2 у меня реквизит создан
8 DarKySiK
 
06.03.12
20:13
Посмотри, что метод ПолучитьПоследнее возвращает.
9 Ololosha
 
06.03.12
20:14
можно несколько отборов в выборку вставлять?
10 Ololosha
 
06.03.12
20:15
(8)Возвращает структуру, содержащую значения ресурсов.
11 Ololosha
 
06.03.12
20:33
через 2 выборки тоже никак(((
Подскажите плиз..
12 kotletka
 
06.03.12
20:33
(2)кури жкк вдумчиво
13 DrShad
 
06.03.12
20:35
(12) ты уверен, что не ошибся веткой?
14 Ololosha
 
06.03.12
20:36
ребят может мне чего подскажите м?
15 GROOVY
 
модератор
06.03.12
20:37
За дубли тем v8: 2ТипаЦен тут банят.
16 AAlexandra
 
06.03.12
20:37
Кхм.. А Выборка из запроса получается? Лучше в том же запросе сразу и цены получать..
Точнее так: никогда не надо в цикле делать ПолучитьПоследнее()
17 EvgeniuXP
 
06.03.12
20:37
(14) описывай что делаешь - тогда и подскажут, а так, не понятно, что косячишь и чего хочешь получить.
18 Ololosha
 
06.03.12
20:38
(15) сори, просто я подумал что там мне не отвечают, тк некультурно написал
19 Ololosha
 
06.03.12
20:40
(16) а если я вторую цену через срез последних получу?
20 GROOVY
 
06.03.12
20:41
Что не получается то?

В регистре с ценами есть измерение "ТипЦен2"?
21 AAlexandra
 
06.03.12
20:42
(19) если ты и вторую цену, и первую, и вообще, все, что тебе нужно для заполнения таблицы, получишь ОДНИМ запросом - будешь молодец. ;)
22 Ololosha
 
06.03.12
20:45
(21) а как?
23 GROOVY
 
06.03.12
20:45
(21) Это уже второй дзен, а ТС еще в падаванах... Снисходительнее надо быть.
24 kotletka
 
06.03.12
20:46
(13)нет просто комп подвис писалось про типцен2, ещё в посте 3 но отвисло и вышло только в 12, упп обновляю на домашнем барахле
25 GROOVY
 
06.03.12
20:46
(22) На вопросы отвечать будешь? (20)
26 vasilii85
 
06.03.12
20:50
Что-то эти ТС с женским ником и мужским полом начали доставать, то ли голубые все, то ли девушки пол не различают...
27 AAlexandra
 
06.03.12
20:51
(20) он уже отвечал в (7), что ТипЦен2 - это реквизит регистра.. :(
28 AAlexandra
 
06.03.12
20:53
(22) а покажи запрос..
29 Ololosha
 
06.03.12
20:57
(25) в общем во втором отборе ПолучитьПоследнее ругается на второй параметр
30 Ololosha
 
06.03.12
20:57
(28) запрос это весь модуль?
31 Ololosha
 
06.03.12
20:58
(26) если вы мне - то Ололоша означает ребенок)
32 vasilii85
 
06.03.12
21:02
(31) У кого означает? Зачем тут дети?
33 Ololosha
 
06.03.12
21:05
(32) мб хватит оффтопить? я же не говорю что в вашем нике 85 Василиев бегает?
34 vasilii85
 
06.03.12
21:05
(33)Куда бегает?
35 Ololosha
 
06.03.12
21:08
(34) подскажите лучше по делу
36 EvgeniuXP
 
06.03.12
21:09
(30) запрос, это где текст начинается с " и заканчивается "; а в каждой строке |.
37 Ololosha
 
06.03.12
21:09
(36)оО у меня этого нету..
38 AAlexandra
 
06.03.12
21:10
(29) Отбор можно делать только по измерениям регистра + по периоду (если регистр периодический). Или по регистратору (если регистр подчинен регистратору). По реквизиту отбор делать нельзя, поэтому и ругается..

(30) почитай в синтаксис помощнике, что такое запрос..
А вообще, у тебя фрагмент кода начинается с "Пока Выборка.Следующий() Цикл"..
"Выборка" как получаешь?
39 Ololosha
 
06.03.12
21:12
Выборка = Номенклатура.Выбрать();
   Выборка2= Номенклатура.Выбрать();
   Товары.Очистить();

(38) вот то что до этого..
40 AAlexandra
 
06.03.12
21:15
(39) у тебя какая-нибудь книжка по 1с есть? Почитай, что такое "запрос", зачем нужен, как использовать.. Пользы больше будет.
41 EvgeniuXP
 
06.03.12
21:15
(39) аналогично, но запросом:

Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.НоменклатураКАК Номенклатура";
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
   Сообщить("Номенклатура = "+Выборка.Номенклатура);
КонецЦикла;


- это грубо.
42 Vladal
 
06.03.12
21:15
(35) У тебя ник провокационный.
43 Vladal
 
06.03.12
21:16
+(40) Например, такую:
http://online.1c.ru/books/book/3761720/index.php
44 EvgeniuXP
 
06.03.12
21:16
т.е. так:
(пробел проглотил нечаянно) перед "КАК" :)

Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
|    Номенклатура.Ссылка
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура";
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
   Сообщить("Номенклатура = "+Выборка.Номенклатура);
КонецЦикла;
45 Ololosha
 
06.03.12
21:17
(43) есть такая
46 Ololosha
 
06.03.12
21:18
(44) да я понимаю что так проще, но мне надо этим путем сделать..
47 EvgeniuXP
 
06.03.12
21:18
(46) читают данные запросами - и не спорь.
48 Ololosha
 
06.03.12
21:20
(47) так как я вообще реально сделать?
49 EvgeniuXP
 
06.03.12
21:21
(47) в запросом получаешь таблицу, потом выгружаешь уже готовую в другую таблицу - и записываешь, если надо.
50 Asmody
 
06.03.12
21:27
Смотрите, GROOVY как хардом стал, сразу добрым сделался: раньше ветку срубил бы не, не глядя. Вот что осознание могущества с людьми делает!
51 AAlexandra
 
06.03.12
21:28
(48) тебе результат нужен, или важен процесс? Если результат - изучай запросы.

Через выборку сделать теоретически можно, но это будет неэффективно.

Ну а получить "срез последних" по реквизиту регистра не получится ни в запросе, ни через выборку. Неверно спроектирован регистр..
52 байт
 
06.03.12
21:30
(0) к изначальному запросу соедини цены из регистра и вперед.
53 Ololosha
 
06.03.12
21:31
(51) мне похоже процесс, так как учусь
54 Tarlich
 
06.03.12
21:32
(0) слушай 52 го
55 AAlexandra
 
06.03.12
21:34
(52), (54) изначально нет запроса и ТС вообще не знает, что это такое..

(53) Еще какие вопросы остались? Понятно, почему на (0) ругается?
56 байт
 
06.03.12
21:35
ТипЦен2 наверняка сам придумал такого в типовой версии по крайней мере нет
57 Ololosha
 
06.03.12
21:36
(55) не очень, но спасибо за доброту*)

буду тыкаться дальше..
(56) нету
58 EvgeniuXP
 
06.03.12
21:37
(53) возьми радченко - вопросы и ответы - для процесса.
59 Tarlich
 
06.03.12
21:40
правилнее тогда сделать функцию ВернутьЦену(номенклатура,типцены,НужнаяДата)

и
НоваяСтрока.Цена=ВернутьЦену(Выборка.Ссылка,НоваяСтрока.Цена,Выборка.Ссылка)
НоваяСтрока.Цена2=ВернутьЦену(Выборка.Ссылка,НоваяСтрока.Цена2,Выборка.Ссылка)
60 EvgeniuXP
 
06.03.12
21:41
61 байт
 
06.03.12
21:42
(57) если в ТЧ Товары есть реквизит Цена2 в чем я сомневаюсь то можно скорректировать 2-й отбор

Отбор2 = Новый Структура;
Отбор2.Вставить("Номенклатура", Выборка.Ссылка);
Отбор2.Вставить("ТипЦен", ТипЦен2);
ЗначенияРесурсов2 = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(ДатаПечати, Отбор2);
НоваяСтрока.Цена2 = ЗначенияРесурсов2.Цена;
62 AAlexandra
 
06.03.12
22:05
(57) я в свое время училась вот по такой книге: http://v8.1c.ru/metod/books/book.jsp?id=187
Правда, тогда было еще только 8.0..
Почитай, потихоньку будет наступать понимание, какие объекты есть в системе и для чего их целесообразно использовать.. ;)
По крайней мере задайся вопросом: чем отличаются друг от друга реквизиты, ресурсы и измерения регистра. Когда нужно добавлять ресурс, а когда измерение.. Если найдешь ответ на этот вопрос - поймешь и свою ошибку в (0).
63 Ololosha
 
06.03.12
22:42
(61) Спасибо огромное!!!
все заработало)))) я так понял в кавычках без 2 надо было?
64 Ololosha
 
06.03.12
22:43
в ТЧ цена2 я сам создавал, ибо подругому никак)
65 Ololosha
 
06.03.12
22:47
(61)еще раз огромное спасибо...

объясните пожалуйста только почему "ТипЦен" в 2х отборах одинаково???
66 0xFFFFFF
 
06.03.12
22:48
(0)

Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(Товары.Добавить(), Выборка);
КонецЦикла

Писали уже что как то так должно быть?
67 Ololosha
 
06.03.12
22:54
(66) похоже я настолько глуп, что не видел)
68 DexterMorgan
 
06.03.12
23:58
(67) ТипЦен одинаково потому что это имя измерения твоего РС ЦеныНоменклатуры. Те:

Отбор = Новый Структура("ВОТ ТУТ ИМЯ ИЗМЕРЕНИЯ", ВОТ ТУТ ЗНАЧЕНИЕ ИЗМЕРЕНИЯ ПО КОТОРОМУ ТЫ ХОЧЕШЬ ОТОБРАТЬ)
69 DexterMorgan
 
06.03.12
23:59
имя измерения не может меняться, может меняться его значение
70 Ololosha
 
07.03.12
15:39
(69) спасибо) все понял)