|
Запись документа, проверка наценки |
☑ |
0
pnamik
23.04.15
✎
10:57
|
Добрый день.
В модуле ыормы приходной накладной в процедуре передзаписью есть проверка на наценку в следующем виде
Для Каждого ТекСтрока Из ДокументОбъект.Накладная Цикл
ТекСтрока = ЭлементыФормы.Накладная.ТекущиеДанные;
Если ТекСтрока.РозничнаяНаценка < 30 Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Текст = "Действительно ли наценка меньше 30%?";
Ответ = Вопрос(Текст, Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Предупреждение (Неправильная наценка");
Отказ = Ложь;
КонецЕсли;
КонецЕсли;
КонецЦикла;
проверяет хорошо, но записывать документ не дает. варианты отказ=истина, кодвозвратадиалога.нет не дает нужного результата. а нужно, чтобы этот код просто проверил наценку, сделал предупреждение, и дал записать документ.
спасибо за возможную помощь
|
|
1
D_E_S_131
23.04.15
✎
10:58
|
"Отказ = Ложь;" — убрать
|
|
2
D_E_S_131
23.04.15
✎
10:58
|
упс... это не влияет
|
|
3
D_E_S_131
23.04.15
✎
10:59
|
Где-то выше нет "Отказ = Истина;"?
|
|
4
pnamik
23.04.15
✎
11:03
|
(3) есть выше отказ истина
|
|
5
Sanek_GAL
23.04.15
✎
11:04
|
Отладчик и проверять параметр "Отказ" в процедурах записи в модуле формы и модуле объекта. Где-то он в Истина становится.
|
|
6
Sanek_GAL
23.04.15
✎
11:04
|
(4) Вот поэтому и не записывает
|
|
7
Ненавижу 1С
гуру
23.04.15
✎
11:05
|
константы в коде - нехорошо
|
|
8
pnamik
23.04.15
✎
11:07
|
после
ТекСтрока = ЭлементыФормы.Накладная.ТекущиеДанные;
есть такая проверка
Если ТекСтрока.ЦенаПоступления = 0 Тогда
Предупреждение ("Цена поступления должна больше нуля");
Отказ = Истина;
Возврат;
КонецЕсли;
|
|
9
Ненавижу 1С
гуру
23.04.15
✎
11:08
|
(8) то есть если текущая строка будет ненулевой, то все ок?
|
|
10
pnamik
23.04.15
✎
11:14
|
проверку наценку вывел в отдельный код, теперь записывает документ, только каждое сообщение два раза появляется. т,е наценка действительно меньше, потом предупреждение, еще паз наценка, потом предупреждееие, дальше запись
|
|