Порядок загрузки (пункты соответствуют овалам на картинке):
1. Указываем клиента, и склад, с которого предполагается отгрузка (для возможной проверки остатков), справа также можно указать других клиентов по номенклатуре которых предполагается поиск (он будет использоваться, если основное сопоставление не произошло)
2. Копируем исходную таблицу в таблицу формы (через буфер обмена) можно раздвигать столбцы, чтобы полностью видеть содержимое ячеек
3. Задаем настройки (в виде адресов строк и столбцов таблицы), обязательно задать:
— начало (первая строка с которой начинается загрузка)
— конец (последняя строка загрузки)
— артикул, код, наименование, артикул партнера, код партнера, наименование партнера, штрихкод (поле по которому будет произведена идентификация нашей номенклатуры) — достаточно указать одно из этих полей (если указать несколько, то обрабатыватся будут последовательно до тех пор пока не найдется соответствие).
— количество — из этого столбца берется количество упаковок
не обязательно:
— признак пропуска строки — указывает на столбец, по которому обработка может пропускать строки при загрузке (проверяется наличие любого значащего символа в ячейке), это удобно при загрузке документов разбитых по страницам.
Настройку можно производить указанем ячейки (сначала выбирается настройка, затем — непосредственно ячейка) — её адрес вводится в настройку.
4. после настройки нажимаем «Преобразовать» — в нижней таблице появятся строки будующего документа «Заказ Клиента» (их можно откорректировать непосредственно в таблице). В верхней таблице — удачно проассоциированные данные закрасятся зеленым, неудачно — красным. Через контекстное меню ячейки верхней таблицы можно призвести заполнение справочника «Номенклатура Поставщиков»(или Регистра сведений Штрихкоды Номенклатуры), для полей отмеченных красным, и повторить команду «Преобразовать»
5. Визуально проверяем состав таблицы.
6. Создаем документ Заказ Клиента товаров и услуг, нажав на соответствующую кнопку (Цена, СтавкаНДС бурутся из базы данных)
Настройки — можно сохранить в файл, который можно в дальнейшем использовать снова.
PS: Если в списке настроек выбрано поле со значением в виде адреса — то любой щелчек мышью в верхней таблице будет менять информацию в соответствующей настройке, поэтому рекомендую после задания настроек, активизитовать одну из 4 последних строк настроек (они имеют логический тип, и не зависят от активации ячеек верхней таблицы).
PS2: Справочник «НоменклатураПоставщиков» используется несмотря на «противоречивое» название, однако конфигурация позволяет подчинять элементы этого справочника элементам справочника «Партнеры», вне зависимости от свойств «Клиент» или «Поставщик».
PS3: Если же добавить справочник «НоменклатураКлиентов» с той же структурой что и «НоменклатураПоставщиков», обработка будет брать информацию из этого нового нестандартного справочника (в этом справочнике можно ослабить некоторые ограничения по сравнению со стандартным справочником «НоменклатураПоставщиков»).
(1) Eugeneer, можно конечно, сделать универсальную загрузку (она вобщем-то сейчас разрабатывается в режиме «нужно, но не срочно»), но она не будет наглядной. С другой стороны, у обработок сходный интерфейс, но функционал существенно различен (в частности в Заказ не загружаются стоимостные показатели и характеристики ГТД, а номенклатура в Заказе (при дублировании сооветствующих элементов) может подбираться исходя из текущих остатков на складе), да и пересчет количества в заказе (при формировании документа) немного другой. И наконец, так сделано, чтобы проще было настроить права пользователей (ибо не все то нужно продавцам, нужно и закупщикам и наоборот).
Во-первых, сразу видно — автор девушка. По обстоятельности и прозрачности без заумствований.
Во-вторых — наглядная, простая и весьма полезная вещь.
Человек найчился сам, и дал возможность другим двумя кликами делать нужные операции.
И даже есть сохранение настроек, пусть и в текстовый файл. Плюс.
(3) AlexO, не знаю по какому принципу Вы классифицируете обработку по гендерному признаку…) но в этом Вы ошибаетесь)…, а вот заказчиком действително была женщина.)
Довольно интересная идея. У нас подобная проблема есть с загрузкой анкет клиента. Формат файла постоянно меняется.
я бы посоветовал автору немного переделать внешний вид обработки, оставив весь функционал без изменений. Я говорю про интерфейс помощника. Насколько я понимаю, Ваша обработка ориентирована, в первую голову, на пользователей, которые, мягко говоря, неуверенно общаются с программой. Если Вы разобьете достаточно сложное главное окно Вашей программы на несколько более простых, мне кажется, это будет неплохой идеей. Тем более, что Вы сами проделали большую часть работы в этом направлении, разделив основные элементы интерфейса на части 🙂
спасибо за обработку, пригодилась…
небольшое замечание в коде…
Если в конф. нет спр-ка «НоменклатураКлиентов», данная конструкция не работает
сделал так
+ функция
Показать
(7) alexex, большое спасибо за замечание,
на текущий момент ошибка исправлена, правда без выноса в отдельную функцию (подобная ошибочная конструкция, использовалась в тексте обработки 3 раза, исправлено во всех 3 случаях).
mxm2, посоветуйте, где рыть? У меня моя обработка в УТ11 (управляемая) заполняет таблицу Заказа клиента данными Номенклатуры и её количества. Заказ нормально сохраняется, табличная часть заполняется… А Состояние обеспечения не видит данных для анализа! Помогите плз советом!
(9) svetanik, Попробуйте создать ЗаказКлиента «вручную», (он должен делать все нужные движения), а затем при помощи обработки просмотра значений реквизитов (например одной из этох:http://infostart.ru/public/175217/ , http://infostart.ru/public/14747/) сравните Заказ, сформированный обрабткой и заказ сформированный вручную (скорее всего не заполняется какое-то знАчимое поле)
Обработкой удобно пользоваться, но вот в редакции 11.1 при нажатии кнопки «преобразовать» вываливается ошибка:
Форма.Форма.Форма(306)}: Ошибка при вызове метода контекста (Выполнить)
ТЗ = Запрос.Выполнить().Выгрузить();
по причине:
{(47, 88)}: Поле не найдено «ТоварыНаСкладахОстатки.ВРезервеОстаток»
ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) — ЕСТЬNULL(ТоварыНаСкладахОстатки.<<?>>ВРезервеОстаток, 0) КАК КоличествоОстаток
Еще автору на заметку: обработка не работает с таблицами в которых более 999 строк.
Обработка не работает в УТ 11.4