#0
by MaxMaster
Господа, подскажите или поделитесь, как загружать (написать загрузку) прайса с Nix.ru, так чтобы он делился по группам, например, МОниторы, в ней группы по производителям, а вних уже перечисления, товаров. Спасибо
#1
by Волшебник
Надо выяснить, предоставляют ли они данные в каком-либо формате, кроме HTML, например, XML, txt, Excel и т.д. Если да, то лучше работать с этим файлом. Вариант с XML удобнее всего. Насколько я выяснил, здесь можно скачать прайс-лист в zip-файле: (250К). Это файл Excel, где есть общий список товаров, распределенных по группам.
#3
by skunk
Ты сказал бы в каком плане поделиться. А то не понятно куда загружать. Что не можешь загрузить. С Excel не знаешь как работать на 1С. Или как текстовый анализатор написать, чтоб отделял производителя от группы.
#4
by skunk
Если первое то, что в этом духе: //******************************************* Процедура Загрузить Т.НоваяКолонка("Группа", "Строка"); Т.НоваяКолонка("Код", "Число"); Т.НоваяКолонка("Товар", "Строка"); Т.НоваяКолонка("Розница", "Число"); Т.НоваяКолонка("Опт", "Число"); Т.НоваяКолонка("Дилер", "Число"); Прайс = СоздатьОбъект("Excel.Application"); Прайс.Workbooks.Open(ПолноеИмяФайла); Лист1 = Прайс.Worksheets; х = 8; Грузить = "Да"; Пока Грузить = "Да" Цикл Значение = СокрЛП(Лист1.Cells(х, 1).Value); Если Значение = "" Тогда Прервать; КонецЕсли; Товар = СокрЛП(Лист1.Cells(х, 2).Value); Если Товар = "" Тогда НоваяГруппа = Значение; Иначе Т.НоваяСтрока; Т.Группа = НоваяГруппа; Т.Код = Число(Значение); Т.Товар = Товар; Т.Розница = Число(Лист1.Cells(х, 4).Value); Т.Опт = Число(Лист1.Cells(х, 5).Value); Т.Дилер = Число(Лист1.Cells(х, 6).Value); КонецЕсли; х = х + 1; Состояние("Обработка группы: " + Строка(НоваяГруппа)); КонецЦикла; КонецПроцедуры
#5
by skunk
Для второго поболее //******************************************* Перем ИмяФайла, ПутьДоФайла, ПолноеИмяФайла; Перем Производитель, Мусор; //******************************************* Процедура ФайлДляЗагрузки Если (ФС.ВыбратьФайл(0, ИмяФайла, ПутьДоФайла, "Выберите файл", "Файлы Excel (*.xls)|*.xls",,) = 1) Тогда ПолноеИмяФайла = ПутьДоФайла + ИмяФайла; Форма.кнПросмотр.Доступность; Форма.кнЗагрузить.Доступность; КонецЕсли; КонецПроцедуры //******************************************* Процедура ПосмотретьФайл Если (ФС.СуществуетФайл(ПолноеИмяФайла) = 0) Тогда Предупреждение("Файл: " + ПолноеИмяФайла + " не найден!"); Форма.кнПросмотр.Доступность; Форма.кнЗагрузить.Доступность; Возврат; КонецЕсли; Прайс = СоздатьОбъект("Excel.Application"); Прайс.Workbooks.Open(ПолноеИмяФайла); Прайс.Visible = 1; КонецПроцедуры //******************************************* Функция РазложитьСтр(Параметр) Результат = СоздатьОбъект("СписокЗначений"); СтрПараметр = Параметр; Пока Найти(СтрПараметр, " ") > 0 Цикл; Стр = Лев(СтрПараметр, Найти(СтрПараметр, " ")); СтрПараметр = СтрЗаменить(СтрПараметр, Стр, ""); Результат.ДобавитьЗначение(СокрЛП(Стр)); КонецЦикла; Результат.ДобавитьЗначение(СтрПараметр); Возврат Результат; КонецФункции //******************************************* Функция НоваяГруппа(Параметр) Результат = СоздатьОбъект("СписокЗначений"); НоваяГруппа = ""; НоваяФирма = ""; СтрПараметр = Параметр; Ответ = РазложитьСтр(СтрПараметр); Размер = Ответ.РазмерСписка; Если Размер = 1 Тогда НоваяГруппа = Ответ.ПолучитьЗначение; Иначе Для х = 1 По Размер Цикл Стр = Ответ.ПолучитьЗначение(х); Позиция = Производитель.НайтиЗначение(ВРег(Стр)); Если Позиция = 0 Тогда ПозицияВМусоре = Мусор.НайтиЗначение(ВРег(Стр)); Если ПозицияВМусоре = 0 Тогда НоваяГруппа = НоваяГруппа + Стр + " "; КонецЕсли; Иначе НоваяФирма = Стр; Представление = ""; Производитель.ПолучитьЗначение(Позиция, Представление); Если Представление <> "" Тогда Если х < Размер Тогда Стр = Ответ.ПолучитьЗначение(х + 1); Если Стр = Представление Тогда х = х + 1; НоваяФирма = НоваяФирма + " " + Представление; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; НоваяГруппа = СокрЛП(НоваяГруппа); КонецЕсли; Результат.ДобавитьЗначение(НоваяГруппа); Результат.ДобавитьЗначение(НоваяФирма); Возврат Результат; КонецФункции //******************************************* Процедура Загрузить Т.Очистить; Т.НоваяКолонка("Группа", "Строка", , , , 35); Т.НоваяКолонка("Фирма", "Строка", , , , 15); Т.НоваяКолонка("Код", "Число", , , , 10); Т.НоваяКолонка("Товар", "Строка", , , , 60); Т.НоваяКолонка("Розница", "Число", , , , 10); Т.НоваяКолонка("Опт", "Число", , , , 10); Т.НоваяКолонка("Дилер", "Число", , , , 10); Прайс = СоздатьОбъект("Excel.Application"); Прайс.Workbooks.Open(ПолноеИмяФайла); Лист1 = Прайс.Worksheets; х = 8; Грузить = "Да"; Пока Грузить = "Да" Цикл Значение = СокрЛП(Лист1.Cells(х, 1).Value); Если Значение = "" Тогда Прервать; КонецЕсли; Товар = СокрЛП(Лист1.Cells(х, 2).Value); Если Товар = "" Тогда Ответ = НоваяГруппа(Значение); Группа = Ответ.ПолучитьЗначение; Фирма = Ответ.ПолучитьЗначение; Иначе Т.НоваяСтрока; Т.Группа = Группа; Т.Фирма = Фирма; Т.Код = Число(Значение); Т.Товар = Товар; Т.Розница = Окр(Число(Лист1.Cells(х, 4).Value), 2); Т.Опт = Окр(Число(Лист1.Cells(х, 5).Value), 2); Т.Дилер = Окр(Число(Лист1.Cells(х, 6).Value), 2); КонецЕсли; х = х + 1; Состояние("Обработка группы: " + Строка(Группа)); КонецЦикла; Прайс.Quit; КонецПроцедуры //******************************************* ИмяФайла = "*.XLS"; ПутьДоФайла = "C:"; ПолноеИмяФайла = ПутьДоФайла + ИмяФайла; Производитель = СоздатьОбъект("СписокЗначений"); Производитель.ДобавитьЗначение("3WARE"); Производитель.ДобавитьЗначение("3COM"); Производитель.ДобавитьЗначение("AMD"); Производитель.ДобавитьЗначение("ATI"); Производитель.ДобавитьЗначение("ATX"); Производитель.ДобавитьЗначение("APC"); Производитель.ДобавитьЗначение("ABIT"); Производитель.ДобавитьЗначение("ACER"); Производитель.ДобавитьЗначение("ADDA"); Производитель.ДобавитьЗначение("ACORP"); Производитель.ДобавитьЗначение("ALTEC", "Lansing"); Производитель.ДобавитьЗначение("AIPTEK"); Производитель.ДобавитьЗначение("ASROCK"); Производитель.ДобавитьЗначение("AUREAL"); Производитель.ДобавитьЗначение("ASUSTEK"); Производитель.ДобавитьЗначение("ADAPTEC"); Производитель.ДобавитьЗначение("A4-TECH"); Производитель.ДобавитьЗначение("ALCATEL"); Производитель.ДобавитьЗначение("ALBATRON"); Производитель.ДобавитьЗначение("BTC"); Производитель.ДобавитьЗначение("BENQ"); Производитель.ДобавитьЗначение("BROTHER"); Производитель.ДобавитьЗначение("BELINEA"); Производитель.ДобавитьЗначение("BRANDNAME"); Производитель.ДобавитьЗначение("CANON"); Производитель.ДобавитьЗначение("CISCO"); Производитель.ДобавитьЗначение("CASIO"); Производитель.ДобавитьЗначение("COMPAQ"); Производитель.ДобавитьЗначение("CHERRY"); Производитель.ДобавитьЗначение("COMPEX"); Производитель.ДобавитьЗначение("CODEGEN"); Производитель.ДобавитьЗначение("CREATIVE"); Производитель.ДобавитьЗначение("CHAINTECH"); Производитель.ДобавитьЗначение("CHIEFTEC/SUPER", "Micro"); Производитель.ДобавитьЗначение("DELL"); Производитель.ДобавитьЗначение("D-LINK"); Производитель.ДобавитьЗначение("DEFENDER"); Производитель.ДобавитьЗначение("EPOX"); Производитель.ДобавитьЗначение("ELINE"); Производитель.ДобавитьЗначение("EPSON"); Производитель.ДобавитьЗначение("ELPINA"); Производитель.ДобавитьЗначение("ELITEGROUP"); Производитель.ДобавитьЗначение("FUJITSU"); Производитель.ДобавитьЗначение("FUJIFILM"); Производитель.ДобавитьЗначение("FUJITSU-SIEMENS"); Производитель.ДобавитьЗначение("HP"); Производитель.ДобавитьЗначение("HIGHPOINT"); Производитель.ДобавитьЗначение("HYUNDAI(HYNIX)"); Производитель.ДобавитьЗначение("IRU"); Производитель.ДобавитьЗначение("INWIN"); Производитель.ДобавитьЗначение("INTEL"); Производитель.ДобавитьЗначение("IIYAMA"); Производитель.ДобавитьЗначение("IBM/HITACHI"); Производитель.ДобавитьЗначение("LG"); Производитель.ДобавитьЗначение("LSI", "Logic"); Производитель.ДобавитьЗначение("LOMOND"); Производитель.ДобавитьЗначение("LEADTEK"); Производитель.ДобавитьЗначение("LEXMARK"); Производитель.ДобавитьЗначение("LITE-ON"); Производитель.ДобавитьЗначение("LOGITECH"); Производитель.ДобавитьЗначение("RL", "(Rolsen)"); Производитель.ДобавитьЗначение("ROLSEN"); Производитель.ДобавитьЗначение("ROVERBOOK"); Производитель.ДобавитьЗначение("ROVERSHOT"); Производитель.ДобавитьЗначение("ROVERSCAN"); Производитель.ДобавитьЗначение("SVEN"); Производитель.ДобавитьЗначение("SONY", "Ericsson"); Производитель.ДобавитьЗначение("SOLTEK"); Производитель.ДобавитьЗначение("SEAGATE"); Производитель.ДобавитьЗначение("SURECOM"); Производитель.ДобавитьЗначение("SAMSUNG"); Производитель.ДобавитьЗначение("SIEMENS"); Производитель.ДобавитьЗначение("SVEN/F&D"); Производитель.ДобавитьЗначение("SAPPHIRE"); Производитель.ДобавитьЗначение("TEAC"); Производитель.ДобавитьЗначение("TITAN"); Производитель.ДобавитьЗначение("TEKRAM"); Производитель.ДобавитьЗначение("TURTLE", "Beach"); Производитель.ДобавитьЗначение("TOSHIBA"); Производитель.ДобавитьЗначение("TOSHIBA"); Производитель.ДобавитьЗначение("TRENDNET"); Производитель.ДобавитьЗначение("TOPDEVICE"); Производитель.ДобавитьЗначение("THERMALTAKE"); Производитель.ДобавитьЗначение("GENIUS"); Производитель.ДобавитьЗначение("GLACIAL", "Tech"); Производитель.ДобавитьЗначение("GIGABYTE"); Производитель.ДобавитьЗначение("MAXON"); Производитель.ДобавитьЗначение("MAXTOR"); Производитель.ДобавитьЗначение("MATROX"); Производитель.ДобавитьЗначение("MUSTEK"); Производитель.ДобавитьЗначение("MITSUMI"); Производитель.ДобавитьЗначение("MULTICO"); Производитель.ДобавитьЗначение("MOTOROLA"); Производитель.ДобавитьЗначение("MICROLAB"); Производитель.ДобавитьЗначение("MICROSOFT"); Производитель.ДобавитьЗначение("MICRO-STAR"); Производитель.ДобавитьЗначение("MITSUBISHI"); Производитель.ДобавитьЗначение("NEC"); Производитель.ДобавитьЗначение("NOKIA"); Производитель.ДобавитьЗначение("NIKON"); Производитель.ДобавитьЗначение("NONAME"); Производитель.ДобавитьЗначение("NVIDIA"); Производитель.ДобавитьЗначение("WD"); Производитель.ДобавитьЗначение("PLUS"); Производитель.ДобавитьЗначение("PENTAX"); Производитель.ДобавитьЗначение("PROMISE"); Производитель.ДобавитьЗначение("PHILIPS"); Производитель.ДобавитьЗначение("POWERCOM"); Производитель.ДобавитьЗначение("POWERMAN"); Производитель.ДобавитьЗначение("PANASONIC"); Производитель.ДобавитьЗначение("JAZZ-SPEAKERS"); Производитель.ДобавитьЗначение("VIEWSONIC"); Производитель.ДобавитьЗначение("ZYXEL"); Производитель.ДобавитьЗначение("XEROX"); Производитель.ДобавитьЗначение("OKI"); Производитель.ДобавитьЗначение("OLYMPUS"); Производитель.ДобавитьЗначение("KONICA/MINOLTA"); Производитель.ДобавитьЗначение("ДИАЛОГ"); Производитель.ДобавитьЗначение("ПРОЧИЕ"); Производитель.ДобавитьЗначение("РАЗНОЕ"); Мусор = СоздатьОбъект("СписокЗначений"); Мусор.ДобавитьЗначение("ДЛЯ"); Мусор.ДобавитьЗначение("EUR"); Мусор.ДобавитьЗначение("USA"); Мусор.ДобавитьЗначение("ПРОЧЕЕ"); Мусор.ДобавитьЗначение("-"); Мусор.ДобавитьЗначение("/");
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Загрузка прайса в Ехселе в справочник
- При приеме данных с удаленной машины загрузка идет очень долго
- Загрузка данных из ЗиК в 1С Предприятие
- Долгая загрузка при "Загрузка структуры данных программы..."
- Загрузка структуры данных программы / загрузка прикладной системы
- Загрузка иерархического прайса из Excel в 1с
- 8.3.7 частичная загрузка из файлов /LoadConfigFromFiles
В этой группе 1С
- Вопрос с 1СТерритории Общая файловая ошибк при доступ к С:......~md68.t
- Ноутбук R-Style Tornado
- CNews: В России начинается «глубокая» автоматизация
- ОФФ: прикольные инструкции по эксплуатации
- OFF: Водородная экономика 21 века
- Мелодии для MOTOROLA C350
- Мертвые языки?
- Российские библиотеки третьего тысячелетия
- Блокировки в MS SQL Server 2000 (статья)
- Работа в DOS - клиенте v.2.0-3.0
- nForce 3 250 pro
- Интервью с Биллом Гейтсом о новых технологиях и Linux
- 1С: v7.7 Как "заморозить" колонку в табличной части документа?
- Максимальная длина строки в "восьмерке"
- Алгоритмы
- Unify Modeling Language
- Помогите кто-нибудь!!! СЗВ-К!!!
- ИТ – фирмы используют жаргон, чтобы «скрыть свою глупость»
- Не загружается комп
- Как изменить элемент в регистре сведений?