Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Proxxer
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
1

Конфигурация-самописка с регистрами расчета

11.03.2014, 12:53. Просмотров 777. Ответов 8
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Процедура РассчитатьНачисления(НаборЗаписейРегистра, ТребуемыйВидРасчета, СписокСотрудников) Экспорт
      
      Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение;
      Если ТребуемыйВидРасчета =
          ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда
              Запрос = Новый Запрос;
                  Запрос.Текст =
           "ВЫБРАТЬ
           |    НачисленияДанныеГрафика.ЗначениеПериодДействия как Норма,          
           |     НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия как Факт,       
           |     НачисленияДанныеГрафика.НомерСтроки как НомерСтроки           
           |ИЗ
           |РегистрРасчета.Начисления.ДанныеГрафика(Регистратор =  &Регистратор И
           |ВидРасчета = &ВидРасчета И Сотрудник В (&СписокСотрудников))
           |КАК НачисленияДанныеГрафика" ;
 
           Запрос.УстановитьПараметр("Регистратор", Регистратор);
           Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);
           Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);
       
           ВыборкаРезультата = Запрос.Выполнить().Выбрать() ;
           
           Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
               СтруктураНомер = Новый Структура("НомерСтроки");
               СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
               ВыборкаРезультата.Сбросить();
               
               Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
                   
                   Если ВыборкаРезультата.Норма = 0 Тогда
                       Сообщение = Новый СообщениеПользователю;
                       Сообщение.Текст = "Вид расчета: Оклад - Нет рабочик дней в заданном периоде";
                       Сообщение.Сообщить();
                       ЗаписьРегистра.Результат = 0;
                   Иначе
                       ЗаписьРегистра.Результат =
                       (ЗаписьРегистра.ИсходныеДанные/ВыборкаРезультата.Норма) *
                       ВыборкаРезультата.Факт;
                       Сообщение = Новый СообщениеПользователю;
                       Сообщение.Текст = "Выполнен расчет" +
                       ЗаписьРегистра.Регистратор + " - " + ЗаписьРегистра.ВидРасчета
                       + " - " + ЗаписьРегистра.Сотрудник;
                       Сообщение.Сообщить();
                       
                   КонецЕсли;
               КонецЕсли ;
               КонецЦикла ;
.............



При нажатии кнопки "Привести и Закрыть", программа выдаёт ошибку:


Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ПроведениеРасчетов.Модуль(21)}: Ошибка при вызове метода контекста (Выполнить)
ВыборкаРезультата = Запрос.Выполнить().Выбрать() ;
по причине:
{(2, 5)}: Поле не найдено "РегистрРасчетаНачисленияДанныеГрафика.ЗначениеПериодДействия"
<<?>>РегистрРасчетаНачисленияДанныеГрафика.ЗначениеПериодДействия как Норма


Я в 1С не очень разбираюсь, помогите исправить ошибку пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 12:53
Ответы с готовыми решениями:

Серийный номер талонов на топливо (самописка)
Здравствуйте многоуважаемые форумчане!! Снова нужна ваша помощь в программе...

Создание Сторно В Регистре Расчета С Таким Же Видом Расчета
Как в регистре расчета 1С8.2 создать сторно с таким же видом расчета.В 1С 7.7...

Работа с регистрами
Есть самописная конфа. Не моя. Разбираюсь что да как. Есть код...

Работа с регистрами
Пишу курсовую, выбрал очень неудачную тему Агентства недвижимости. (с точки...

Создание и работа с регистрами
Здравствуйте! Подскажите, пожалуйста, методы реализации такого вопроса: Есть...

8
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
11.03.2014, 14:00 2
Текст запроса стройте с помощью КОНСТРУКТОРА
Ошибка говорит о том что нет такого поля в регистре "ЗначениеПериодДействия"
1
duk337
2948 / 1760 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
11.03.2014, 15:13 3
Конфа дорабатывалась? Какая?
В каком документе?
0
Proxxer
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
11.03.2014, 17:56  [ТС] 4
Эту проблему я решил. Теперь другая проблема:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
         СтруктураНомер = Новый Структура("НомерСтроки");
             СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
         ВыборкаРезультата.Сбросить();
             
             Если ВыборкаРезультата.Норма = 0 Тогда
                  Сообщение = Новый СообщениеПользователю;
              Сообщение.Текст = "Вид расчета: Оклад - Нет рабочик дней в заданном периоде";
                  Сообщение.Сообщить();
                  ЗаписьРегистра.Результат = 0;
                  
              Иначе 
                  ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные/ВыборкаРезультата.Норма) * ВыборкаРезультата.Факт;
                 Сообщение = Новый СообщениеПользователю;
                  Сообщение.Текст = "Выполнен расчет" +
                  ЗаписьРегистра.Регистратор + " - " + ЗаписьРегистра.ВидРасчета + "-" + ЗаписьРегистра.Сотрудник;
                  Сообщение.Сообщить();

Теперь при нажатии на кнопку "Провести" выдаёт следующую ошибку:

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ПроведениеРасчетов.Модуль(33)}: Преобразование значения к типу Число не может быть выполнено
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные/ВыборкаРезультата.Норма) * ВыборкаРезультата.Факт;
0
Proxxer
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
11.03.2014, 18:18  [ТС] 5
Помогите кто-нибудь пожалуйста помогите.
Вот конфа моей базы http://rghost.ru/52984326

Много времени это не займёт. При формировании отчёта "Начисление сотрудникам" не заполняется колонка результат. При нажатии кнопки "Провести" выдаёт ошибку.Не начисляется премия. И не формируется отчёт "Перерасчёт"
Очень нужна помощь, целый день сижу с этой базой, не получается...

Добавлено через 7 минут
Основнойй код находиться в Общих Модулях "Проведение Расчетов" и ещё не большая часть кода в Документе "НачисленияСотрудникам". Помогите кто нибудь ошибки исправить. Там по времени не много. Я тупо не могу их найти
0
duk337
2948 / 1760 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
11.03.2014, 18:57 6
в запросе используйте ISNULL()
1
duk337
2948 / 1760 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
11.03.2014, 20:15 7
Неплохо бы зарарить дт-ху и выложить прямо сюда. Всего-то 67 кг. Файлообменники не приветствуются.

Добавлено через 1 минуту
судя по весу, самописка?

Добавлено через 26 минут
Вы дату используете как число.
1C
1
2
3
4
5
6
         "ВЫБРАТЬ
         |  НачисленияДанныеГрафика.ПериодДействия КАК Норма,
         |  НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт
         |ИЗ
         |  РегистрРасчета.Начисления.ДанныеГрафика(Регистратор = &Регистратор И ВидРасчета = &ВидРасчета
         | И Сотрудник В (&СписокСотрудников)) КАК НачисленияДанныеГрафика" ;
Где брать время в самописной конфе - я тупо не знаю. Типовой ЗУП хватает по горло.
1
Вложения
Тип файла: rar 1Cv8.rar (67.3 Кб, 4 просмотров)
duk337
2948 / 1760 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
11.03.2014, 20:24 8
это я выложил базу ТС. Самописная. Где-то в регистре расчета не указан ресурс для заполнения графика или типа того или не настрен ВР или... короче, вот...
1
Proxxer
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 17
11.03.2014, 23:16  [ТС] 9
На одном форуме прочитал, что помог ЕстьNull в запросе, только не понимаю как его использовать. Потому что не разбираюсь в 1С

Добавлено через 21 минуту
Всё! Спасибо огромное! Я разобрался!
0
11.03.2014, 23:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 23:16

Работа с регистрами значений
задача такая: в регистр пишутся значения по пользователю и типу электричества....

1c77 ТиС 9.2 Проблема с регистрами
В некоей фирме случилось несчастье : по некоторым позициям товаров обнаружилась...

Проблема с регистрами накопления в бухе
Добрый вечер! При обмене данных при помощи одной обработки не подводившей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru