Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
wattot
2 / 2 / 1
Регистрация: 26.03.2012
Сообщений: 61
#1

Чтение файла Excel и получение остатков по товарам. Пустой результат запроса. - 1С/1C 8.x

03.01.2018, 13:39. Просмотров 228. Ответов 9
Метки нет (Все метки)

Доброго времени суток. Стоит задача изначально:
1)есть исходный exel файл,его нужно загрузить в 1с(Номенклатура,код,количество)-Выполнено
2)Выгрузил я все это ТЗ,теперь задача,по каждой номенклатуре получить остатки в 1с-Тут я и завис
В чем проблема?-Проблема в том,что результат запроса пустой(смотрел отладкой,ТЗ экселя заполнен),а ТЗЗапроса(сюда я выгружаю результат запроса)-пустой,почему?Вот в этом и вопрос.
http://www.cyberforum.ru/1c/thread2064072.html

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
ТЗ  = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Номенклатура",новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
    ТЗ.Колонки.Добавить("Код");
    ТЗ.Колонки.Добавить("Кол");
 
        Для СчетчикЦикла=10 По ФайлСтрок Цикл
        Если ЗначениеЗаполнено(СокрЛП(Ехсел.Cells(СчетчикЦикла,3).value)) Тогда
            Если ЗначениеЗаполнено(СокрЛП(Ехсел.Cells(СчетчикЦикла,14).value)) Тогда
            НоваяСтрока=ТЗ.Добавить();
            НоваяСтрока.Номенклатура=СокрЛП(Ехсел.Cells(СчетчикЦикла,3).value);
            НоваяСтрока.Код=СокрЛП(Ехсел.Cells(СчетчикЦикла,7).value);
            НоваяСтрока.Кол=СокрЛП(Ехсел.Cells(СчетчикЦикла,14).value);
            Индикатор.Значение = Индикатор.Значение + 1;
            ЭлементыФормы.Состояние.Заголовок = "Количество обработанных строк" + " " + Индикатор.Значение;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    
    Ехсел.Application.Quit();
 
    Запрос = Новый запрос;
    Запрос.УстановитьПараметр("Дата",ДатаЗапроса);
    Запрос.УстановитьПараметр("Номенклатура",ТЗ.ВыгрузитьКолонку("Номенклатура"));
    Запрос.Текст="ВЫБРАТЬ
                 |  ТоварыОрганизацийБУОстатки.КоличествоОстаток,
                 |  ТоварыОрганизацийБУОстатки.Товар
                 |ИЗ
                 |  РегистрНакопления.ТоварыОрганизацийБУ.Остатки(&Дата, Товар В (&Номенклатура)) КАК 
                                                                                                                                       ТоварыОрганизацийБУОстатки";
    ТЗЗапрос = Запрос.Выполнить().Выгрузить();
Подскажите,где я "промаргал"?Читал что такое может быть,если нетипизированная колонка в ТЗ экселя, указал тип,только результата нет.Заранее спасибо!
P.S:Пните,чтоб раз и на всегда понял
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2018, 13:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос 1C 8.x Чтение файла Excel и получение остатков по товарам. Пустой результат запроса. (1С):

Получение остатков (дата прихода)
Такая ситуация - есть отчет по получению остатков по складу (с группировкой по...

1C 7.7 Запрос на получение остатков по счетам
Добрый день! Так получилось, что пути с семеркой пересеклись впервые. Пишу...

Чтение Excel файла
Добрый день, начинаю изучать 1С , и не могу ничего найти по данной теме. Есть...

Получение остатков регистра через запрос
Здравствуйте. Нужно получить количественный остаток номенклатуры из регистра...

Пустой результат запроса
Как в ПШП узнать, что запрос из базы вернулся пустой?

9
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1509 / 474
Регистрация: 25.06.2009
Сообщений: 5,424
03.01.2018, 14:28 #2
wattot, при чтении файла Excel вы в колонку Номенклатура загоняете строку, а надо искать нужный элемент по справочнику или создавать новый.
0
Tklwegsd
Эксперт 1С
682 / 495 / 168
Регистрация: 24.07.2013
Сообщений: 1,724
03.01.2018, 14:30 #3
Цитата Сообщение от wattot Посмотреть сообщение
ТЗ.ВыгрузитьКолонку("Номенклатура")
Здесь массив значений какого типа?
0
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1509 / 474
Регистрация: 25.06.2009
Сообщений: 5,424
03.01.2018, 15:00 #4
Лучший ответ Сообщение было отмечено wattot как решение

Решение

Цитата Сообщение от Tklwegsd Посмотреть сообщение
Здесь массив значений какого типа?
Да там пусто по идее будет, т.к. при создании колонок таблицы значений - ссылочный тип явно задан, а при чтении файла туда пытаются засунуть нечто иное..

Добавлено через 26 минут
wattot, короче
Цитата Сообщение от wattot Посмотреть сообщение
ТЗ.Колонки.Добавить("Кол");
ужасное название колонки

И по делу: надо примерно так(+ определиться с типами для колонок Код и Кол. СокрЛП() - дает на выходе Строку, поэтому для второй колонки вероятнее всего необходимо преобразование к типу Число)
1C
1
НоваяСтрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Ехсел.Cells(СчетчикЦикла,3).value));
1
wattot
2 / 2 / 1
Регистрация: 26.03.2012
Сообщений: 61
03.01.2018, 20:23  [ТС] #5
Спасибо,Ваш ответ помог!По поводу переменных(названий колонок),я обязательно исправлюсь)
0
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1509 / 474
Регистрация: 25.06.2009
Сообщений: 5,424
03.01.2018, 20:52 #6
wattot, да уж да) Если надо сочинить название чему-нибудь...веселенькое, но понятное - обращайтесь
0
wattot
2 / 2 / 1
Регистрация: 26.03.2012
Сообщений: 61
03.01.2018, 23:26  [ТС] #7
Кому нужно и кто столкнется с такой же примерно проблемой,в качестве примера выкладываю обработку которую делал.
Что она делает:
1)загружает данные в ТЗ из экселя
2)по реквизиту(переделал,что запрос по артикулу) ищет остатки в базе и загружает данные во вторую ТЗОстатки
3)Методом перебора второй(ТЗОстатки) искал в первой(ТЗ) строку и сравнивал количество,в общем проводил манипуляции с данными и вывел в табличную часть

P/S: это обычное приложение
Обработка.zip
1
GreenkA
04.01.2018, 09:30
  #8

Не по теме:

wattot, классный аватар

0
Dethmontt
05.01.2018, 04:48
  #9

Не по теме:

Цитата Сообщение от GreenkA Посмотреть сообщение
wattot, классный аватар
белый квадрат Малевича)))))))))))

0
GreenkA
05.01.2018, 06:06     1C 8.x Чтение файла Excel и получение остатков по товарам. Пустой результат запроса.
  #10

Не по теме:

Цитата Сообщение от Dethmontt Посмотреть сообщение
белый квадрат Малевича)))))))))))
ага, ничего лишнего)

0
05.01.2018, 06:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2018, 06:06
Привет! Вот еще темы с ответами:

Подсчет остатков по товарам
Добрый вечер, столкнулся со следующей проблемой: в таблице "Заказы" содержатся...

Пустой результат запроса(почему)
Если я напишу простой запрос: $que = "Select id_persum From...

Возвращает пустой результат запроса
создаю и заполняю таблицы: create table customers ( id_customer int NOT...

Почему пустой результат запроса?
Приветствую, коллеги. бьюсь уже целый день, не могу понять почему запрос не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru