|
Объясните новичку плиззз ↓ (Волшебник 20.06.2014 23:35) |
☑ |
0
makaveli
20.06.14
✎
21:37
|
Здравствуйте многоуважаемые форумчане!
Только знакомлюсь с 1С по Рададченко....
не могу понять... как работает язык 1С... вот например:
Листинг 9.1. Функция «РозничнаяЦена()»
Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
// Создать вспомогательный объект "Отбор".
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
// Получить актуальные значения ресурсов регистра.
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
тут в функцию передаются значения АктуальнаяДата и ЭлементНоменклатуры
откуда они берутся? это определенные методы или свойства, или они задаются в теле функции? вот например, если я заменю АктуальнаяДата и ЭлементНоменклатуры на апр и фыва соответственно, то все равно все работает....
|
|
1
Вазелин
20.06.14
✎
21:43
|
(0) Это входные параметры твоей функции:
>> Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры)
Передаются в коде при её вызове.
|
|
2
makaveli
20.06.14
✎
21:52
|
т.е. для функции необходимы определенные входные параметры... а откуда система понимает, что АктуальнаяДата это есть последняя дата, а ЭлементНоменклатуры это ссылка на справочник Номенклатура?.... что то я туплю походу.... мы же нигде не задаем эти параметры....
|
|
3
Вазелин
20.06.14
✎
21:55
|
(2) Пока не задали - она этого не поймёт. Очевидно, тебе необходимо изучить основы программирования.
- например.
|
|
4
Вазелин
20.06.14
✎
21:56
|
(2)
|
|
5
makaveli
20.06.14
✎
21:59
|
спасибо, друг!
|
|
6
EvgeniuXP
20.06.14
✎
23:45
|
(0) пишешь:
Процедура МояПроцедура()
РозничнаяЦена(ТекущаяДата(), Справочник.Номенклатура.НайтиПоКоду("00001"));
КонецПроцедуры
вот тебе актуальная цена и элемент номенклатуры
|
|
7
makaveli
20.06.14
✎
23:48
|
Получается Радченко тут перемудрил?
|
|
8
makaveli
21.06.14
✎
00:00
|
(6) это функция из общего модуля для автоматической подстановки актуальной цены (из регистра сведений) на товары для документа ОказаниеУслуги.так вот Радченко ни где не задает ТекущаяДата, а все работает,... Эх шайтан....
|
|
9
FoxFox
22.06.14
✎
10:48
|
(8) А в самом доке как эта функция вызывается?
|
|
10
makaveli
23.06.14
✎
13:44
|
(9)
Листинг 9.1. Функция «РозничнаяЦена()»
Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
// Создать вспомогательный объект "Отбор".
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
// Получить актуальные значения ресурсов регистра.
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
Листинг 9.2. Процедура
«ПереченьНоменклатурыНоменклатураПриИзменении()»
// Получить текущую строку табличной части.
СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
// Установить цену.
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(
Объект.Дата, СтрокаТабличнойЧасти.Номенклатура);
// Пересчитать сумму строки
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
вот такие две процедуры...
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший