![]() |
|
v7: Как изменяется Последовательность | ☑ | ||
---|---|---|---|---|
0
revision
18.02.13
✎
09:43
|
Подскажите плиз - не силен в 1с77.
Есть в Документах некая последовательность. В нее включено 2 регистра. Как она может изменятся? При каких событиях? Поясню. При проведении(загрузка данных через XML), если дата документа в закрытом периоде - документ в отказ и не проводится. Но сдвигается граница последовательности. Почему - не пойму. Подскажите, плиз. |
|||
1
Aleksey
18.02.13
✎
09:46
|
только регистры? а документы включены?
|
|||
2
revision
18.02.13
✎
09:49
|
(1)внизу только в разделе "Последовательность влияет на проведение"
|
|||
3
Джордж1
18.02.13
✎
09:54
|
(0)"документ в отказ " - это как выглядит?
|
|||
4
revision
18.02.13
✎
09:58
|
(3)как то так
Процедура ОбработкаПроведения(П) ДатаЗапрета = Константа.ДатаЗапретаРедактирования; Если ДатаДок <= ДатаЗапрета Тогда Сообщить( "Период закрыт для редактирования!"); СтатусВозврата(0); Возврат; КонецЕсли; |
|||
5
Джордж1
18.02.13
✎
09:58
|
(4)А в процедуре восстановления последовательности успех проведения проверяется?
|
|||
6
revision
18.02.13
✎
09:59
|
(5)не понял - это как и где?
|
|||
7
revision
18.02.13
✎
10:05
|
апну что ли
|
|||
8
Джордж1
18.02.13
✎
10:36
|
Функция глВосстановлениеПоследовательности(ВыбПоследовательность) Экспорт
Перем СтараяПозицияТА; Если ПравоДоступа("ГрупповоеПроведениеДокументов") = 0 Тогда Предупреждение("Недостаточно прав доступа!"); Возврат 0; КонецЕсли; СтараяПозицияТА = ПолучитьПозициюТА(); БылиОшибкиПроведения = 0; Документ=СоздатьОбъект("Документ"); Документ.ВыбратьДокументы(ВыбПоследовательность.ПолучитьПозицию(),); Пока (Документ.ПолучитьДокумент()>0) и (БылиОшибкиПроведения = 0) Цикл Если Документ.Проведен()=0 Тогда Продолжить; КонецЕсли; ТекДок = Документ.ТекущийДокумент(); Если МонопольныйРежим()>0 Тогда // если оперативный документ находится за ТА, то ТА надо передвинуть в любом случае Если (ТекДок.СравнитьТА()>0) или (ВыбПоследовательность.ПринадлежитПоследовательности(ТекДок)>0) Тогда БылаПозиция = ПолучитьПозициюТА(); УстановитьТАНа(ТекДок); Если БылаПозиция = ПолучитьПозициюТА() Тогда // не удалось поменять (например, были открытые документы) БылиОшибкиПроведения = 1; Продолжить; КонецЕсли; КонецЕсли; КонецЕсли; Если ВыбПоследовательность.ПринадлежитПоследовательности(ТекДок)>0 Тогда Объект=СоздатьОбъект("Документ"); Объект.НайтиДокумент(ТекДок); Состояние("Восстановление последовательности: "+ТекДок.ДатаДок); Попытка Если Объект.Провести() = 0 Тогда БылиОшибкиПроведения = 1; КонецЕсли; Исключение глСообщениеПроведения("Не удалось провести документ "+Строка(Объект)+" |Ошибка: "+ОписаниеОшибки(), Объект.ТекущийДокумент(),,,1); БылиОшибкиПроведения = 1; КонецПопытки; КонецЕсли; КонецЦикла; Если (МонопольныйРежим()>0) и (СтараяПозицияТА <> ПолучитьПозициюТА()) Тогда УстановитьТАПо(СтараяПозицияТА); КонецЕсли; Возврат ?(БылиОшибкиПроведения = 0,1,0); КонецФункции // глВосстановлениеПоследовательности() |
|||
9
Джордж1
18.02.13
✎
10:37
|
я так понимаю что успех проведения и продвижение ГП никак не связаны.
Это ручками проверяем Если Объект.Провести() = 0 Тогда БылиОшибкиПроведения = 1; КонецЕсли; |
|||
10
revision
18.02.13
✎
10:38
|
спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |