Имя: Пароль:
 
1C
 
примитивненько про модуль:(((((
0 Хома
 
24.08.04
10:04
Кто нибудь помогите с модулями....объясните как пятилетнему ребёнку на каком нить самом пустяшном примере .Вот например примитивная программа VBA:
ASRT
Dim x
Dim y
x=1
y=InputBox("задайте значение y")
Dim z
z=x+y
MsgBox "результат:" & z
End
.
.
. что можно перевести как:
Обьявляю переменную х
обьявляю переменную у
х=1
у= запрос у пользователя парамера у ("задайте значение у")
объявляю переменную z
z=х+у
вывод на экран значения z
конец процедуры.
а вот может кто нибудь разжевать таким же образом какой нибудь пусть самый примитивный пример из 1с
1 Волшебник
 
24.08.04
10:07
Перем x;
Перем y;

Процедура Прога()
  Перем z;
 
  x=1;
  ВвестиЧисло(y,"задайте значение y");
  z=x+y;
  Предупреждение("результат:" + z);

КонецПроцедуры

Эту процедуру нужно вызвать по кнопке из формы, т.е. в формуле кнопки прописать Прога().
2 Guk
 
24.08.04
10:09
х=1;
у=0;
z=0;
Если ВвестиЧисло(у,"задайте значение у",10,0)=1 Тогда
  z=х+у;
КонецЕсли;
3 Хома
 
24.08.04
10:36
Волшебнику
я правильно понимаю:
1) мы объявляем 2 переменные до начала процедуры
2) затем уже в блоке процедуры объявляем третью (z)
3)присваиваем переменнной х значение единица;
4) запаршиваем у пользователя значение переменной у
5) собственно производим расчёт
6)оператором "Предупреждение" выводим на экран сообщение
7) заканчиваем процедуру
правильно?
4 Хома
 
24.08.04
10:39
Gukу
правильно ли я понимаю: мы неявно объявили три переменных присвоив им значения 1, 0, 0
затем запрашиваем у пользователя значения переменной у от 10 до 0.... если это условие выполняеться будет проведено собственно сложение
так?
5 Хома
 
24.08.04
10:41
а такой вопрос есть гден нибудь справочники ли свод операторов ?
6 Волшебник
 
24.08.04
10:42
(3)
По пункту 1
Эти переменные объявляются в начале модуля до начала всех процедур. Поэтому они являются переменными модуля. А переменная z является переменной внутри процедуры, она не видна в других процедурах.

Переменные в большинстве случаев можно не объявлять, первое присваивание создает переменную. Но иногда объявление переменной обязательно, например, если нужна глобальная переменная (в модуле приложения) или переменная уровня модуля, или когда переменная в процедуре должна "закрыть" собой глобальную переменную.

Предупреждение() - не оператор, а системная процедура встроенного языка.
Есть еще Сообщить() - выводит текст в окно сообщений (внизу которое).
7 Волшебник
 
24.08.04
10:42
(5) в Синтакс-помощнике.
См. также www.mista.ru/tutor_1c
8 Хома
 
24.08.04
11:04
угум а вот это я правильно понимаю:
Процедура Обработкапроведения()
СпрСотр.Новый();
СпрСотр. Наименование = ФИО;
СпрСотр.Должность=Должность;
СпрСотр.ДатаПриёма=ДатаПриёма;
СпрСотр. Записать();
Конец Процедуры
.....
в переводе
название процедуры
обращаемся к справочнику сотрудников
создаём новый эелемент в справочнике сотрудников
присваиваем Наименование (из справочника) значение хранящееся в  ФИО (документа)
присваиваем Должность (из справочника) значение хранящееся в Должность (документа)
присваиваем ДатаПриёма (справочника) значение хранящееся в ДатаПриёма (документа)
сохраняю новый эелемент в справочнике
конец процедуры
.
.
. это так?
9 Волшебник
 
24.08.04
11:08
не забудь:
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
10 Хома
 
24.08.04
11:16
ага
СоздатьОбъект("Справочник. Сотрудники") - это и будет обращение к справочнику?
11 Волшебник
 
24.08.04
11:19
Да. Только лишние пробелы убери.

Иди сюда: www.mista.ru/tutor_1c
12 Хома
 
24.08.04
11:26
у меня учебник есть...скаченный и распечатанный......эх у мя их если честно многа, толку тока мало пока:(((((
Просто почему то все пособия по 1с както не похожи на обчные справочники по програмированию...и опять же ж там всё как то проще:(((((
13 Хома
 
24.08.04
11:28
и ещё такой вопрос......(можете что угодно думать о моих умственных способностях)
вот на mista.ru/tutor_1c/lang_syntax.htm
Процедура
РасчитатьНалог(Сотрудник,НекаяДата)

КонецПроцедуры
.....
а как это расшифровать то?:(((((
14 Asmody
 
24.08.04
11:38
эт чего развод? >;))

(13) объявление процедуры это.
если перевести на тот же VBA, то будет

Sub RecalcTax(Empl, SomeDate)
...
EndSub

так кажись...
15 GrayT
 
24.08.04
11:39
А это объявление процедуры, которую потом можно будет вызывать из разных мест (попрошу не юродствовать :))
(0)А можно спросить о стаже программирования на том же VBA?
16 Хома
 
24.08.04
11:43
то есть Расчитать Налог - процедура.....
а Сотрудник, НекаяДата - это что?
17 YamMike
 
24.08.04
11:48
(16) Ты чо, а? Это параметры, которые ты передаешь в процедуру. См. (14)
18 Хома
 
24.08.04
11:56
ну объясните мне как оно работает:(((((((((((( ну мож на примере на каком........не понимаю я
Процедура
РасчитатьНалог(Сотрудник,НекаяДата)
КонецПроцедуры
19 Волшебник
 
24.08.04
11:58
Тяжелый случай...

Нужно срочно купить книгу "Программирование для школьников". Там на примере игрушечного танка рассказывается понятие "алгоритм", "переменная", "команда", "процедура", "функция".
20 Asmody
 
24.08.04
12:00
Процедура РасчитатьНалог(Сотрудник,НекаяДата)
 ...
КонецПроцедуры

можно так:

СпрСотр=СоздатьОбъект("Справочник.Сотрудники");
Сотр=СпрСотр.НайтиПоНаименованию("Иванов");
РасчитатьНалог(Сотр,РабочаяДата());
21 GrayT
 
24.08.04
12:01
Ты не ответил на наши вопросы в 14 и 15.
Процедура ПосчитатьСуму(Парам1, Парам2)
Сообщить(Парам1+Парам2);
КонецПроцедуры;

Дальше по ходу
ПосчитатьСуму(1,2);
.............
.............
ПосчитатьСуму(5,7)
Достаточно примитивно?
22 Asmody
 
24.08.04
12:03
(19)+ не поможет. есть классная книга "Компьютер в детском саду". Вот это то, что нужно. >;))
23 Хома
 
24.08.04
12:04
Волшебник, хи...оа у  мя есть.......кстати очень харошая книжка, многие профессионалы советуют начинающим именно детские книжки..ни где так понятно не обрисовано как там.
а потом проблемма у меня в том что я ни как не могу осознать 1с собственно как язык.....а во всех книгах на всех сайта...представление 1с очень схоже....
мне нужна не книга "Программирование для школьников", а что нить в духе "Детям про 1с".......
а по делу, объяснить можешь?
24 Волшебник
 
24.08.04
12:08
(23) попробуй это:
www.firststeps.ru/1c
25 Хома
 
24.08.04
12:10
Asmody
обращение к справочнику сотрудники
выбор элемента справочника
выполняем для элемента расчет на по конкретной дете
так?
26 Asmody
 
24.08.04
12:14
(25) именно. только не _выбор_ а _поиск_ элемента справочника по наименованию.
27 Хома
 
24.08.04
12:15
GrayТ отвечаю:
это не развод
стажа нет - я работаю не програмистом, а инженером
угум так:
Процедура по параметрам 1и 2
запрашиваем у пользователя параметр 1 и 2
конец процедуры
...это верно?
тыкс....а по ходу:
ммируем параметр 1 и 2
5,7?????
28 Волшебник
 
24.08.04
12:15
Asmody уже привык к 8.0 и пишет по-новому.
Для 7.7 нужно так:

Если СпрСотр.НайтиПоНаименованию("Иванов")=1 Тогда
  РасчитатьНалог(СпрСотр.ТекущийЭлемент(),РабочаяДата());
КонецЕсли;

"расчет"
"рассчитать"
29 Хома
 
24.08.04
12:17
   Asmody
угу кажись понимаю.....спасиба
30 Хома
 
24.08.04
12:21
Волшебник
если в справочнике найден Иванов, надо расчитать доя него налог на текущую дату
так?
"расчет" и "рассчитать"?
31 Волшебник
 
24.08.04
12:26
(30) Я понял твою проблему: ты все конструкции программирования переводишь на русский язык, а нужно их воспринимать как они есть, без перевода. Это аналогично простому пониманию иностранного языка по сравнению с переводом на родной язык и последующим пониманием.

Забудь про русский, пиши и думай на языке 1С.

А теперь по твоим вопросам:
1. не на текущую, а на рабочую (это разные понятия)
2. простая правка орфографии. "Расчет" пишется с одной "с", а "рассчитать" с двумя. К тебе, кстати, это тоже относится.
32 Хома
 
24.08.04
13:54
угум попробую терь разобраться .......
всем спасибо.