Предлагаю пользователям обсудить новинку
Загрузка накладных из файлов XLS / XLSX / ODT Раздел первый, обсуждение загрузки накладных как оно есть.
При загрузке накладной есть выбор поля, где стоит цена. Это вполне логично с точки зрения пользователя, но не совсем практично, постараюсь объяснить почему.
Кто активно работает с несколькими довольно крупными поставщиками прекрасно знает в каком виде они предоставляют накладные в электронном виде (равно как и счет-фактуру). Они выглядят в общем случае (90%) так:
№ п/п | Артикул | Единица измерения | Количество | Цена БЕЗ НДС | Налог НДС | Ставка НДС % | Сумма с НДС | ГТД
Так вот, если использовать загрузку накладной как она есть, то придется предварительно подготавливать саму накладную с целью вычисления цены с НДС, для этого потребуется разделить содержание поля "Сумма с НДС" на поле "Количество". Если приходовать 20-30 позиций раз в неделю, то можно с этим смириться, а если по 3-4 накладных в день...
Итак,
пожелание первое - позволить пользователю выбирать то, как он хочет получать цену товара из накладной
а) напрямую заносить цену товара из ячейки накладной "Цена"
б) указать в качестве источника цены поле "Сумма с НДС", в этом случае процедура загрузки бы автоматически рассчитывало цену товара уже включая все налоги путем деления содержимого поля "Сумма с НДС" на содержимое поля "Количество".
Предвидя предложение разработчиков добавить возможность начисления налога на цену в накладной (допустим добавить флажок "С НДС" и указывать ставку НДС) хотел бы обратить внимание на то, что в накладной в равной степени может быть товар с разными ставками НДС (н-р. на школьные принадлежности ставка составляет 10%, на фоторамки 18% и т.п.).
Раздел второй.
Нам предлагается для сопоставления нашего идентификатора с идентификатором поставщика через 4 разных поля:
Штрих-код
Наименование
Артикул
Маркировка
Все было бы прекрасно, если закупать конкретный ассортимент у одного-двух поставщиков. Указал в поле АРТИКУЛ артикул одного поставщика, указал в поле МАРКИРОВКА артикул второго поставщика и заноси себе накладные добавляя периодически новые товары и проставляя артикулы поставщиков. Но если количество поставщиков одного наименования товара допустим равно шести (6), тот тут возникает проблема.
Допустим есть товар:
Самокат складной "Скорость" 3С красный Поставщики в своих прайс листах ( а следовательно и в накладных) обозначают их следующим образом (для простоты примем как аксиому, что у всех есть артикулы)
Поставщик 1: Самокат_3С
Поставщик 2: С3СК
Поставщик 3: Сам3СR
Поставщик 4: Samokat3Sred
Поставщик 5: S3Sred
Поставщик 6: Sred3S
Как в этом случае поступать?
Предлагается схема (описываю со стороны пользователя, если потребуются советы по реализации, то могу конструктивно помочь).
Т.К. мы будем заносить накладные своих поставщиков, то логично предположить, что они у нас в справочнике контрагентов уже есть.
Этап первый - создание настройки для загрузки накладных. 1. Открываем карточку контрагента, для которого хотим создать настройку.
2. Нажимаем в карточке контрагента кнопку "Создать настройку загрузки накладных"
3. В Появившемся окне указываем необходимые параметры. Форма та, которая уже существует, с небольшими изменениями, в частности, добавить выбор способа определения соответствий к тем, что уже есть (Штрих-Код, Артикул, Маркировка, Наименование) - "По таблице соответствий".
4. Сохраняем настройку.
Этот вариант оправдан тем, что не смотря на идентичность в большинстве случаев платформ учета у поставщиков - формы отчетов у них все равно разные.
Этап второй, загрузка накладной. Выбираем в Меню ОПЕРАЦИИ -> Обмен информацией -> Загрузить накладную
Появляется окошко выбора контрагента, накладную которого мы собственно и хотим занести - выбираем.
После выбора контрагента (поставщика) появляется запрос на выбор файла с накладной - выбираем файл.
Начинается поиск соответствий и выводится результат - список товаров с отмеченными позициями, соответствия которых найдено.
(Описанное ниже актуально при установленном флаге в настройке "По таблице соответствий", для поиска соответствий по артикулу, маркировке и т.п. все боле-менее ясно)
Далее кликаем на позиции, соответствия которой не найдено, выводится справочник товаров (например список, аналогичный списку, показываему при выписки позиции во время добавления в накладную при ручной выписке) в котором мы и выбираем ту позицию, которой соответствует позиция, указанная в накладной. И так все ненайденные позиции.
Повторно запускаем загрузку и вуаля, все соответствия найдены. Далее останется только загрузить документ в бд.
Данный алгоритм был опробован на практике и успешно работает в качестве внешнего приложения с Memo Trade 4x4. Практика показала, что после 2х-3х поставок 99% товаров распознаются без проблем, для остальных 2-3х новых для таблицы соответствий позиций не проблема соответствия выставить. Стоит один раз "научить" программу распознавать новые для нее товары поставщика и та работа, которая занимала раньше по 30-40 минут выполняется за 1-2 минуты (речь идет о накладных в несколько десятков или сотен позиций).
Еще хочется выразить благодарность разработчикам за стремление развивать и совершенствовать свое детище и пожелать прислушаться к пожеланиям и путем их реализации привлечь все больше сторонников и пользователей их ПО. Ведь лучшая реклама - удобство пользователей, которое они восхваляют своим друзьям/знакомым и т.п. которые в свою очередь становятся пользователями столь удобного ПО.
Готов ответить на все вопросы, как касаемо реализации пользовательского интерфейса, так и алгоритма работы глазами разработчика.
С Уважением, Александр.