|
v7: Подскажите что не там | ☑ | ||
---|---|---|---|---|
0
DeMi4
26.03.12
✎
09:43
|
Необходимо получить цену номенклатуры
Функция ПолучитьЦену(Номен,КодПоиска) СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен"); Если СпрТипыЦен.НайтиПоКоду(КодПоиска) = 1 Тогда ТекТипЦен = СпрТипыЦен.ТекущийЭлемент(); КонецЕсли; СпрЦены = СоздатьОбъект("Справочник.Цены"); СпрЦены.ИспользоватьВладельца(Номен); СпрЦены.НайтиПоРеквизиту("ТипЦен",ТекТипЦен,1); Цена = СпрЦены.Цена.Получить(ТекущаяДата()); Возврат Цена; КонецФункции |
|||
1
Джинн
26.03.12
✎
09:44
|
Получайте, разрешаю.
|
|||
2
Ёпрст
26.03.12
✎
09:46
|
(0)
глПолучитьЦену() глВернутьЦену() делов то |
|||
3
andrewks
26.03.12
✎
09:46
|
Подскажите что не там, подскажите, кто не здесь
|
|||
4
DeMi4
26.03.12
✎
09:50
|
Для каждой номенклатуры определяет одну и ту же цену взятую при обработке первого элемента
|
|||
5
Ёпрст
26.03.12
✎
09:52
|
(4) так и должно быть - ты же передаешь не весь что, и получаешь не весь что + нет ни одной проверки, что что-то найдено в справочнике
|
|||
6
Ёпрст
26.03.12
✎
09:52
|
если че, .ТекущийЭлемент()
|
|||
7
0xFFFFFF
26.03.12
✎
09:54
|
(0) Вот нет чтобы посмотреть уже давно изобретенные функции-велосипеды в конфигурации, нет же блин, сразу надо экраны кода плодить...
|
|||
8
Джинн
26.03.12
✎
09:55
|
См. (2)
Функция глПолучитьЦену(Номенклатура, Тип, НаДату, Единица=0, Валюта=0, Курс=0) Экспорт // Функция возвращает цену номенклатуры в указанном типе цен Тип, на дату НаДату, // за единицу измерения Единица, пересчитанную в валюту Валюта по курсу Курс // |
|||
9
Джинн
26.03.12
✎
09:57
|
Да, и СпрЦены.ИспользоватьВладельца вместе с СпрЦены.НайтиПоРеквизиту вряд ли работают.
|
|||
10
DeMi4
26.03.12
✎
09:58
|
Вот так заработало
Функция ПолучитьЦену(Номен,КодПоиска) СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен"); Если СпрТипыЦен.НайтиПоКоду(КодПоиска) = 1 Тогда ТекТипЦен = СпрТипыЦен.ТекущийЭлемент(); КонецЕсли; СпрЦены = СоздатьОбъект("Справочник.Цены"); СпрЦены.ИспользоватьВладельца(Номен.ТекущийЭлемент()); СпрЦены.ВыбратьЭлементы(); Пока СпрЦены.ПолучитьЭлемент() = 1 Цикл Если СпрЦены.ТипЦен <> ТекТипЦен Тогда Продолжить; Иначе Цена = СпрЦены.Цена.Получить(КонДата); КонецЕсли; КонецЦикла; Возврат Цена; КонецФункции |
|||
11
DeMi4
26.03.12
✎
09:58
|
А функция глПолучитьЦену не нашел в глобальнике есть только глВернутьЦену но она возвращает либо 1 0 -1
|
|||
12
Ёпрст
26.03.12
✎
10:00
|
(10) бредовый код:
если не найден тип цен по коду - привет котёнку если нет такого типа цен в справочнике - аналогично болтс ошибкой выполнения при возврате неинициализированной переменной. |
|||
13
Джинн
26.03.12
✎
10:00
|
(11) Учу читать. Дорого.
ЦенаЦены - переменная, которую надо заполнитиь значением (число) полученной цены |
|||
14
Ёпрст
26.03.12
✎
10:01
|
(11) плохо искал - она там есть, это раз, глВернутьЦену вернет цену, переданную параметром, это два.
|
|||
15
DeMi4
26.03.12
✎
10:08
|
Функция ПолучитьЦену(Номен,КодПоиска)
Перем Цена; СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен"); Если СпрТипыЦен.НайтиПоКоду(КодПоиска) = 1 Тогда ТекТипЦен = СпрТипыЦен.ТекущийЭлемент(); КонецЕсли; глВернутьЦену(Номен,ТекТипЦен,ТекущаяДата(),Цена); Возврат Цена; КонецФункции |
|||
16
Aprobator
26.03.12
✎
10:14
|
ужас. В случае не отработки условия - получишь ошибку.
|
|||
17
idw
29.03.12
✎
23:46
|
(15) лучше так:
Функция ПолучитьЦену(Номен,КодПоиска) Перем Цена; СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен"); Если СпрТипыЦен.НайтиПоКоду(КодПоиска) = 1 Тогда ТекТипЦен = СпрТипыЦен.ТекущийЭлемент(); глВернутьЦену(Номен,ТекТипЦен,ТекущаяДата(),Цена); Иначе Цена = 0; КонецЕсли; Возврат Цена; КонецФункции |
|||
18
idw
29.03.12
✎
23:47
|
(0) читал, что ты настраивал принтер OL-T2300, можешь здесь помочь v8: Настройка принтера OL-T2300 ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |