Страница: 1 | 2 |
Вопрос: формирование заказа
Добавлено: 10.07.06 17:26
Автор вопроса: APS | ICQ: 234458121
Господа!
Дайте совет как лучше решить следующую задачу.
В Excel первый лист представляет из себя бланк заказа. Все остальные листы, кроме последнего, представляют из себя прайс-листы, на которых есть колонка с заголовком "Заказ". Пользователь проставляет в этой колонке необходимые количества, нажимает кнопку и те, позиции, у которых указаны количества, переносятся на первый лист. Колонки на разных листах имеют разные номера, количество строк на разных листах также разное.
И вот я задумался, как лучше организовать перебор необходимых ячеек на предмет просмотра наличия в них числа. То ли создать именованный диапазон и перебирать в нем все ячейки (только не могу понять, как присвоить имя диапазону, ячейки которого находятся на разных листах), то ли искать на каждом листе ячейку со словом "Заказ" и просматривать все ячейки ниже до последней заполненной.
Ответы
Всего ответов: 20
Номер ответа: 1
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #1
Добавлено: 10.07.06 18:15
Я бы перебирал все листы и на каждом листе шел до первой непустой строки в столбце "Наименование" (то бишь по номенклатуре). Ведь в прайсе (как смею предположить) всегда есть столбцы ("Наименование", "Ед.Изм.", "Цена" и столбец "Наименование" ВСЕГДА должен быть заполнен - иначе это не прайс "а дрянь какая-то". Таким образом когда закончится "Номенклатура" - тогда и останавливайся и переходи к следующему прайсу (на следующий лист). И когда идешь по "Наименованию" проверяешь - есть ли заказы на неё.
Вот так!
Номер ответа: 2
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #2
Добавлено: 10.07.06 18:42
____ Не смущает то, что колонка "Заказ" на разных листах имеет разный номер, а в бланк заказа (первый лист) их надо все вместе запихать?
Номер ответа: 3
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #3
Добавлено: 10.07.06 18:58
2: Нисколько!!!
Хоть это и криво, что прайс-листы с различными колонками, но это совершенно неважно в каких колонках что находится.
Номер ответа: 4
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #4
Добавлено: 10.07.06 19:24
____ А сумму (стоимость) заказа на первом листе программно формировать? Она ведь "встанет" в разные столбцы.
____ Я бы прайс всё-таки перелопатил с целью установить в один столбец стоимость каждой позиции (строки) прайса. Не вижу смысла в разном положении.
____ А что автор темы думает по этому поводу?
Номер ответа: 5
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #5
Добавлено: 10.07.06 19:50
4:
Номер ответа: 6
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #6
Добавлено: 10.07.06 21:22
____ Потому что хотелось бы брать строку из прайса и вставлять её в лист Заказа, не разбираясь, где находится "Количество", "Цена" и "Сумма". В противном случай задача довольно сильно усложняется. —
____ 1. Необходимо определить самую длинную строку из всех, которые выбрал клиент.
____ 2. Переместить в более коротких строках ячейку с суммой (а желательно и с ценой и количеством) в крайне правое положение.
____ Усложнение сильно неоправданное против простого "приведения" прайсов к единообразию в правой части строк. Хотя сделать можно всё.
Номер ответа: 7
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #7
Добавлено: 10.07.06 21:59
____ 2. Переместить в более коротких строках ячейку с суммой (а желательно и с ценой и количеством) в крайне правое положение.
Номер ответа: 8
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #8
Добавлено: 11.07.06 16:22
Номер ответа: 9
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #9
Добавлено: 12.07.06 16:43
Сорри. Нет времени пока отписаться нормально по делу.
Чуть позже отпишусь.
Номер ответа: 10
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #10
Добавлено: 13.07.06 00:20
Ну вот я и добрался до домашнего компа, где могу спокойно писать.
Прайс на самом деле один. Разделен на листы из-за разницы приводимых данных в них. Поэтому и структура разная. Так удобнее пользоваться дилерам. Прайс я формирую сам, поэтому могу сделать так, как будет мне угодно. Но... Все привыкли к его определенному виду. Все переделки будет восприняты в штыки. Хотя и на это есть административные инструменты.
Хотелось сделать универсальный инструмент, который бы не зависел от структуры прайса, но я понял, что это ведет к сильному усложнению задачи. Теперь пытаюсь привести необхожимые мне строки к одноме виду и местоположению - есть одна загвоздка, есть вариант ее решить, но он не очень нравится.
На самом деле, готов вам выслать исходный вариант прайса. Тогда будет более предметный разговор.
Номер ответа: 11
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #11
Добавлено: 13.07.06 08:22
Шли на мыло.
Номер ответа: 12
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #12
Добавлено: 13.07.06 09:26
____ Забавно, что я решаю сейчас совершенно аналогичную задачу, но основная её идея — заставить дилеров оформлять заказы в единообразной форме с последующей пересылкой (после проверки) на завод. Номенклатура фирмы Ruukki. Прайс позволено изменять как угодно. Важно сохранить выходную форму.
Номер ответа: 13
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #13
Добавлено: 13.07.06 12:59
11: Отправил
12: Вот именно, основная идея, чтобы все заказы от дилеров приходили в единообразном виде на нашем бланке, который потом автоматически обрабатывается 1С.
Номер ответа: 14
Автор ответа:
Незнайка
Вопросов: 7
Ответов: 188
Профиль | | #14
Добавлено: 13.07.06 13:10
13: Вопрос по существу - а почему бы не реализовать твою задачу полностью в 1С (коего я к величайшему сожалению не знаю)? Там по определению не актуальны все те проблемы с которыми ты щаз бьешся.
Номер ответа: 15
Автор ответа:
APS
ICQ: 234458121
Вопросов: 38
Ответов: 107
Профиль | | #15
Добавлено: 13.07.06 13:38
Т.е. ты предлагаешь, чтобы дилеры прямо в прайсе проставляли количество и присылали его нам, а 1С обрабатывал?
Файл тяжеловат, да и неудобно так.
Проще когда я им прайс в Excel, они нам заказ в Excel, а его уже обрабатывает 1С. Бланк заказа ведь стандартизован.
Я почему вообще стал с этим морочиться, потому что дилеры стали жаловаться, что неудобно им руками или копированием заносить номенклатуру на бланк. И все присылают как попало, тогда уже наши менеджеры начинают вешаться от ручного вбивания заказов в 1С. Поэтому и делаю, чтобы дилер в прайсе циферок понаставлял, кнопочку нажал и получил отдельный файл с готовым заказом.
Правда, остается еще одна незадача. Прайс на ЗиП в другом файле, даже не в Excel, а в txt. Как бы и его подтянуть... На самом деле я экспортирую его в txt из mdb. Почему так? Потому что позиций порядка 150 т., на один лист в Excel они не влазят, а как сэкспортировать автоматом на несколько, никак не соображу. Да и размер файла Excel огромный получается - 10 мег. Такой прайс особо не разошлешь!