|
Структура в документ | ☑ | ||
---|---|---|---|---|
0
Badman594
25.04.19
✎
10:48
|
Добрый день, господа! Прошу не кидать помидорами, а, если сие возможно, подсказать. Получил в обработку из JSONа структуру с структурами и массивами, каждому документу соответствует 1 структура и 2 массива, в структуре реквизиты дока, в массивах - 2 табчасти(имена ниже и они пронумерованы по номеру документа). По условию ниже я вроде раскидываю доки в новую структуру, но она перезаписывается. Мне надо выгрузить выбранные по пометке доки в НовыйДокумент.
Функция СтруктураВТАблицаДокументов(СтруктураДанных) ЭтотОбъект.Объект.ТаблицаДокументов.Очистить(); Для Каждого Элемент Из СтруктураДанных Цикл Если СтрНАйти(Элемент.Ключ,"Документа") Тогда НоваяСтрока = ЭтотОбъект.Объект.ТаблицаДокументов.Добавить(); НоваяСтрока.НомерДокумента= Элемент.Значение.Номер; НоваяСтрока.ДатаДокумента=Элемент.Значение.Дата; КонецЕсли; Если СтрЗаканчиваетсяНа(Элемент.Ключ,НоваяСтрока.НомерДокумента)и ТипЗнч(Элемент.Значение)= Тип("Структура") тогда Структур=новый Структура; Структур.Вставить("РеквизитыДокумента_"+НоваяСтрока.НомерДокумента,Элемент.Значение); ИначеЕсли СтрЗаканчиваетсяНа(Элемент.Ключ,НоваяСтрока.НомерДокумента) и ТипЗнч(Элемент.Значение)= Тип("Массив")и СтрНайти(Элемент.Ключ,"РемонтыОборудования") тогда Структур.Вставить("РемонтыОборудования_"+НоваяСтрока.НомерДокумента,Элемент.Значение); ИначеЕсли СтрЗаканчиваетсяНа(Элемент.Ключ,НоваяСтрока.НомерДокумента) и ТипЗнч(Элемент.Значение)= Тип("Массив")и СтрНайти(Элемент.Ключ,"РемонтныеРаботы") тогда Структур.Вставить("РемонтныеРаботы_"+НоваяСтрока.НомерДокумента,Элемент.Значение); КонецЕсли; КонецЦикла; КонецФункции Процедура Команда2НаСервере() Выборка=ЭтотОбъект.Объект.ТаблицаДокументов.Выгрузить(ЭтотОбъект.Объект.ТаблицаДокументов.НайтиСтроки(Новый Структура("Пометка",Истина))); //ДокОбъект=Документыю //ДокОбъект =ЭтотОбъект.Объект.СсылкаНаДокумент.СоздатьДокумент(); Для каждого тСтрока из Выборка Цикл попытка ДокОбъект=Документы.НовыйДокумент.СоздатьДокумент(); ДокОбъект.Дата = тСтрока.ДатаДокумента; ДокОбъект.Номер=тСтрока.НомерДокумента; ДокОбъект.Записать(); Исключение Сообщить(""); КонецПопытки; КонецЦикла; КонецПроцедуры |
|||
1
Badman594
25.04.19
✎
11:11
|
Хотел поправиться - по условию в функции пытаюсь для каждого документа создать отдельную структуру, но тк документ не один - структура перезаписывается. Остальное сказано выше
|
|||
2
catena
25.04.19
✎
11:21
|
Во-первых, вынести определение структуры из Если.
Во-вторых, не видно, где этот структур используется, в текущем виде будет перезатираться в любом случае, т.к. крутится внутри функции. |
|||
3
Badman594
25.04.19
✎
11:30
|
Если проще говоря мне надо помеченные доки(1 стр и 2 масс) выгрузить в НовыйДокумент. Вот я и прошу подсказать каким образом это можно сделать.
СтруктураJSON: Свойство Значение Тип СтруктураДанных Структура Структура РеквизитыДокумента_00000000210 Структура Структура РеквизитыДокумента_00000000211 Структура Структура РеквизитыДокумента_00000000212 Структура Структура РеквизитыДокумента_00000000213 Структура Структура РеквизитыДокумента_00000065175 Структура Структура РеквизитыДокумента_00000071741 Структура Структура РеквизитыДокумента_00000072950 Структура Структура РеквизитыДокумента_00000072951 Структура Структура РеквизитыДокумента_00000072952 Структура Структура РемонтныеРаботы_00000000210 Массив Массив РемонтныеРаботы_00000000211 Массив Массив РемонтныеРаботы_00000000212 Массив Массив РемонтныеРаботы_00000000213 Массив Массив РемонтныеРаботы_00000065175 Массив Массив РемонтныеРаботы_00000071741 Массив Массив РемонтныеРаботы_00000072950 Массив Массив РемонтныеРаботы_00000072951 Массив Массив РемонтныеРаботы_00000072952 Массив Массив РемонтыОборудования_00000000210 Массив Массив РемонтыОборудования_00000000211 Массив Массив РемонтыОборудования_00000000212 Массив Массив РемонтыОборудования_00000000213 Массив Массив РемонтыОборудования_00000065175 Массив Массив РемонтыОборудования_00000071741 Массив Массив РемонтыОборудования_00000072950 Массив Массив РемонтыОборудования_00000072951 Массив Массив |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |