Загрузка табличной части из файла.

1. wladimirpav 2 05.11.19 14:47 Сейчас в теме
Пробую написать обработку для загрузки документа из текстового файла. Почему ругается на метод Загрузить?

Функция СоздатьДокПоступления(ДанныеФормы, Результат)
НовыйДок = Документы.ПоступлениеТоваров.СоздатьДокумент();
Для Каждого СтрокаРезультат Из Результат Цикл
ТаблицаТоваров = НовыйДок.Товары.Добавить();
ТаблицаТоваров.Количество = СтрокаРезультат[1];
ТаблицаТоваров.Сумма = СтрокаРезультат[2];
НовыйДок.Товары.Загрузить(ТаблицаТоваров);
КонецЦикла;
ЗначениеВДанныеФормы(НовыйДок, ДанныеФормы);
КонецФункции
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. singlych 05.11.19 14:50 Сейчас в теме
потому что нельзя в табличную часть загрузить строку табличной части
3. LifeRock 05.11.19 14:52 Сейчас в теме
А зачем это вообще? НовыйДок.Товары.Загрузить(ТаблицаТоваров);
Убрать это
4. PriestVI 05.11.19 14:53 Сейчас в теме
Загрузить(<Таблица>)
Параметры:
<Таблица> (обязательный)
Тип: ТаблицаЗначений.
Таблица значений, откуда загружается табличная часть. Колонки таблиц совмещаются по именам.

А Вы как я понял загружаете строку ТЧ. И вообще что-то слабо понимаю что должно получиться.
Сначала заполняете данные строки, а потом пытаетесь ее же загрузить.
5. singlych 05.11.19 14:55 Сейчас в теме
Ибо нефиг бездумно переменные называть
6. wladimirpav 2 05.11.19 15:21 Сейчас в теме
Если убрать строчку НовыйДок.Товары.Загрузить(ТаблицаТоваров); то создается документ с пустыми строками табличной части, мне нужно из массива Результат загрузить в табличную часть номенклатуру, количество и сумму
7. PriestVI 05.11.19 15:36 Сейчас в теме
(6) Если поставить точку остановки здесь "ТаблицаТоваров = НовыйДок.Товары.Добавить();", СтрокаРезультат чему равно? Может быть скрин получится сделать.
8. wladimirpav 2 05.11.19 15:45 Сейчас в теме
Проверил, функция работает корректно НовыйДок заполняется значениями. В следующей процедуре
Форма = ПолучитьФорму("Документ.ПоступлениеТоваров.ФормаОбъекта");
ДанныеФормы = Форма.Объект;
СоздатьДокПоступления(ДанныеФормы,Рез);
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
Форма.Открыть();
что-то не работает и документ выходит пустой
9. singlych 05.11.19 16:27 Сейчас в теме
(8) так попробуй

Форма = ОткрытьФорму("Документ.ПоступлениеТоваров.ФормаОбъекта");

Для Каждого СтрокаРезультат Из Рез Цикл
СтрокаТоваров = Форма.Объект.Товары.Добавить();
СтрокаТоваров.Количество = СтрокаРезультат[1];
СтрокаТоваров.Сумма = СтрокаРезультат[2];
КонецЦикла;
10. ivan1703 79 06.11.19 11:23 Сейчас в теме
(8)
работает и документ выхо


Вы созданную таблицу значений, загрузите в объек.табчасть ... метод загрузить() после цикла формирования таблицы используйте
11. wladimirpav 2 08.11.19 16:21 Сейчас в теме
Все работает, значения в табличную часть подставляются, теперь не работает запрос поиска номенклатуры по штрихкоду, хотя в упп такой же запрос корректно работает
Функция НайтиНоменклатуру(ЗначШтрихкод)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ЗначШтрихкод", ЗначШтрихкод);
Запрос.Текст =
"ВЫБРАТЬ
| Штрихкоды.Владелец КАК СсылкаНаНоменклатуру
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Штрихкод = ЗначШтрихкод";
Возврат Запрос.Выполнить().Выбрать();
КонецФункции
Ругается поле не найдено ЗначШтрихкод
12. wladimirpav 2 11.11.19 09:50 Сейчас в теме
(11) В консоли запросов отрабатывает корректно, возвращает ссылку на номенклатуру
13. wladimirpav 2 11.11.19 14:28 Сейчас в теме
Теперь другая проблема - номенклатура загружается, но кол-во и сумма - нет, причем если загружать цену = сумма/кол-во, то она грузится
Прикрепленные файлы:
Оставьте свое сообщение

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