|
|
Проверка записи документа |
☑ |
|
0
vanyshan
12.04.19
✎
11:09
|
На основании документа "ПоступлениеТоваровУслуг" создается документ "ПоступлениеДопРасходов".
Необходимо исключить ситуацию, когда дата "ПоступлениеДопРасходов" раньше даты "ПоступлениеТоваровУслуг".
Вариант1.
Для Каждого СтрокаТЧ Из Товары Цикл
Если
СтрокаТЧ.ДокументПартии.Дата > Дата Тогда
Отказ = Истина;
Сообщить("Проверка ПередЗаписью");
КонецЕсли;
КонецЦикла;
Вариант2.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеДопРасходовТовары.Ссылка,
| ВЫРАЗИТЬ(ПоступлениеДопРасходовТовары.ДокументПартии КАК Документ.ПоступлениеТоваровУслуг) КАК ПоступлениеТоваровУслуг
|ИЗ
| Документ.ПоступлениеДопРасходов.Товары КАК ПоступлениеДопРасходовТовары
|ГДЕ
| ПоступлениеДопРасходовТовары.ДокументПартии ССЫЛКА Документ.ПоступлениеТоваровУслуг
| И ПоступлениеДопРасходовТовары.Ссылка = &Ссылка
| И ПоступлениеДопРасходовТовары.ДокументПартии.Дата > ПоступлениеДопРасходовТовары.Ссылка.Дата";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Отказ = Истина;
Сообщить("Проверка ПриЗаписи");
КонецЕсли;
|
|
|
1
vanyshan
12.04.19
✎
11:10
|
Как правильно такое реализовать? Заранее спасибо. Конфигурация УПП.
|
|
|
2
piter3
12.04.19
✎
11:10
|
Я знаю способ,называет приказ на премию,не включил в состав и мигом все получиться без кодирования
|
|
|
3
piter3
12.04.19
✎
11:11
|
И что мешает поменять дату позже?
|
|
|
4
vanyshan
12.04.19
✎
11:13
|
РАспоряжение руководства: Дата одного документа должна быть больше другого. Как в типовых подобное реализовано?
|
|
|
5
vanyshan
12.04.19
✎
11:20
|
Нет ни у кого вариантов?
|
|
|
6
Галахад
гуру
12.04.19
✎
11:56
|
(4) В чем проблема? Как напишешь так и будет, при чем тут типовые?
|
|
|
7
azernot
12.04.19
✎
12:09
|
Я за вариант2, только с некоторыми модификациями:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Истина
|ИЗ
| Документ.ПоступлениеДопРасходов.Товары КАК ПоступлениеДопРасходовТовары
|ГДЕ
| ПоступлениеДопРасходовТовары.Ссылка = &Ссылка
| И ПоступлениеДопРасходовТовары.ДокументПартии ССЫЛКА Документ.ПоступлениеТоваровУслуг
| И ПоступлениеДопРасходовТовары.ДокументПартии.Дата > ПоступлениеДопРасходовТовары.Ссылка.Дата";
|
|
|
8
catena
12.04.19
✎
12:22
|
(7)Не очень красиво посылать без четкого описания ошибки. Я бы сразу скопом показывала все неприемлимые строки.
|
|
|
9
azernot
12.04.19
✎
12:27
|
(8) Согласен. Если нужно сообщить пользователю где у него ошибка, тогда в запросе нужно получить номер строки ТЧ (или другую нужную информацию) и сообщать это пользователю.
Обращаю внимание на порядок следования условий в конструкции "ГДЕ". Важно, чтобы условие по ссылке было самым первым, поскольку оно самое эффективное.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший