|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Добрый вечер! Пытаюсь из Delphi работать со справочником 1С Организации Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Как, хотя-бы в терминах 1С определить правильное выражение для {currentBuyer не найдено} ? Пытал следующие варианты: if currentBuyer = V.Значение(VBuyer.ПустаяСсылка) then if VBuyer.НайтиПоНаименованию('КонноТрактормаш')=0 then if currentBuyer=V.Неопределено then Да и в Delphi при отсутствии такой записи в справочнике currentBuyer не Null В 1С 7.7 всё было как-то проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2013, 20:45 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Вы хелп по 1с открыли? Прочтите что возращает найти по наименованию. Там помнится даже написана проверка на пустое значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 00:46 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Вот по хелпу 1C адаптировал: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
проверку IF не проходит, вылетает. пробовал и так: If (FoundReference = Shops.EmptyRef()) тот же результат ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 07:15 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Shops := V.Справочники.Организации.ПустаяСсылка - Вылетает? Второй вариант - заполните второй параметр в найти по наименованию - "истина". (Что-то было, если не заполняешь параметры то они неопределены) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 10:58 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Программист 1сShops := V.Справочники.Организации.ПустаяСсылка - Вылетает? Второй вариант - заполните второй параметр в найти по наименованию - "истина". (Что-то было, если не заполняешь параметры то они неопределены) Кстати - да! При com-подключении все параметры методов надо задавать явно, даже необязательные, "значение по-умолчанию" тут не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 11:25 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
Кроме как занести новый элемент ничего не удаётся ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 21:04 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
zeon11, 1. Код: pascal 1.
NewBuyer - объект, а V.Catalogs.Организации.EmptyRef(),это разные типы. Если и сравнивать их,то Код: pascal 1.
Да только всегда false будет при сравнении ссылки на только что записанный элемент с пустой ссылкой. 2. Код: pascal 1.
"Неопределено" и UnAsigned - не одно и то же. Попробуйте использовать здесь в качестве FParent, FOwner значения V.Catalogs.Организации.EmptyRef() или V.Undefined. Паскалевские True False тоже не обязаны соответствовать 1С значениям с похожим названием. Чтобы точно убедиться в том, что за значения платформа v8 исользует,посмотрите результат V.Eval("0=1") и V.Eval("1=1") (возможно, что правильно использовать v.true и v.false). FoundReference - это будет либо ссылка на найденное значение, либо пустая ссылка, т.е. Shops.EmptyRef(). Ссылка - это не объект. Для доступа же к полям нужен объект. Возможно, что в Код: pascal 1.
платформа неявно пытается создать объект из ссылки, т.е. читает его, да еще "для записи", отсюда и блокировка. Для определения того, что элемент с нужным наименованием существует, достаточно сравнить Код: pascal 1.
при корректных значениях аргументов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2013, 07:36 |
|
Как определить, что в справочнике нет элемента?
|
|||
---|---|---|---|
#18+
Спасибо, что уделили внимание, помогли. Решилось так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:39 |
|
|
start [/forum/topic.php?fid=28&fpage=45&tid=1519840]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 115ms |
0 / 0 |