|
Не записывается регистр расчета | ☑ | ||
---|---|---|---|---|
0
МосЭстрада
13.03.13
✎
11:05
|
Вот процедура расчета, в результате которой должны записываться Сумма и ОтработаноЧасов, но почему-то не записывается.
Процедура Расчет(Регистратор) экспорт НЗ_РР = РегистрыРасчета.РегистрОсновныхРасчетов.СоздатьНаборЗаписей(); НЗ_РР.Отбор.Регистратор.Установить(Регистратор); НЗ_РР.Прочитать(); Таб = НЗ_РР.Выгрузить(); Для Каждого Стр_НЗ Из Таб Цикл Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегистрОсновныхРасчетовДанныеГрафика.НомерСтроки, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.ЗначениеФактическийПериодДействия, 0) КАК Факт, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.ЗначениеБазовыйПериод, 0) КАК База, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.Сумма, 0) КАК Сумма, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.ОтработаноЧасов, 0) КАК Отработано, | РегистрОсновныхРасчетов.ВидРасчета, | СведенияОСотрудникахСрезПоследних.Оклад, | ЕСТЬNULL(РегистрОсновныхРасчетовБазаРегистрОсновныхРасчетов.СуммаБаза, 0) КАК СуммаБаза |ИЗ | РегистрРасчета.РегистрОсновныхРасчетов КАК РегистрОсновныхРасчетов | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.РегистрОсновныхРасчетов.ДанныеГрафика(Регистратор = &Регистратор) КАК РегистрОсновныхРасчетовДанныеГрафика | ПО РегистрОсновныхРасчетов.НомерСтроки = РегистрОсновныхРасчетовДанныеГрафика.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках.СрезПоследних( | &Дата, | Подразделение = &Подразделение | И Сотрудник = &Сотрудник) КАК СведенияОСотрудникахСрезПоследних | ПО РегистрОсновныхРасчетов.Сотрудник = СведенияОСотрудникахСрезПоследних.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.РегистрОсновныхРасчетов.БазаРегистрОсновныхРасчетов(&изм, &изм, , ) КАК РегистрОсновныхРасчетовБазаРегистрОсновныхРасчетов | ПО РегистрОсновныхРасчетов.НомерСтроки = РегистрОсновныхРасчетовБазаРегистрОсновныхРасчетов.НомерСтроки |ГДЕ | РегистрОсновныхРасчетов.Регистратор = &Регистратор | И РегистрОсновныхРасчетов.НомерСтроки = &НомерСтроки"; Запрос.УстановитьПараметр("НомерСтроки", Стр_НЗ.НомерСтроки); Запрос.УстановитьПараметр("Регистратор", Регистратор); Запрос.УстановитьПараметр("Подразделение", Стр_НЗ.Подразделение); Запрос.УстановитьПараметр("Сотрудник", Стр_НЗ.Сотрудник); Запрос.УстановитьПараметр("Дата",Стр_НЗ.ПериодДействияНачало); МасИзм = Новый Массив(2); МасИзм[0] = "Сотрудник"; МасИзм[1] = "Подразделение"; Запрос.УстановитьПараметр("изм", МасИзм); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Если ВыборкаДетальныеЗаписи.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда Стр_НЗ.Сумма = ВыборкаДетальныеЗаписи.Оклад/ВыборкаДетальныеЗаписи.База*ВыборкаДетальныеЗаписи.Факт Иначе Стр_НЗ.Сумма = ВыборкаДетальныеЗаписи.СуммаБаза/ВыборкаДетальныеЗаписи.База*ВыборкаДетальныеЗаписи.Факт КонецЕсли; Стр_НЗ.ОтработаноЧасов = ВыборкаДетальныеЗаписи.Факт; НЗ_РР = РегистрыРасчета.РегистрОсновныхРасчетов.СоздатьНаборЗаписей(); НЗ_РР.Отбор.Регистратор.Установить(Регистратор); НЗ_РР.Очистить(); НЗ_РР.Загрузить(Таб); НЗ_РР.Записать(,,Ложь); КонецЦикла; Таб.ВыбратьСтроку(); КонецПроцедуры Что тут не так? Где собака порылать, так сказать? |
|||
1
regniws
13.03.13
✎
11:38
|
после этой строчки НЗ_РР.Записать(,,Ложь);
посмотреть чего находится в НЗ_РР |
|||
2
regniws
13.03.13
✎
11:40
|
да и по тексту запроса не особо видно, чтобы там где-то был регистратор.
|
|||
3
МосЭстрада
13.03.13
✎
13:16
|
Регистратор - параметрю
в НЗ_РР - все что надо до и после Записать. Однако, нет номера строки, т.е. НомерСтроки = 0. В Таб номер строки есть у каждой строки. |
|||
4
МосЭстрада
13.03.13
✎
13:18
|
Как это исправить?
Или недопусить? Или все переделать? Вобщем победить? |
|||
5
МосЭстрада
13.03.13
✎
14:01
|
Новый вариант, опять не записывает
Процедура Расчет(Регистратор) экспорт НЗ_РР = РегистрыРасчета.РегистрОсновныхРасчетов.СоздатьНаборЗаписей(); НЗ_РР.Отбор.Регистратор.Установить(Регистратор); НЗ_РР.Прочитать(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегистрОсновныхРасчетовДанныеГрафика.НомерСтроки, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.ЗначениеФактическийПериодДействия, 0) КАК Факт, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.ЗначениеБазовыйПериод, 0) КАК База, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.Сумма, 0) КАК Сумма, | ЕСТЬNULL(РегистрОсновныхРасчетовДанныеГрафика.ОтработаноЧасов, 0) КАК Отработано, | РегистрОсновныхРасчетов.ВидРасчета, | ЕСТЬNULL(РегистрОсновныхРасчетовБазаРегистрОсновныхРасчетов.СуммаБаза, 0) КАК СуммаБаза, | РегистрОсновныхРасчетов.Сотрудник, | РегистрОсновныхРасчетов.Подразделение |ПОМЕСТИТЬ ВрТаб |ИЗ | РегистрРасчета.РегистрОсновныхРасчетов КАК РегистрОсновныхРасчетов | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.РегистрОсновныхРасчетов.ДанныеГрафика(Регистратор = &Регистратор) КАК РегистрОсновныхРасчетовДанныеГрафика | ПО РегистрОсновныхРасчетов.НомерСтроки = РегистрОсновныхРасчетовДанныеГрафика.НомерСтроки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.РегистрОсновныхРасчетов.БазаРегистрОсновныхРасчетов(&изм, &изм, , ) КАК РегистрОсновныхРасчетовБазаРегистрОсновныхРасчетов | ПО РегистрОсновныхРасчетов.НомерСтроки = РегистрОсновныхРасчетовБазаРегистрОсновныхРасчетов.НомерСтроки |ГДЕ | РегистрОсновныхРасчетов.Регистратор = &Регистратор |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СведенияОСотрудникахСрезПоследних.Оклад, | ВрТаб.НомерСтроки КАК НомерСтроки, | ВрТаб.Факт, | ВрТаб.База, | ВрТаб.Сумма, | ВрТаб.Отработано, | ВрТаб.ВидРасчета, | ВрТаб.СуммаБаза |ИЗ | ВрТаб КАК ВрТаб | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках.СрезПоследних( | &Дата, | (Подразделение, Сотрудник) В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ВрТаб.Подразделение, | ВрТаб.Сотрудник | ИЗ | ВрТаб КАК ВрТаб)) КАК СведенияОСотрудникахСрезПоследних | ПО ВрТаб.Сотрудник = СведенияОСотрудникахСрезПоследних.Сотрудник | И ВрТаб.Подразделение = СведенияОСотрудникахСрезПоследних.Подразделение | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Запрос.УстановитьПараметр("Регистратор", Регистратор); Запрос.УстановитьПараметр("Дата",Регистратор.Дата); МасИзм = Новый Массив(2); МасИзм[0] = "Сотрудник"; МасИзм[1] = "Подразделение"; Запрос.УстановитьПараметр("изм", МасИзм); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Стр_НЗ = НЗ_РР[ВыборкаДетальныеЗаписи.НомерСтроки - 1]; Если ВыборкаДетальныеЗаписи.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда Стр_НЗ.Сумма = ВыборкаДетальныеЗаписи.Оклад/ВыборкаДетальныеЗаписи.База*ВыборкаДетальныеЗаписи.Факт; //Иначе //Стр_НЗ.Сумма = ВыборкаДетальныеЗаписи.СуммаБаза/ВыборкаДетальныеЗаписи.База*ВыборкаДетальныеЗаписи.Факт Стр_НЗ.ОтработаноЧасов = ВыборкаДетальныеЗаписи.Факт; КонецЕсли; КонецЦикла; НЗ_РР.Записать(,,Ложь); РасчетКомандировки(Регистратор) КонецПроцедуры Объясните оленю, почему не записывает ??? |
|||
6
МосЭстрада
25.03.13
✎
13:53
|
Это был глюк платформы, капризничал текстовый редактор.
|
|||
7
mikecool
25.03.13
✎
13:55
|
(6) че - прям так и капризничал? кричал "хрен тебе, не запишу значения в базу, ведь я - текстовый редактор!!!" ?
|
|||
8
МосЭстрада
26.03.13
✎
08:54
|
:)
да нет, просто по тихому не выполнял для набора записей метод Записать, как будто этой строчки нет вообще. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |