|
ПроведениеРасчетов | ☑ | ||
---|---|---|---|---|
0
Slk777
21.12.13
✎
00:43
|
Здраствуйте Уважаемые.Я самообучаюсь по книге М.Г. Радченко и не могу Понять что я делаю не так. Остановился на стр 562. В прописании Листинга. Написал всё вроде правельно но он выдает ошибку:{ОбщийМодуль.ПроведениеРасчетов.Модуль(55,5)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
<<?>>КонецЕсли; {ОбщийМодуль.ПроведениеРасчетов.Модуль(86,33)}: Обнаружено логическое завершение исходного текста модуля ВыборкаРезультата = Запрос.<<?>>Выполнить().Выбрать(); Я перебробовал всё за неделю так и не смог решить. я Не понимаю.. |
|||
1
Slk777
21.12.13
✎
00:44
|
Вот Мой Листинг
Процедура РассчитатьНачисления(НаборЗаписейРегистра,ТребуемыйВидРасчета,СписокСОтрудников)Экспорт Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение; //Рассчитать первичные записи. Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма, | НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт, | НачисленияДанныеГрафика.НомерСтроки |ИЗ | РегистрРасчета.Начисления.ДанныеГрафика( | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета | И Сотрудник В (&СписокСотрудников)) КАК НачисленияДанныеГрафика"; Запрос.УстановитьПараметр("Регистратор",Регистратор); Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников",СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.Норма = 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "ВидРасчета:Оклад - Нет рабочих дней в заданном переоде"; Сообщение.Сообщить(); ЗаписьРегистра.Результат = 0; КонецЕсли; КонецЦикла; Иначе //Рассчитать оклад по фактическому периоду // и исходным данным. ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные / ВыборкаРезультат.Норма)* ВыборкаРезультат.Факт; Сообщение = Новый СообщениеПользователю; Cообщение.Текст = "Выполнить расчет" + ЗаписьРегистра.Регистратор + "-" + ЗаписатьРегистр.ВидРасчета + "-" + ЗаписатьРегистр.Сотрудник; Сообщение.Сообщить(); КонецЕсли; КонецЕсли; КонецЦикла; // Рассчитать вторичные записи. ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачисленияБазаНачисления.РезультатБаза КАК База, | НачисленияБазаНачисления.НомерСтроки |ИЗ | РегистрРасчета.Начисления.БазаНачисления( | &ИзмеренияОсновного, | &ИзмеренияБазового, | , | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета | И Сотрудник В (&СписокСотрудников)) КАК НачисленияБазаНачисления"; Измер = Новый Массив(1); Измер[0] = "Сотрудник"; Запрос.УстановитьПараметр("ИзмеренияОсновного",Измер); Запрос.УстановитьПараметр("ИзмеренияБазового",Измер); Запрос.УстановитьПараметр("Регистратор",Регистратор); Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистр Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда ЗаписьРегистра.Результат = ВыборкаРезультат.База*(10/100); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра.Регистратор +"-"+ ЗаписьРегитсра.ВидСчета +"-"+ ЗаписьРегистра.Сторудник; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
2
Diter
21.12.13
✎
00:47
|
отформатировать не судьба? я пока вижу лишний КонецЦикла в самом начале. и вообще как то несуразно все. что в 8-ке цикл начинать никак не надо?
|
|||
3
Diter
21.12.13
✎
00:47
|
на это и ругается. где то личшие "закрывающие скобки" выражений цикла или условия
|
|||
4
GROOVY
21.12.13
✎
00:48
|
||||
5
GROOVY
21.12.13
✎
00:49
|
Особенно глянь тему: http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=604347 а то вдруг ; пропустили издатели.
|
|||
6
Slk777
21.12.13
✎
00:50
|
Я сам сижу дома и обучаюсь. не на какие курсы и не каких знакомых в этой сфере нет и что токой отформить я тоже не вкурсе. Если можете Хелп.
|
|||
7
GROOVY
21.12.13
✎
00:51
|
Сходи на курсы. И знакомыми обзаведешься и опытом.
|
|||
8
Diter
21.12.13
✎
00:51
|
(7) до курсов мне лично почти как до луны. вот чего мне делать тогда? а что может в книге ошибка быть?
|
|||
9
Slk777
21.12.13
✎
00:52
|
GROOVY щас по твоей ссылке прогуляюсь. СПС
|
|||
10
jsmith82
21.12.13
✎
00:53
|
регистры расчета самое слабое место у радченко
в библии лучше написано |
|||
11
jsmith82
21.12.13
✎
00:53
|
и планы обмена у него так себе
|
|||
12
Slk777
21.12.13
✎
00:56
|
Скажите, а сам листинг правельно прописан? это значительно сузит круг моего поиска.
|
|||
13
GROOVY
21.12.13
✎
00:56
|
(8) Ты по ссылкам погуляй, чей не много времени займет.
По расчетам отвечу. На грамотно поставленный вопрос. На своем форуме chistov.spb.ru Занудный я, да? |
|||
14
GROOVY
21.12.13
✎
00:57
|
(12) Где?
|
|||
15
jsmith82
21.12.13
✎
00:57
|
(12) пишет же, что нет. может, непечатный символ где вставился
|
|||
16
jsmith82
21.12.13
✎
00:57
|
попробуй скопировать в блокнот, потом заново вставить в модуль
|
|||
17
Gavrila
21.12.13
✎
00:58
|
(0)
если ты неделю с этой фигней возился, то я лично не понимаю что дальше будет... Процедура РассчитатьНачисления(НаборЗаписейРегистра,ТребуемыйВидРасчета,СписокСОтрудников)Экспорт Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение; //Рассчитать первичные записи. Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма, | НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт, | НачисленияДанныеГрафика.НомерСтроки |ИЗ | РегистрРасчета.Начисления.ДанныеГрафика( | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета | И Сотрудник В (&СписокСотрудников)) КАК НачисленияДанныеГрафика"; Запрос.УстановитьПараметр("Регистратор",Регистратор); Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников",СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.Норма = 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "ВидРасчета:Оклад - Нет рабочих дней в заданном переоде"; Сообщение.Сообщить(); ЗаписьРегистра.Результат = 0; ////// КонецЕсли; //////КонецЦикла; Иначе //Рассчитать оклад по фактическому периоду // и исходным данным. ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные / ВыборкаРезультата.Норма)* ВыборкаРезультата.Факт; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнить расчет" + ЗаписьРегистра.Регистратор + "-" + ЗаписьРегистра.ВидРасчета + "-" + ЗаписьРегистра.Сотрудник; Сообщение.Сообщить(); //////КонецЕсли; КонецЕсли; КонецЦикла; // Рассчитать вторичные записи. ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачисленияБазаНачисления.РезультатБаза КАК База, | НачисленияБазаНачисления.НомерСтроки |ИЗ | РегистрРасчета.Начисления.БазаНачисления( | &ИзмеренияОсновного, | &ИзмеренияБазового, | , | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета | И Сотрудник В (&СписокСотрудников)) КАК НачисленияБазаНачисления"; Измер = Новый Массив(1); Измер[0] = "Сотрудник"; Запрос.УстановитьПараметр("ИзмеренияОсновного",Измер); Запрос.УстановитьПараметр("ИзмеренияБазового",Измер); Запрос.УстановитьПараметр("Регистратор",Регистратор); Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистр Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда ЗаписьРегистра.Результат = ВыборкаРезультата.База*(10/100); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра.Регистратор +"-"+ ЗаписьРегистра.ВидСчета +"-"+ ЗаписьРегистра.Сторудник; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
18
Diter
21.12.13
✎
00:59
|
я же говорил - "скобки" в выражениях цикла и условий....
|
|||
19
Gavrila
21.12.13
✎
01:00
|
+(17)
помимо элементарных ошибок в базовых конструкциях, некоторые переменные в разных языках набраны. короче, садись -2 :D советую начать с изучения бейсика. через пару лет по результатам понемногу переходить к адинєс |
|||
20
Slk777
21.12.13
✎
01:00
|
Gavrila я ТЕ памятник Поставлю Спс ГРОМАДНЫЙ!!!
|
|||
21
Slk777
21.12.13
✎
01:02
|
Жесть... Все стало намного сосем плохо...{ОбщийМодуль.ПроведениеРасчетов.Модуль(52)}: Преобразование значения к типу Число не может быть выполнено
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные |
|||
22
Gavrila
21.12.13
✎
01:03
|
мде... нианада мнеза єто памятник, а то потомки проклянут
|
|||
23
Slk777
21.12.13
✎
01:04
|
;)
|
|||
24
jsmith82
21.12.13
✎
01:04
|
(22) насчёт бейсика ты был прав по ходу
тут форум по 1с, а не по программированию |
|||
25
GROOVY
21.12.13
✎
01:05
|
(21) Чувак, тебе точно в (7).
Там и про неявное преобразование типов объяснят. Ну на нормальных курсах, а не халтурных. |
|||
26
jsmith82
21.12.13
✎
01:06
|
(25) имхается, ТС в (19)
|
|||
27
GROOVY
21.12.13
✎
01:07
|
(26) не эффективно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |