18.06.2016 20:49 | |
sonic1978Пользователь iNETsHOP Количество сообщений 107 Зарегистрирован: 27-02-2016, 15:29:39 |
гдето видел на форуме, но не могу уже найти при установке в схеме импорта ячеек EF к примеру как остаток объединяются строки а не значения. |
18.06.2016 21:16 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Объединение остатков по складам
Из-за "сбоя" на хостинге freehost.ua были утеряны данные с 06 по 15 мая 2016 года, возможно что тема которую вы ищите была создана в этот период. По сути вопроса - если в схеме импорта в настройках поля "Остаток" указать колонки прайс-листа как EF то да, будет произведена конкатенация строк, а не суммирование числовых значений. Без примера прайса или его скриншота трудно что-то посоветовать конкретное, как вариант, импортируйте остаток из нескольких колонок через какой-то разделитель, скажем символ "/". Затем, в схему импорта добавьте скрипт обработки, который будет разбивать эту строку на части и суммировать значения. Например функция [dbo].[f_GetTableByList2] (@p_sValue varchar(8000), @p_sDelimeter varchar(100)) - возвращает таблицу со значениями элементов строки разбивая ее по указанному разделителю. Можно в T-SQL скрипте обработки создать курсор по всем строкам прочитанного прайс-листа, а затем получить элементы суммарной строки в которой значения разделены разделителем и суммировать их: Код
|
18.06.2016 23:07 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
считает нормально, осталось только заменить разделитель с точки на запятую, есть готовый скрипт? автозамена не помогает, т.к. срабатывает видимо до суммирования |
18.06.2016 23:22 | |
AdminАдминистратор Количество сообщений 135 Зарегистрирован: 23-08-2007, 09:03:21 |
Автозамена текста срабатывает в момент чтения каждой строки из прайс-листа, потому она работает до SQL-скриптов обработки. |
19.06.2016 01:32 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
добавил перед сравнением UPDATE #TMP_PRICE SET REST = REPLACE(REST,'.',','); теперь все ок |
15.10.2016 20:39 | |
DenndyПользователь iNETsHOP Количество сообщений 54 Зарегистрирован: 12-03-2016, 18:32:41 |
Очень полезная тема при работе с прайсами где несколько колонок по остаткам. Но столкнулся с небольшой проблемой, при суммировании из нескольких ячеек получается программно фильтр поставить на позиции с "0" количеством не получится т.к. колонок несколько, если я правильно понимаю работу программы. Отсюда вопрос, в этой теме вопрос подымался на предмет скрипта для удаления позиций с "0" остатком, насколько он применим в данном случае? Имеется ввиду вот этот скрипт, если вместо "1" поставить "0" Цитата DELETE FROM #TMP_PRICE WHERE CAST(REST as varchar(100)) = '1';
|
15.10.2016 23:35 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Будут удалены товары прайса, в которых в колонку "Остаток" импортирован текст равный "1" или "0" соответственно тексту запроса. |
17.10.2016 12:33 | |
DenndyПользователь iNETsHOP Количество сообщений 54 Зарегистрирован: 12-03-2016, 18:32:41 |
Результатам работы скрипта посвящена тема, на которую я дал ссылку, не стоило повторяться. Вопрос был несколько о другом. |