Имя: Пароль:
1C
 
Объясните новичку плиззз
🠗 (Волшебник 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) Пока не задали - она этого не поймёт. Очевидно, тебе необходимо изучить основы программирования.
http://www.tvd-home.ru/prog - например.
4 Вазелин
 
20.06.14
21:56
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. Процедура
«ПереченьНоменклатурыНоменклатураПриИзменении()»
// Получить текущую строку табличной части.
СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
// Установить цену.
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(
Объект.Дата, СтрокаТабличнойЧасти.Номенклатура);
// Пересчитать сумму строки
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);

вот такие  две процедуры...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой