Здравствуйте, подскажите пожалуйста, где моя ошибка, Спасибо.
&НаСервере
Процедура Команда1НаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧ_Норматив.Товары КАК Товары,
| ТЧ_Норматив.НормативДень КАК НормативДень
|ПОМЕСТИТЬ ВТ_ТЧ_НормативДень
|ИЗ
| &ТЧ КАК ТЧ_Норматив
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТЧ_НормативДень.Товары КАК Товары,
| ВТ_ТЧ_НормативДень.НормативДень КАК НормативДень
|ИЗ
| ВТ_ТЧ_НормативДень КАК ВТ_ТЧ_НормативДень";
Запрос.УстановитьПараметр("ТЧ", Реквизит1.Выгрузить());
Реквизит1.Загрузить(Запрос.Выполнить().Выгрузить());
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТЗ=Реквизит1.Добавить();
ТЗ.Товары=Выборка.Товары;
ТЗ.Норматив=Выборка.НормативДень;
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:

По теме из базы знаний
- Загрузка данных из файла XLS для формирования документов "Поступление товаров и услуг", "Поступление товаров и услуг в НТТ" (8.2 УТ 10.3). Работает как с MS Excel так и OpenOffice Calc.
- Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С:БП 3.0 базовая, ПРОФ, КОРП, ФРЕШ
- "Установка цен номенклатуры в 1С: УТ 11" - загрузка цен из файла Excel в документ (Ценообразование 11.5 и 11.0)
- Задача загрузки данных из файла *.xlsx
- Загрузка данных из файла. Расширение функционала типовой загрузки из файла (БСП)
Найденные решения
(10)
Для начала научиться правильно вопросы задавать.
Первое - читаете выбранный файл в таблицу.
Что-то типа этого (проверяйте под свой код):
(у вас может не взлететь, если в Эксель файле Колонки имеют другое имя, чем Товары И НормативДень)
Второе - заполняете. Код у Вас уже есть.
Вот это я и не знаю как поправить
Для начала научиться правильно вопросы задавать.
Первое - читаете выбранный файл в таблицу.
Что-то типа этого (проверяйте под свой код):
(у вас может не взлететь, если в Эксель файле Колонки имеют другое имя, чем Товары И НормативДень)
ТабДок = Новый ТабличныйДокумент(Файл.ПолноеИмя);
ОбластиТаб = ТабДок.Область(СтрокаЗаголовка, 1, ТабДок.ВысотаТаблицы, ТабДок.ШиринаТаблицы);
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластиТаб);
Построитель.Выполнить();
ТЗ = Построитель.Результат.Выгрузить();
ПоказатьВторое - заполняете. Код у Вас уже есть.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Судя по этому:
это таблица на форме.
Если она пустая, тогда
вот здесь тоже будет пусто.
Соответственно, и здесь:
ПЫСЫ. Присваивайте объектам понятные, в том числе, и для других людей имена.
ТЗ=Реквизит1.Добавить();
это таблица на форме.
Если она пустая, тогда
Запрос.УстановитьПараметр("ТЧ", Реквизит1.Выгрузить());
вот здесь тоже будет пусто.
Соответственно, и здесь:
Пока Выборка.Следующий() Цикл
ПЫСЫ. Присваивайте объектам понятные, в том числе, и для других людей имена.
(2)
Сделали как Вы написали:
Реквизит1.Выгрузить())
Сделали как Вы написали:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧ_Норматив.Товары КАК Товары,
| ТЧ_Норматив.НормативДень КАК НормативДень
|ПОМЕСТИТЬ ВТ_ТЧ_НормативДень
|ИЗ
| &ТЧ КАК ТЧ_Норматив
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТЧ_НормативДень.Товары КАК Товары,
| ВТ_ТЧ_НормативДень.НормативДень КАК НормативДень
|ИЗ
| ВТ_ТЧ_НормативДень КАК ВТ_ТЧ_НормативДень";
ТЗ = ТаблицаЗначений.Выгрузить();
Запрос.УстановитьПараметр("ТЧ",ТЗ);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТЗ=ТаблицаЗначений.Добавить();
ТЗ.Товары=Выборка.Товары;
ТЗ.НормативДень=Выборка.НормативДень;
КонецЦикла;
КонецПроцедуры
Показать&НаСервере
Процедура СформироватьНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧ_Норматив.Товары КАК Товары,
| ТЧ_Норматив.НормативДень КАК НормативДень
|ПОМЕСТИТЬ ВТ_ТЧ_НормативДень
|ИЗ
| &ТЧ КАК ТЧ_Норматив
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТЧ_НормативДень.Товары КАК Товары,
| ВТ_ТЧ_НормативДень.НормативДень КАК НормативДень
|ИЗ
| ВТ_ТЧ_НормативДень КАК ВТ_ТЧ_НормативДень";
ТЗ = ТаблицаЗначений.Выгрузить();
Запрос.УстановитьПараметр("ТЧ",ТЗ);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТЗ=ТаблицаЗначений.Добавить();
ТЗ.Товары=Выборка.Товары;
ТЗ.Норматив=Выборка.НормативДень;
КонецЦикла;
КонецПроцедуры
ПоказатьВот окончательный код
(6)
Вот Ваша ошибка:
Вы берёте ПУСТУЮ!!! таблицу и запросом к ней выбираете значения.
Либо не показываете процедуру, которая её заполняет.
Третий раз Вам уже об этом говорю.
подскажите пожалуйста, где моя ошибка
Вот Ваша ошибка:
ТЗ = ТаблицаЗначений.Выгрузить();
Запрос.УстановитьПараметр("ТЧ",ТЗ);
Вы берёте ПУСТУЮ!!! таблицу и запросом к ней выбираете значения.
Либо не показываете процедуру, которая её заполняет.
Третий раз Вам уже об этом говорю.
(7), Вот весь код:
&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Проводник = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Проводник.Заголовок="Файлни танланг:";
Если ФайлФормати="XLSX" Тогда
Фильтр="Файл Excel (*.xlsx)| *.xlsx";
Иначе
Возврат;
КонецЕсли;
Проводник.Фильтр=Фильтр;
Оповещение = Новый ОписаниеОповещения ("ПослеВыбораФайла", ЭтотОбъект);
Проводник.Показать(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораФайла(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы = Неопределено Тогда
Возврат;
КонецЕсли;
Файл=ВыбранныеФайлы[0];
КонецПроцедуры
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере();
КонецПроцедуры
&НаСервере
Процедура СформироватьНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧ_Норматив.Товары КАК Товары,
| ТЧ_Норматив.НормативДень КАК НормативДень
|ПОМЕСТИТЬ ВТ_ТЧ_НормативДень
|ИЗ
| &ТЧ КАК ТЧ_Норматив
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТЧ_НормативДень.Товары КАК Товары,
| ВТ_ТЧ_НормативДень.НормативДень КАК НормативДень
|ИЗ
| ВТ_ТЧ_НормативДень КАК ВТ_ТЧ_НормативДень";
ТЗ = ТаблицаЗначений.Выгрузить();
Запрос.УстановитьПараметр("ТЧ",ТЗ);
//Запрос.УстановитьПараметр("ТЧ", Реквизит1.Выгрузить());
ТаблицаЗначений.Загрузить(Запрос.Выполнить().Выгрузить());
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ТЗ=ТаблицаЗначений.Добавить();
ТЗ.Товары=Выборка.Товары;
ТЗ.НормативДень=Выборка.НормативДень;
КонецЦикла;
КонецПроцедуры
Показать
(8) Вы уже 256 дней года отмечать что-ли начали?
Последний раз, для понимания:
Вы передаете в запрос пустую (ни чем не заполненную) таблицу и затем хотите увидеть какой-то результат запроса.
Если у Вас в таблице НОЛЬ строк, сколько будет строк в результате запроса к этой таблице?
Последний раз, для понимания:
Вы передаете в запрос пустую (ни чем не заполненную) таблицу и затем хотите увидеть какой-то результат запроса.
Если у Вас в таблице НОЛЬ строк, сколько будет строк в результате запроса к этой таблице?
(10)
Для начала научиться правильно вопросы задавать.
Первое - читаете выбранный файл в таблицу.
Что-то типа этого (проверяйте под свой код):
(у вас может не взлететь, если в Эксель файле Колонки имеют другое имя, чем Товары И НормативДень)
Второе - заполняете. Код у Вас уже есть.
Вот это я и не знаю как поправить
Для начала научиться правильно вопросы задавать.
Первое - читаете выбранный файл в таблицу.
Что-то типа этого (проверяйте под свой код):
(у вас может не взлететь, если в Эксель файле Колонки имеют другое имя, чем Товары И НормативДень)
ТабДок = Новый ТабличныйДокумент(Файл.ПолноеИмя);
ОбластиТаб = ТабДок.Область(СтрокаЗаголовка, 1, ТабДок.ВысотаТаблицы, ТабДок.ШиринаТаблицы);
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластиТаб);
Построитель.Выполнить();
ТЗ = Построитель.Результат.Выгрузить();
ПоказатьВторое - заполняете. Код у Вас уже есть.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот