|
Создать и заполнить документ данными из массива | ☑ | ||
---|---|---|---|---|
0
wrxsti
30.05.19
✎
12:24
|
В массиве лежит строка из БД MSSQL. Данными из нее я пытаюсь заполнить новый документ.
Для Каждого ЭлементМассива из Массив Цикл Если ЭлементМассива.Id1C = "0" Тогда ДокументОбъект = Документы.Док1.СоздатьДокумент(); ДокументОбъект.TEST = ЭлементМассива.TestName; ДокументОбъект.Дата = ТекущаяДата(); ДокументОбъект.Записать(); КонецЕсли; КонецЦикла; Проблема в том что, значение из "TestName" не попадает в реквизит "TEST". Тип у реквизита "TEST" содержит ссылку на справочник, и я так понимаю проблема именно в этом. Скажите что я делаю не так и как это можно сделать правильно? |
|||
1
Галахад
гуру
30.05.19
✎
12:41
|
Тест = ЭлементМассива.TestName;
ТестСсылка = Справочники.Тест.НайтиПоНаименованию(Тест); Если НЕ ТестСсылка = Справочники.Тест.ПустаяСсылка Тогда ТестСсылка = Справочники.Тест.СоздатьЭлемент(); ТестСсылка.Наименование = Тест; ТестСсылка.Записать() ДокументОбъект.TEST = ТестСсылка; |
|||
2
wrxsti
30.05.19
✎
13:22
|
Спасибо большое, получилось! Не подскажите еще один вопрос?
В этом же коде, хочу заполнить табличную часть документа. Хочу чтобы данные записывались в одну строку, но так как делаю я, создается в табличной части 2 строки. ДокументОбъект.Курсы.Добавить().Английский = ЭлементМассива.EngName; ДокументОбъект.Курсы.Добавить().Испанский = ЭлементМассива.SpainName; |
|||
3
Zmich
30.05.19
✎
13:28
|
(2).
Стр = ДокументОбъект.Курсы.Добавить(); Стр.Английский = ЭлементМассива.EngName; Стр.Испанский = ЭлементМассива.SpainName; |
|||
4
wrxsti
30.05.19
✎
14:23
|
Спасибо большое!
|
|||
5
wrxsti
30.05.19
✎
17:37
|
Последний вопрос, хочу помимо обычных данных, вставить дату.
Делаю так: Стр = ДокументОбъект.Курсы.Добавить(); Стр.Дата = ЭлементМассива.DateAdd; Но Стр.Дата вместо нормальных дата и время, выдает "01.01.0001 0:00:00" - пустую дату. Почему и как это можно исправить? |
|||
6
vicof
30.05.19
✎
17:40
|
(5) У тебя дата строкового типа, видимо, в ЭлементМассива
|
|||
7
wrxsti
30.05.19
✎
17:58
|
DateAdd в базе, откуда я ее забираю, имеет тип datetime
|
|||
8
wrxsti
30.05.19
✎
20:39
|
Правда данные из MSSQL я засовываю в JSON, после чего присваиваю к массиву. Читаю, и есть подозрение что JSON дату плохо воспринимает, так ли это?
|
|||
9
Мимохожий Однако
30.05.19
✎
21:19
|
(8) ОФФ: "Три желания закончились" )
Научись пользоваться отладчиком, через который можно увидеть, передаваемые значения и тип значения. Это сэкономит массу своего и чужого времени. |
|||
10
wrxsti
30.05.19
✎
21:27
|
(9) Мда, порой все лежит на поверхности, в отладчике дата лежащая в массиве, строкового типа.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |