Проверка на пустоту

1. natanka123 23.09.22 12:44 Сейчас в теме
Уважаемые профи 1С.

Напишите пожалуйста:

Есть xml-файл. С него хочу записать в Справочник.

у файла некоторые атрибуту не заполнены, например Адрес или Телефон.

1. Как проверить этот атрибут xml на пустоту при записи из xml-файла. Если пустой атрибут в xml- файле пусть не пишет ничего.

у меня заполняется "ОбъектXDTO".

пробовала Пустая(), Пустой, ЗначениеЗаполнено() и ПустаяСсылка() но не смогла решить задачу.

2. И еще как проверить есть ли такая запись или нет, например по ИНН. если есть тогда Продолжить.

Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. lefthander 23.09.22 12:49 Сейчас в теме
(1)
Есть xml-файл. С него хочу записать в Справочник.

(1)
у меня заполняется "ОбъектXDTO".
Вы бы код привели, было бы понятнее что именно Вы хотите.
7. natanka123 23.09.22 14:20 Сейчас в теме
(3)
Код
        <ЭлементСправочника>
      <ИНН>7000700</УНП>
      <Наименование>9-я рота КИЛОМЕТР</Наименование>
      <ПолноеНаименование>ООО "9-я рота"</ПолноеНаименование>
      <Адрес/>
      <Телефоны/>
      <Покупатель>Да</Покупатель>
      <Поставщик>Нет</Поставщик>
      <Прочее>Нет</Прочее>
      <ЮридическоеЛицо>Да</ЮридическоеЛицо>
   </ЭлементСправочника>
Показать полностью

Вот здесь есть пуcтые теги: Адрес и Телефоны.

Я хочу чтобы при записи, если есть такие теги они не попали в Справочник, пусть эти поля в Справочнике останутся пустыми.
8. user1831019 23.09.22 14:26 Сейчас в теме
(7) Продолжаем наблюдать.
1. Клиент желает, чтобы пустые реквизиты справочника оставались пустыми, если значение пустое.
2. На просьбу показать код загрузки, клиент ответил показом текста XML.
10. natanka123 23.09.22 14:33 Сейчас в теме
(8)
Код
Телефоны=Элемент.Телефоны;
      
      Если Справочники.Контрагенты.НайтиПоРеквизиту("Телефоны", Телефоны).Пустая() Тогда
         
         Продолжить;
         
      Иначе
         
         НовыйКонтрагент.Телефоны = Элемент.Телефоны; 
         
      КонецЕсли;
Показать полностью
11. user1831019 23.09.22 14:36 Сейчас в теме
(10) Что возвращает метод НайтмПоРеквизиту, если результат не найден? Ты вообще умеешь читать СП хотя бы? Ладно, Радченко ты не читала. Но СП!!!
14. natanka123 23.09.22 14:40 Сейчас в теме
(11)Вот что я Вам скажу, у меня это последнее задание, и я бросаю программировать.
Поэтому прощу помочь с этим заданием, но я понимаю что никто никому ничего не должен.
16. user1831019 23.09.22 14:41 Сейчас в теме
18. natanka123 23.09.22 14:41 Сейчас в теме
19. nomad_irk 76 23.09.22 14:43 Сейчас в теме
(14)а какой смысл тогда выполнять задание?
20. natanka123 23.09.22 14:43 Сейчас в теме
21. user1831019 23.09.22 14:45 Сейчас в теме
(20) Тебе за это заплатят?
23. natanka123 23.09.22 14:48 Сейчас в теме
24. nomad_irk 76 23.09.22 14:49 Сейчас в теме
(23)тем более тогда, завязывай работать бесплатно...
26. natanka123 23.09.22 14:51 Сейчас в теме
(24)как закончу, тогда и отдых
27. nomad_irk 76 23.09.22 14:53 Сейчас в теме
25. user1831019 23.09.22 14:49 Сейчас в теме
22. nomad_irk 76 23.09.22 14:45 Сейчас в теме
(20)плесни в бокал мартини и расслабься уже :)
38. antz 23.09.22 16:42 Сейчас в теме
39. user1831019 23.09.22 16:54 Сейчас в теме
(38) Тут соглашусь, был неправ. Проблема в том, что автор в поиск пытfется засунуть ОбъектXDTO/
12. user1831019 23.09.22 14:37 Сейчас в теме
(10) Ищешь в справочнике элемент, а не его значение? Круто...
5. custer 23.09.22 13:03 Сейчас в теме
(1)
И еще как проверить есть ли такая запись или нет, например по ИНН. если есть тогда Продолжить.
у меня такое ощущение возникает, что вы проверяете знания пользователей ифостарта, а не свои) напрягите извилины, в прошлой ветке у вас был описан алгоритм как найти по реквизиту. в той ветке вы использовали реквизит Код, так замените слово код на инн.
17. nomad_irk 76 23.09.22 14:41 Сейчас в теме
(1)У ОбъектXDTO есть метод Свойства()
28. natanka123 23.09.22 15:36 Сейчас в теме
(17)
Код
Если Элемент.Телефоны.Свойство("") Тогда
         
    Продолжить;   
         
Иначе НовыйКонтрагент.Телефоны = Элемент.Телефоны;
 
         
КонецЕсли;
Показать полностью


НЕ работает.
29. user1831019 23.09.22 15:41 Сейчас в теме
(28) И не должно. Оператор Если проверяет выражение на булево, а не какие-то пробелы или пустые строки.
30. natanka123 23.09.22 15:44 Сейчас в теме
(29)не подскажите куда двигатся
32. user1831019 23.09.22 15:49 Сейчас в теме
(30) Я же уже подсказал - в (22).
Либо начинать учить основы программирования.
33. nomad_irk 76 23.09.22 15:50 Сейчас в теме
(30)туда, куда у тебя получается лучше, чем программировать - очевидно же.
31. nomad_irk 76 23.09.22 15:45 Сейчас в теме
(28)программирование - это не твое. забей.
50. ONLYTILT 20 05.04.23 04:51 Сейчас в теме
(31)Вам нельзя работать с людьми
SpaceCowboy; +1 Ответить
52. user1880116 05.04.23 08:17 Сейчас в теме
(50)
работать
За работу, вообще-то, деньги платят.
2. user1831019 23.09.22 12:48 Сейчас в теме
О! Свеженького подвезли.
4. custer 23.09.22 12:53 Сейчас в теме
6. ishelper 23.09.22 13:23 Сейчас в теме
(2)
Свеженького подвезли.
Поправочка: не "-кого", а "-кую". ;-)
9. user1831019 23.09.22 14:33 Сейчас в теме
13. nomad_irk 76 23.09.22 14:39 Сейчас в теме
(9) тогда уж "Какую кую?" :)
15. user1831019 23.09.22 14:40 Сейчас в теме
(13) Куй, не куй, все равно...
34. natanka123 23.09.22 16:16 Сейчас в теме
Этот код не работает:


Если ПустаяСтрока(Элемент.Телефоны) Тогда
			
    Продолжить;
			
Иначе 		
			
    НовыйКонтрагент.Телефоны = Элемент.Телефоны;

Показать


Подскажите пожалуйста, что здесь не так
Прикрепленные файлы:
35. user1831019 23.09.22 16:17 Сейчас в теме
(34) Потому что Элемент.Телефоны - это вовсе не Строка.

UPD. Перестань уже. Ты еще не выучила базовых конструкций программирования как такового. Ты не выучила примитивной типизации, не разбираешься в типах данных. Но ты уже лезешь в одно из самых сложных понятий - XML и XDTO.
36. natanka123 23.09.22 16:22 Сейчас в теме
(35)так тоже не работает:

Код
Если ПустаяСтрока(Число(Элемент.Телефоны)) Тогда
         
    Продолжить;
         
Иначе       
         
    НовыйКонтрагент.Телефоны = Элемент.Телефоны;

Показать полностью
37. user1831019 23.09.22 16:23 Сейчас в теме
(36) И так не будет.
Потому что во-первых Элемент.Телефоны - Объект XDTO.
А во-вторых - странно проверять ПустуюСтроку в отношении Чисел.
40. soft_wind 23.09.22 17:01 Сейчас в теме
накинулись ...

вот еще вариант решения вашей задачи!
обратитесь к фрилансерам! и они вашу задачку решат быстро и не дорого (там работы то на 1 час с отладкой)

например там
https://lancer.forum-1c.ru/
41. user1831019 23.09.22 17:07 Сейчас в теме
(40) Дама делает задачу для других заказчиков, которые ей не платят.
С чего это она вдруг начнет платить фрилансерам?
42. soft_wind 23.09.22 17:12 Сейчас в теме
(41) как вариант, сдать курсовую работу (или зачет по программированию)

(Сдать и забыть)
43. user1831019 23.09.22 17:15 Сейчас в теме
(42) Ага. И вот в этом зачете сразу XML и XDTO, к которым даже миддлов не всегда подпускают...
44. Nykos 24.09.22 14:30 Сейчас в теме
А может вообще диплом?
45. user1831019 24.09.22 14:37 Сейчас в теме
(44) Тогда тем более надо платить...
46. igor63 04.04.23 16:47 Сейчас в теме
	
        ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(ФайлХМЛ);
	
	ФабрикаXDTO= ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
	
Если Не ФабрикаXDTO.Свойства().Получить("ВашеСвойство") = Неопределено Тогда 
		Если Не ТипЗнч(ФабрикаXDTO.ВашеСвойство) = Тип("ОбъектXDTO") Тогда
			НужныйРеквизит= ФабрикаXDTO.ВашеСвойство; 
		КонецЕсли;
	КонецЕсли;
Показать
47. user1880116 04.04.23 21:34 Сейчас в теме
(46) А там такое хренак и СписокXDTO...

Ну и вообще-то уже известно, что в свойствах и "адрес" и "телефоны" есть. Накой проверять их наличие в схеме?
48. user1826630 04.04.23 22:19 Сейчас в теме
(47) Вот ты щас зачем мешаешь профессионалам раздавать советы дилетантам? Ты вообще - кто такой???
49. user856012 13 05.04.23 02:18 Сейчас в теме
51. user1880116 05.04.23 08:16 Сейчас в теме
(48) Черт, и правда же...

"Да я говорю: двумя руками черпай, двумя!"
53. user862555 06.03.24 09:09 Сейчас в теме
Толком никто не ответил, тупо тянули время человеку, я бы за такое баны раздавал.
54. user1880116 06.03.24 09:59 Сейчас в теме
(53)
я бы за такое
Ты в депутаты избираться не планируешь?
55. user862555 06.03.24 19:23 Сейчас в теме
(54) А проголосуешь за меня?
56. user1880116 06.03.24 20:53 Сейчас в теме
(55) Смотря что запрещать будешь.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот