![]() |
|
v7: Справочник цены | ☑ | ||
---|---|---|---|---|
0
Gera1t
30.01.13
✎
23:27
|
Процедура ЗаполнитьТаблЧасть()
Если Вопрос("Табличная часть будет очищена. Продолжить?",1) = 1 Тогда УдалитьСтроки(); Счетчик = 0; Для Счетчик = 1 по ВыбДок.РазмерСписка() Цикл ДокЗаявка = ВыбДок.ПолучитьЗначение(Счетчик); ДокЗаявка.ВыбратьСтроки(); Пока ДокЗаявка.ПолучитьСтроку() = 1 Цикл НоваяСтрока(); ВидТМЦ = Перечисление.ВидыТМЦ.ЗначениеПоНомеру(1); Номенклатура = ДокЗаявка.Номенклатура; Количество = ДокЗаявка.Количество; //СпрЦена.ИспользоватьДату(ДатаДок); Единица = ДокЗаявка.Единица; Коэффициент = ДокЗаявка.Коэффициент; СпрЦена.ИспользоватьВладельца(ДокЗаявка.Номенклатура); Если СпрЦена.НайтиПоКоду("00002") = 1 Тогда Цена = СпрЦена.Цена.Получить(ДатаДок); КонецЕсли; //Цена = ДокЗаявка.Цена; Сумма = Количество * Цена; КонецЦикла; КонецЦикла; КонецЕсли; КонецПроцедуры Не ищет закупочную цену (код 0002). |
|||
1
Gera1t
30.01.13
✎
23:28
|
Точнее почему то не присваивает владельца справочнику цен
|
|||
2
Gera1t
30.01.13
✎
23:29
|
отладчиком смотрел, СпрЦена.ИспользоватьВладельца(ДокЗаявка.Номенклатура);
в этой строке не присваивается владелец |
|||
3
КонецЦикла
30.01.13
✎
23:30
|
Внутренний голос подсказывает, что тебе нужно найти Тип цены
А цена, которая подчинена номенклатуре, содерджит тип цен и саму цену (периодическую) |
|||
4
фобка
30.01.13
✎
23:30
|
СпрЦена.Владелец = ДокЗаявка.Номенклатура
|
|||
5
фобка
30.01.13
✎
23:31
|
хотя стопэ.. что вообще происходит? НайтиПоКоду() - смотри остальные параметры
|
|||
6
Gera1t
30.01.13
✎
23:32
|
(5) Дело не в этом, до этой строки даже не доходит, Владелец не присваивается
|
|||
7
NS
30.01.13
✎
23:35
|
(6) Куда не присваивается? Он не должен присваиваться.
|
|||
8
Classic
30.01.13
✎
23:35
|
(6)
Давно 7ку не копал. Но в таких случаях я обычно использую ТекущийЭлемент() |
|||
9
Gera1t
30.01.13
✎
23:37
|
(7) Ну когда используешь
СпрЦена.ИспользоватьВладельца(ДокЗаявка.Номенклатура); то переходишь в подчиненный справочник цен, а у меня не перехожит |
|||
10
NS
30.01.13
✎
23:37
|
(9) Кто переходит в подчиненый справочник?
|
|||
11
фобка
30.01.13
✎
23:38
|
(6) спрцена общая переменная в модуле?
|
|||
12
Gera1t
30.01.13
✎
23:38
|
(3) Мне нужно получить цену на конкретную номенклатуру, а как из типа цен я выйду на цену?
|
|||
13
Gera1t
30.01.13
✎
23:38
|
(11) да
СпрЦена = СоздатьОбъект("Справочник.Цены"); |
|||
14
NS
30.01.13
✎
23:39
|
(12) Ты должен выполнить метод использоватьвладельца(), а потом найтипокоду()
|
|||
15
Gera1t
30.01.13
✎
23:39
|
(14) ну я так и делаю, и почему то использоватьвладельца не работает.
|
|||
16
NS
30.01.13
✎
23:40
|
(15) Как ты узнал что "не работает"?
|
|||
17
Gera1t
30.01.13
✎
23:41
|
отладчиком прогоняешь когда, на строке СпрЦена нажимаю вычислить выражение, а там пусто
|
|||
18
Classic
30.01.13
✎
23:41
|
(15)
попробуй так СпрНом = СоздатьОбъект("Справочник.Номенклатура"); СпрНом.НайтиЭлемент(ДокЗаявка.Номенклатура); СпрЦена.ИспользоватьВладельца(СпрНом.ТекущийЭлемент()); |
|||
19
NS
30.01.13
✎
23:43
|
(17) Там и должно быть пусто.
выведи в табло в отладчике спрцена.использоватьвладельца().наименование, и увидишь свою номенклатуру. |
|||
20
фобка
30.01.13
✎
23:44
|
проверь есть ли в спр цен элемент с кодом
"0002".. и проверяй параметры метода НайтиПоКоду, там должен быть поиск с учетом иерархии (17) пока не спозиционировался в первый раз - будет пусто |
|||
21
Gera1t
30.01.13
✎
23:44
|
(18) тоже самое пробовал уже
|
|||
22
NS
30.01.13
✎
23:44
|
(18) Реквизит документа и так имеет тип - текущийэлемент()
|
|||
23
Gera1t
30.01.13
✎
23:46
|
(19) и правда )
|
|||
24
Gera1t
30.01.13
✎
23:46
|
т.е. значит не ищет просто, но код я из справочника скопировал
|
|||
25
фобка
30.01.13
✎
23:47
|
(24) у конкретного элемента проверяй
|
|||
26
NS
30.01.13
✎
23:48
|
(24) у метода найтипокоду() не один параметр.
|
|||
27
фобка
30.01.13
✎
23:48
|
+(25) номенклатуры
|
|||
28
КонецЦикла
30.01.13
✎
23:48
|
(12) Выбрать по реквизиту или просто перебором найти тип цены нужный (используя владельца) и затем уже узнать цену
Обычно так в типовых делается |
|||
29
NS
30.01.13
✎
23:50
|
Да, использоватьвладельца, и пербрать проверяя тип цены.
Но что-то мне подсказывает что найтипореквизиту работает в пределах подчинения. Или меня совсем сглючило? |
|||
30
фобка
30.01.13
✎
23:51
|
(29) должен работать, платформы нет под рукой
|
|||
31
Gera1t
30.01.13
✎
23:51
|
заработало)
это просто я херню написал |
|||
32
Gera1t
30.01.13
✎
23:52
|
в найтипокоду подставлял код из справочника ТипЦен
|
|||
33
фобка
30.01.13
✎
23:52
|
(28) перебор если отбора по реквизиту нет.. и вообще типовые конфы не показатель
|
|||
34
КонецЦикла
30.01.13
✎
23:53
|
(31) О том и речь
(29), (33) Меня тоже глючит, но есть подозрение, что перебрать несколько цен быстрее (почему-то в ТиС так) Индекс там есть |
|||
35
Gera1t
30.01.13
✎
23:54
|
Всем спасибо за помощь!!!
Пойду спать. голова уже болит. |
|||
36
Gera1t
30.01.13
✎
23:54
|
Пока сюда не написал 30 минут сидел не мог понять почему не работает :D
|
|||
37
фобка
30.01.13
✎
23:54
|
на том и порешили)
|
|||
38
КонецЦикла
30.01.13
✎
23:56
|
(36) См. (3) :)
Я тоже невнимательно читаю, бывает, ответы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |