![]() |
![]() |
![]() |
|
Не получается записать документы | ☑ | ||
---|---|---|---|---|
0
Ekran
27.07.23
✎
12:43
|
&НаСервере
Процедура ИзменитьНагрузкуНаСервере() // // Всем преподавателям изменить нагрузку за экзамены. // ПлановаяНагрузкаЗаПисьмЭкзамен = 6; ПлановаяНагрузкаЗаУстныйИлиМодульныйЭкзамен = 8; Семестр_1 = Справочники.ПериодыОбучения.НайтиПоКоду("000000981"); Семестр_2 = Справочники.ПериодыОбучения.НайтиПоКоду("000000982"); ЭкзПисьм = Справочники.ВидыНагрузки.НайтиПоНаименованию("Экзамен письменный"); ЭкзУстн = Справочники.ВидыНагрузки.НайтиПоНаименованию("Экзамен устный"); ЭкзМодульн = Справочники.ВидыНагрузки.НайтиПоНаименованию("Экзамен (квалификационный) по профессиональному модулю"); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ФормированиеНагрузкиКафедрыРаспределениеНагрузки.Ссылка КАК Ссылка |ИЗ | Документ.ФормированиеНагрузкиКафедры.РаспределениеНагрузки КАК ФормированиеНагрузкиКафедрыРаспределениеНагрузки |ГДЕ | (ФормированиеНагрузкиКафедрыРаспределениеНагрузки.Семестр = &Семестр_1 | ИЛИ ФормированиеНагрузкиКафедрыРаспределениеНагрузки.Семестр = &Семестр_2)"; Запрос.УстановитьПараметр("Семестр_1", Семестр_1); Запрос.УстановитьПараметр("Семестр_2", Семестр_2); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); НачатьТранзакцию(); Попытка Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Док = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); //Если НЕ Док.Проведен Тогда; // Продолжить; //КонецЕсли; Для Каждого СтрокаТЧ Из Док.РаспределениеНагрузки Цикл БылоЧасов = СтрокаТЧ.КоличествоЧасов; Если СтрокаТЧ.ВидНагрузки = ЭкзПисьм Тогда СтрокаТЧ.КоличествоЧасов = ПлановаяНагрузкаЗаПисьмЭкзамен; Док.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); ЗаписатьЛогИСообщитьПользователю(Док, СтрокаТЧ.НомерСтроки, БылоЧасов, ПлановаяНагрузкаЗаПисьмЭкзамен); КонецЕсли; Если СтрокаТЧ.ВидНагрузки = ЭкзУстн или СтрокаТЧ.ВидНагрузки = ЭкзМодульн Тогда СтрокаТЧ.КоличествоЧасов = ПлановаяНагрузкаЗаУстныйИлиМодульныйЭкзамен; Док.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); ЗаписатьЛогИСообщитьПользователю(Док, СтрокаТЧ.НомерСтроки, БылоЧасов, ПлановаяНагрузкаЗаУстныйИлиМодульныйЭкзамен); КонецЕсли; КонецЦикла; КонецЦикла; Исключение ОтменитьТранзакцию(); ОбщегоНазначения.СообщитьПользователю("Сбой"); КонецПопытки; ОбщегоНазначения.СообщитьПользователю("Завершено"); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры &НаКлиенте Процедура ИзменитьНагрузку(Команда) ИзменитьНагрузкуНаСервере(); КонецПроцедуры Скажите, пожалуйста, почему не получается записать документы? Я уже попробовал сделать один документ сегодняшним числом (т.п. по крайней мере, один есть свежий). Потом я отменил его проведение. В лог этот документ попадает наряду с другими. Но все равно этот документ остается непроведенным. Остальные документы тоже, соответственно, остаются с неизмененной информацией в табличной части. Был бы признателен за помощь. |
|||
1
Волшебник
27.07.23
✎
12:48
|
Нет ЗафиксироватьТранзакцию()
|
|||
2
Ekran
27.07.23
✎
12:55
|
(1) Спасибо. Заработало.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |