|
Проверка поля сумма по виду документа 1С Документооборот 8 КОРП 2.1 | ☑ | ||
---|---|---|---|---|
0
NoWEEchok
16.07.19
✎
13:16
|
Есть внутренний документ и там, при создании нового, в реквизитах этого док-та есть поле "сумма" и есть поле со списком "Вид документа", где содержатся множества видов док-тов. как сделать проверку что если в поле сумма значение = 0, то выдавало бы сообщение и запрещало бы запись документа. Собсна саму проверку я знаю как написать, а как ее привязать по виду документа, например "Закупочная документация" я не шарю. Есть идеи, господа?
Ну проверка у меня на данный момент сейчас такая: Если Сумма > 0 Тогда СуммаПрописью = РаботаСКурсамиВалют.СформироватьСуммуПрописью(Сумма, Валюта); Иначе Сообщить("Сумма равна "+Сумма+"."+"Запись невозможна!"); Отказ = Истина; КонецЕсли; |
|||
1
Джинн
16.07.19
✎
13:29
|
Вид документа - это элемент справочника. Соответственно обращаться к нему нужно как к обычному элементу. В идеале как к предопределенному. Менее идеально - добавить какой-то реквизит, закрытый от изменения и поиском по реквизиту находить. Через жпо еще можно - поиском по коду или наименованию.
|
|||
2
NoWEEchok
16.07.19
✎
13:41
|
(1) ах да, забыл уточнить. я работаю в типовой конфигурации, тобишь через расширение... и что такое ЖПО? :)
|
|||
3
dka80
16.07.19
✎
13:57
|
Вид документа - элемент справочника Виды внутренних документов.
Если ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Закупочная документация") Тогда далее твой код КонецЕсли; Кстати, НайтиПоНаименованию как раз и есть то самое ЖПО, потому что завтра могут переименовать и твой код работать не будет |
|||
4
NoWEEchok
17.07.19
✎
09:22
|
(3) все почти получилось, но есть одно но: ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Закупочная документация") возвращает Ложь, хотя в отладке если смотреть в ВидДокумента содержит (Закупочная документация) в значении и Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию тоже самое.
Очень странная получается ситуация |
|||
5
dka80
17.07.19
✎
12:08
|
(4) типы значений проверь. Также проверь коды у значений (может у тебя дублируется вид)
|
|||
6
Джинн
17.07.19
✎
12:15
|
(4) Вы все-таки решали через жпо сделать? И небось на клиенте ищете по наименованию?
|
|||
7
NoWEEchok
17.07.19
✎
13:19
|
(5) Значение одинаковые, и типы тоже.
(6) На сервере |
|||
8
Джинн
17.07.19
✎
13:40
|
(7) Не верю. Что-то Вы темните. Если элемент не найдет, то возвращается не Ложь, а Неопределено.
|
|||
9
NoWEEchok
17.07.19
✎
13:47
|
(8) вот кусок кода
СтрокаНаименования = "Заявка на закупку"; ИскомыйВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию(СтрокаНаименования); Если Сумма = 0 и ВидДокумента = ИскомыйВидДокумента Тогда Сообщить("Сумма равна "+Сумма+"."+"Запись невозможна!"); Отказ = Истина; КонецЕсли; Где Выражение Сумма = 0 Истина, а Выражение ВидДокумента = ИскомыйВидДокумента Ложь; Свойство(ВидДокумента)/Значение(Заявка на закупку)/Тип(СправочникСсылка.ВидыВнутреннихДокументов; Свойство(ИскомыйВидДокумента )/Значение(Заявка на закупку)/Тип(СправочникСсылка.ВидыВнутреннихДокументов; Где ошибка? |
|||
10
Джинн
17.07.19
✎
13:51
|
(9) Точно значения равные? Дублей не наплодили в справочнике?
|
|||
11
NoWEEchok
17.07.19
✎
13:55
|
(10) а по конкретнее. про какие дубли идет речь
|
|||
12
Джинн
17.07.19
✎
13:58
|
(11) Несколько "Заявка на закупку". НайтиПоНаименованию находит не тот элемент, который Вам нужен. Или в ВидДокумента у Вас не то указано.
|
|||
13
NoWEEchok
17.07.19
✎
14:03
|
(12) а как это исправить? дубли я пометил на удаление, но условие все равно не выполняется
|
|||
14
NoWEEchok
17.07.19
✎
14:04
|
(12) и как в дальнейшем избежать такого рода ошибок? сделать поиск не по наименованию а другим методом?
|
|||
15
Джинн
17.07.19
✎
14:23
|
(14) Я же писал про решение через жпо :) А выше были варианты решить нормальным путем.
Могу к ним еще один вариант добавить - http://catalog.mista.ru/public/275145/ |
|||
16
NoWEEchok
17.07.19
✎
14:33
|
(15) а как сделать ВидДокумента предопредленным? он ведь типовой, а я работаю в расширении, или я чего то не понимаю...
|
|||
17
Джинн
17.07.19
✎
14:37
|
(16) Предопределенным только через правку конфигурации. Остальные способы в Ваших руках.
|
|||
18
NoWEEchok
17.07.19
✎
15:01
|
(17) Менять нельзя ничего. Хорошо как через ЖПО исправить эту ошибку?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |