Jommo26
|
|
1 | |
Помогите пожалуста с выгрузкой прайса04.05.2010, 14:52. Показов 21707. Ответов 12
Метки нет (Все метки)
На работе дали задание. не могу ни как придумать как его сделать. Есть прайс, есть справочник номенклатуры. В принципе все просто, а на самом деле не так. Прайсы бывают разные. оператор будет над каждой колонкой в прайсе ставить определенную букву. (пример Код = A артикул = B и т.д) и надо сделать внешнюю обработку которая будет по этим буквам опеределять в какой колонке что находится, потом сравнивать значениее со справочником и заносить цены в справочник.
|
04.05.2010, 14:52 | |
Ответы с готовыми решениями:
12
Помогите с Xml выгрузкой Задача сравнить два прайса и выделить цену которая отличается от старого прайса помогите пожалуста Помогите пожалуста |
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
04.05.2010, 15:40 | 2 |
А в чем проблема-то? Найти пример загрузки из формата, который вы, кстати, не указали?)
0
|
Jommo26
|
|
04.05.2010, 15:50 | 3 |
Прайс экселевский конфигурация управление торговлей 10.3 Не могу сделать поиск пл файлу в экселе. Надо брать код из основной панели справочника и сравнивать его с экселевким файлом а потом если код савподает то из этой же строчки брать цену товара и заносить ее в справочник.
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
04.05.2010, 16:52 | 5 |
Сообщение от unknown181538
0
|
Jommo26
|
|
04.05.2010, 16:57 | 6 |
Я наверное точно блондинка нечего в голову нелезет. Вроде все форму сделала с экселя загрузила функцию расчета цены сделала а как связать со справочником немогу((( кто нить может выложить пример функции с поиском по экселю?
Добавлено: Как говорится не бери в голову бери в рот)))) |
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
|
|
04.05.2010, 17:05 | 7 |
Сообщение от Janna26
0
|
Jommo26
|
|
04.05.2010, 17:28 | 8 |
Это шутка) сижу уже 2 день над этой обработькай и нечего придумать немогу(
|
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
|
|
04.05.2010, 17:40 | 9 |
Сообщение от Janna26
0
|
Jommo26
|
|
04.05.2010, 17:54 | 10 |
vitfil
А ты шутник. Да вот сижу и думаю, что она сама напишется. |
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
05.05.2010, 00:42 | 11 |
Сообщение от Janna26
Я сделал бы так: Код ( (Unknown Language)): Процедура КнопкаВыполнитьНажатие(Кнопка) xlLastCell = 11; НомерЛистаExcel = 1; ВыбФайл = Новый Файл(ИмяФайла); Если НЕ ВыбФайл.Существует() Тогда Сообщить("Файл не существует!"); КонецЕсли; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ИмяФайла); Состояние("Обработка файла Microsoft Excel..."); ExcelЛист = Excel.Sheets(НомерЛистаExcel); Исключение Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel."); КонецПопытки; ActiveCell = Excel.ActiveCell.SpecialCells(xlLastCell); RowCount = ActiveCell.Row; ColumnCount = ActiveCell.Column; ТЗ = Новый ТаблицаЗначений; Для Column = 1 По ColumnCount Цикл Тз.Колонки.Добавить("Колонка" + Column); КонецЦикла; Для Row = 1 По RowCount Цикл НоваяСтрока = Тз.Добавить(); Для Column = 1 По ColumnCount Цикл НоваяСтрока["Колонка" + Column] = ExcelЛист.Cells(Row,Column).Value; КонецЦикла; КонецЦикла; Excel.WorkBooks.Close(); Excel = 0; ДокОбъект = Докссылка.ПолучитьОбъект(); Для Каждого ТекущаяСтрока Из Тз Цикл Наименование = ТекущаяСтрока["Колонка12"]; Артикул = СокрЛП(СтрЗаменить(Строка(ТекущаяСтрока["Колонка11"])," ","")); НомерВхДок = ТекущаяСтрока["Колонка9"]; Количество = ТекущаяСтрока["Колонка13"]; ЕдИзмерения = ТекущаяСтрока["Колонка14"]; Цена = ТекущаяСтрока["Колонка15"]; Сумма = ТекущаяСтрока["Колонка16"]; СтавкаНДС = ТекущаяСтрока["Колонка17"]; СуммаНДС = ТекущаяСтрока["Колонка18"]; Всего = ТекущаяСтрока["Колонка19"]; СтранаГТД = ТекущаяСтрока["Колонка21"]; ГТДТовара = ТекущаяСтрока["Колонка22"]; Если СокрЛП(ДокОбъект.ВхДокНомер) = "" Тогда ДокОбъект.ВхДокНомер = СтрЗаменить(СокрЛП(НомерВхДок)," ",""); КонецЕсли; СпрЭлемент = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",СокрЛП(Артикул)); Если СокрЛП(Артикул) <> "" Тогда Если СпрЭлемент = Справочники.Номенклатура.ПустаяСсылка() Тогда СпрЭлемент = Справочники.Номенклатура.СоздатьЭлемент(); СпрЭлемент.УстановитьНовыйКод(); СпрЭлемент.Родитель = СпрРодитель; СпрЭлемент.ОбработкаЗаполнения(""); СпрЭлемент.Наименование = Наименование; СпрЭлемент.ОсновнаяЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); СпрЭлемент.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.шт; СпрЭлемент.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар; СпрЭлемент.ТипНоменклатуры = Справочники.ТипыНоменклатуры.Штучный; СпрЭлемент.Артикул = Артикул; СпрЭлемент.Записать(); СпрЭлемент = СпрЭлемент.Ссылка; Сообщить("Создан новый элемент: " + Наименование + ", " + Артикул); КонецЕсли; КолВо = Число(Количество); НоваяСтрока = ДокОбъект.Товары.Найти(СпрЭлемент, "Номенклатура"); Если НоваяСтрока = Неопределено Тогда НоваяСтрока = ДокОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = СпрЭлемент; НоваяСтрока.Количество = Колво; НоваяСтрока.КоличествоБазовое = Колво; НоваяСтрока.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт"); НоваяСтрока.Коэффициент = 1; НоваяСтрока.Цена = Число(СтрЗаменить(Цена,".","")); НоваяСтрока.Сумма = Число(СтрЗаменить(Сумма,".","")); НоваяСтрока.СуммаНДС = Число(СтрЗаменить(СуммаНДС,".","")); НоваяСтрока.СтавкаНДС = Справочники.СтавкиНДС.ОсновнаяСтавкаНДС; стрГТД = Справочники.ГТД.НайтиПоНаименованию(СокрЛП(ГТДТовара)); Если стрГТД = Справочники.ГТД.ПустаяСсылка() Тогда стрГТД = Справочники.ГТД.СоздатьЭлемент(); стрГТД.УстановитьНовыйКод(); стрГТД.Наименование = СокрЛП(ГТДТовара); стрГТД.Страна = Справочники.КлассификаторСтранМира.НайтиПоНаименованию(СокрЛП(СтранаГТД)); стрГТД.Записать(); стрГТД = стрГТД.Ссылка; КонецЕсли; НоваяСтрока.ГТД = стрГТД; НоваяСтрока.СуммаВсего = Число(СтрЗаменить(Всего,".","")); Иначе НоваяСтрока.Количество = НоваяСтрока.Количество + Колво; НоваяСтрока.КоличествоБазовое = НоваяСтрока.КоличествоБазовое + Колво; НоваяСтрока.СуммаВсего = НоваяСтрока.СуммаВсего + Число(СтрЗаменить(Всего,".","")); НоваяСтрока.Сумма = НоваяСтрока.Сумма + Число(СтрЗаменить(Сумма,".","")); НоваяСтрока.Цена = ?(НоваяСтрока.Количество = 0,0,НоваяСтрока.Сумма / НоваяСтрока.Количество); НоваяСтрока.СуммаНДС = НоваяСтрока.СуммаНДС + Число(СтрЗаменить(СуммаНДС,".","")); КонецЕсли; Состояние(Наименование); Иначе Продолжить; КонецЕсли; КонецЦикла; ДокОбъект.ПолучитьФорму().Открыть();
0
|
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
05.05.2010, 00:49 | 12 |
А вот цены обычно заносят не в справочник, а в регистр сведений.
0
|
Bustyr
|
|
05.05.2010, 12:16 | 13 |
Ну человек, который будет заносить буквы А и Б, указывая в каких колонках находится артикул или код, будет делать это например в строке перед таблицей, а значит в чем проблема поиска?
Например: Код
//Вырезка из кода Darlock Для Column = 1 По ColumnCount Цикл Если ExcelЛист.Cells(ПерваяСтрокаГдеУказываетсяАилиБ,Column).Value = "А" тогда КолонкаСКодом = Column; ИначеЕсли ExcelЛист.Cells(ПерваяСтрокаГдеУказываетсяАилиБ,Column).Value = "Б" тогда КолонкаСАртикулом = Column; КонецЕсли; КонецЦикла; |
05.05.2010, 12:16 | |
05.05.2010, 12:16 | |
Помогаю со студенческими работами здесь
13
Помогите пожалуста с шифрованием.. Error #56 Помогите пожалуста Помогите, пожалуста!!! С вирусами и программой. Помогите пожалуста разобратся с функцией Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |