|
v7: Создание новых записей в Журнале расчетов | ☑ | ||
---|---|---|---|---|
0
Web00001
16.09.11
✎
07:08
|
Понадобилось обнулить, именно обнулить а не удалить записи в ЖР, так как некоторые из нужных записей имеют атрибут "фиксирована", удаляю и создаю новые, получился вот такой код:
Процедура Сформировать() Журнал = СоздатьОбъект("ЖурналРасчетов.Зарплата"); Текущая = Дата1; ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("ЗаписьЖР"); Пока Текущая <= Дата2 Цикл Журнал.ВыбратьПериод(Текущая); Пока Журнал.ПолучитьЗапись() = 1 Цикл Если (Журнал.ВидРасч = ВидРасчета.НачальноеСальдоЗадолженность) или (Журнал.ВидРасч = ВидРасчета.НачальноеСальдоОкругления) или (Журнал.ВидРасч = ВидРасчета.НачальноеСальдоПереплатаНДФЛ) Тогда ТЗ.НоваяСтрока(); ТЗ.ЗаписьЖР = Журнал.ТекущаяЗапись(); КонецЕсли; КонецЦикла; Текущая = ДобавитьМесяц(Текущая, 1); КонецЦикла; ТЗ.ВыбратьСтроки(); ПериодБыл = Журнал.ТекущийПериод(); ПериодСейчас = ""; Пока ТЗ.ПолучитьСтроку() = 1 Цикл Если Журнал.НайтиЗапись(ТЗ.ЗаписьЖР) = 1 Тогда _Документ = Журнал.Документ; _РодительскийДокумент = Журнал.РодительскийДокумент; _Объект = Журнал.Объект; _ВидРасч = Журнал.ВидРасч; _ДатаНачала = Журнал.ДатаНачала; _ДатаОкончания = Журнал.ДатаОкончания; _ПериодДействия = Журнал.ПериодДействия; _ПериодРегистрации = Журнал.ПериодРегистрации; _Сторно = Журнал.Сторно; _Рассчитана = Журнал.Рассчитана; _Исправлена = Журнал.Исправлена; _Фиксирована = Журнал.Фиксирована; _Перерасчет = Журнал.Перерасчет; _ПервичнаяЗапись = Журнал.ПервичнаяЗапись; _Дни = Журнал.Дни; _Часы = Журнал.Часы; _НомерСтрокиДокумента = Журнал.НомерСтрокиДокумента; _СтрокаИсправления = Журнал.СтрокаИсправления; Журнал.УдалитьЗапись(); Журнал.Новая(); Если ПериодСейчас <> _ПериодРегистрации Тогда ПериодСейчас = _ПериодРегистрации; Журнал.УстановитьТекущийПериод(ПериодСейчас,0); КонецЕсли; //Попытка Журнал.УстановитьРеквизит("Документ",_Документ); //Исключение // Сообщить("Установка"); // Сообщить(""+_Объект+";"+_ПериодРегистрации); // Возврат; //КонецПопытки; Журнал.УстановитьРеквизит("РодительскийДокумент", _РодительскийДокумент); Журнал.УстановитьРеквизит("Объект", _Объект); Журнал.УстановитьРеквизит("ВидРасч", _ВидРасч); Журнал.УстановитьРеквизит("ДатаНачала",_ДатаНачала); Журнал.УстановитьРеквизит("ДатаОкончания", _ДатаОкончания); //Журнал.УстановитьРеквизит("ПериодДействия", ПериодДействия); //Журнал.УстановитьРеквизит("ПериодРегистрации", ПериодРегистрации); Журнал.УстановитьРеквизит("Сторно", _Сторно); Журнал.УстановитьРеквизит("Рассчитана", _Рассчитана); Журнал.УстановитьРеквизит("Исправлена", _Исправлена); Журнал.УстановитьРеквизит("Фиксирована", _Фиксирована); Журнал.УстановитьРеквизит("Перерасчет", _Перерасчет); Журнал.УстановитьРеквизит("ПервичнаяЗапись", _ПервичнаяЗапись); Журнал.УстановитьРеквизит("Результат", 0); Журнал.УстановитьРеквизит("Дни", _Дни); Журнал.УстановитьРеквизит("Часы", _Часы); Журнал.УстановитьРеквизит("НомерСтрокиДокумента", _НомерСтрокиДокумента); Журнал.УстановитьРеквизит("СтрокаИсправления", _СтрокаИсправления); Попытка Журнал.Записать(); Исключение; Сообщить("Запись"); Возврат; КонецПопытки; КонецЕсли; КонецЦикла; Журнал.УстановитьТекущийПериод(ПериодБыл,0); КонецПроцедуры Но он матерится, что: Журнал.УстановитьРеквизит("Документ",_Документ); {C:\USERS\ччч\DESKTOP\1.ERT(52)}: Невозможно предустановить реквизит для записи: Документ Журнал.УстановитьРеквизит("РодительскийДокумент", _РодительскийДокумент); {C:\USERS\ччч\DESKTOP\1.ERT(58)}: Невозможно предустановить реквизит для записи: РодительскийДокумент Журнал.УстановитьРеквизит("Объект", _Объект); {C:\USERS\ччч\DESKTOP\1.ERT(59)}: Невозможно предустановить реквизит для записи: Объект Журнал.УстановитьРеквизит("ВидРасч", _ВидРасч); {C:\USERS\ччч\DESKTOP\1.ERT(60)}: Невозможно предустановить реквизит для записи: ВидРасч Журнал.УстановитьРеквизит("ДатаНачала",_ДатаНачала); {C:\USERS\ччч\DESKTOP\1.ERT(61)}: Невозможно предустановить реквизит для записи: ДатаНачала Журнал.УстановитьРеквизит("ДатаОкончания", _ДатаОкончания); {C:\USERS\ччч\DESKTOP\1.ERT(62)}: Невозможно предустановить реквизит для записи: ДатаОкончания Журнал.УстановитьРеквизит("Перерасчет", _Перерасчет); {C:\USERS\ччч\DESKTOP\1.ERT(69)}: Невозможно предустановить реквизит для записи: Перерасчет Журнал.УстановитьРеквизит("ПервичнаяЗапись", _ПервичнаяЗапись); {C:\USERS\ччч\DESKTOP\1.ERT(70)}: Невозможно предустановить реквизит для записи: ПервичнаяЗапись Вопрос с чего бы это? |
|||
1
Web00001
16.09.11
✎
07:11
|
Что интересно, если второй раз тыкнуть кнопочку, все работает
|
|||
2
Web00001
16.09.11
✎
07:58
|
и в отладчике когда проходит, когда нет, мистика какая то
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |