|
Штрихкоды | ☑ | ||
---|---|---|---|---|
0
ВежливаяТварь
01.09.11
✎
15:11
|
Доброго времени суток) Есть не много глупый вопрос. Имеется УТП для Украины. Задачу мне поставили следующую нужно считать штрих коды товаров из екселевского файла. Вытянуть для каждого владельца штрихкода информацию о начальном, конечном остатке и расходе. И после этого засунуть обратно в тот же файл ексель.
Вытянуть все штрих коды в список значений труда не составило, проблема в том что не могу в конструкторе запроса в виртуальной таблице "ТоварыНаСкладе.Остатки и обороты" в реквизите Номенклатура найти поле штрихкод. В этом собстевенно и вопрос как там поставить фильтр с моим списком штрихкодов. |
|||
1
Wobland
01.09.11
✎
15:11
|
в россии для ШК есть спецрегистр. сведений
|
|||
2
Goggy
01.09.11
✎
15:13
|
+(2) соединяем по владельцу в запросе с остатками
|
|||
3
ВежливаяТварь
01.09.11
✎
15:15
|
Тут я тоже нашёл регистр сведений "Штрихкоды". Привязал его к "Товар на складе". Но убей не могу понять, как поставить фильтр с моим списоком значений. К тому же у меня штрих кода в списке хранятся как обычная строка. Будет ли фильтр так работать или нужен тип штрих кодов?
|
|||
4
Нуф-Нуф
01.09.11
✎
15:16
|
использую таблицу значений со штрихкодами как временную таблицу в запросе. и с ней соединяй
менеджер временных таблиц тебя спасет |
|||
5
ВежливаяТварь
01.09.11
✎
15:21
|
(4) а как её использовать как временную таблицу?
|
|||
6
ВежливаяТварь
01.09.11
✎
15:32
|
По моему нашёл как. Спасибо сейчас попробую.
|
|||
7
ВежливаяТварь
01.09.11
✎
15:50
|
Получился вот такой код
Для Строка=10 По ВсегоСтрок Цикл Штрихкод = Лист.Cells(Строка, 3).Value; Если ЗначениеЗаполнено(Штрихкод)=Истина Тогда НоваяСтрока=ТаблицаШтрихкодов.Добавить(); НоваяСтрока.НомерСтроки=Строка; НоваяСтрока.Штрихкод=Штрихкод; КонецЕсли; КонецЦикла; МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ТаблицаШтрихкодов.НомерСтроки, | ТаблицаШтрихкодов.Штрихкод |ПОМЕСТИТЬ ШтрихкодаЕксель |ИЗ | &ТаблицаШтрихкодов КАК ТаблицаШтрихкодов"; Запрос.УстановитьПараметр("ТаблицаШтрихкодов", ТаблицаШтрихкодов); Запрос.Выполнить(); Но выдаёт такую ошибку: {Форма.ФормаОтчета(41)}: Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Тип не может быть выбран в запросе <<?>>ТаблицаШтрихкодов.Штрихкод Запрос.Выполнить(); Скажите пожалуйста почему. |
|||
8
ВежливаяТварь
01.09.11
✎
15:51
|
Все понял извините за беспокойство
|
|||
9
ВежливаяТварь
01.09.11
✎
15:58
|
Поторопился. Думал дело в том что нельзя использовать переменную с именем строка. Оказалось дело не в этом.
|
|||
10
Wobland
01.09.11
✎
15:59
|
а что за тип-то у штрихкода?
|
|||
11
ВежливаяТварь
01.09.11
✎
16:08
|
а понял там стоит тип ячейка нужно перевести в строку или число?
|
|||
12
Wobland
01.09.11
✎
16:11
|
(11) какая странная УТ для Украины. что это за тип такой?
|
|||
13
Wobland
01.09.11
✎
16:12
|
как получил ТаблицуШтрихкодов?
|
|||
14
ВежливаяТварь
01.09.11
✎
16:13
|
ТаблицаШтрихкодов=Новый ТаблицаЗначений;
ТаблицаШтрихкодов.Колонки.Добавить("НомерСтроки"); ТаблицаШтрихкодов.Колонки.Добавить("Штрихкод"); ExcelПриложение = Новый COMObject("Excel.Application"); Книга = ExcelПриложение.Workbooks.Open(ПолеПуть); Лист = Книга.WorkSheets(1); ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; //Заносим штрих коды в таблицу и список Для НомСтроки=10 По ВсегоСтрок Цикл Штрихкод = Лист.Cells(НомСтроки, 3).Value; Если ЗначениеЗаполнено(Штрихкод)=Истина Тогда НоваяСтрока=ТаблицаШтрихкодов.Добавить(); НоваяСтрока.НомерСтроки=НомСтроки; Штрихкод=Строка(Штрихкод); НоваяСтрока.Штрихкод=Штрихкод; КонецЕсли; КонецЦикла; |
|||
15
Wobland
01.09.11
✎
16:14
|
строка же, какая ячейка
|
|||
16
Wobland
01.09.11
✎
16:14
|
может, типизировать колонку надо? а то запросы не любят строк неограниченной длины
|
|||
17
Злобный Фей
01.09.11
✎
16:24
|
ВЫБРАТЬ
Штрихкоды.Владелец, ПРЕДСТАВЛЕНИЕ(Штрихкоды.Владелец), ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход ИЗ РегистрСведений.Штрихкоды КАК Штрихкоды ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты ПО Штрихкоды.Владелец = ТоварыНаСкладахОстаткиИОбороты.Номенклатура ГДЕ Штрихкоды.Штрихкод В(&СписокШтрихкодов) |
|||
18
ВежливаяТварь
01.09.11
✎
16:27
|
Штрихкоды можно передавать как список числовых значений?
|
|||
19
Злобный Фей
01.09.11
✎
16:30
|
(18) Строковых
|
|||
20
Wobland
01.09.11
✎
16:30
|
(18) можно. если в "приёмнике" они тоже числа. но у тебя там строки
|
|||
21
ВежливаяТварь
01.09.11
✎
16:30
|
(17)Попробовал не получается у меня штрихкоды тип число. Туда наверно нужно передавать другой тип.
|
|||
22
ВежливаяТварь
01.09.11
✎
16:31
|
Сейчас попробую
|
|||
23
ВежливаяТварь
01.09.11
✎
16:32
|
Заработало. Огромнейшее спасибо.
|
|||
24
Wobland
01.09.11
✎
16:43
|
(21) не надо тебе число. "001234"<>"01234"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |