Наши поставщики высылают нам по e-mail свои счета-фактуры в файлах Excel. В некоторых счетах-фактурах номенклатуры доходит до 500 позиций. Так как главные наши поставщики тоже работают в 1С, то формат высылаемых файлов со счетами-фактурами оказался практически одинаков.
Поэтому была разработана возможность загружать данные из счетов-фактур поставщика в документы «Поступление товаров, услуг» (с видом операции = Товары).
Логика:
В обработке выбирается файл Excel, содержащий счет-фактуру.
Данные с первого листа файла считываются в Объект обработки.
Затем данным из файла ищем соответствие в справочниках Организации, Контрагенты, Номенклатура, КлассификаторЕдиницИзмерения, СтраныМира, НомераГТД, в перечислении СтавкиНДС.
Организацию и контрагента ищем по ИНН и КПП. Если не нашли, то ищем только по ИНН (в этом случае КПП в файле и в 1С не будут совпадать - чтобы обратить на это внимание пользователя – выделяем эти поля красным).
Если не нашли Организацию и/или контрагента – их можно будет заполнить выбором из справочников.
Если у найденного контрагента в 1С имеется только один договор с организацией, то поле Договор заполняется автоматически, иначе пользователь должен будет заполнить поле Договор выбором из справочника.
Номенклатуру ищем по Наименованию. Если соответствующую номенклатуру в 1С нашли, то проверяем соответствие единицы измерения, ставки НДС, страны-производителя, ГТД в файле и в найденной номенклатуре. Там, где есть несоответствие – поля выделяются красным и выводится сообщение.
Если номенклатура не нашлась, то для этой строки устанавливается «V» в поле «Создать новую номенклатуру» (чтобы создать номенклатуру, нужно заполнить поля Группа номенклатуры в 1С и Вид номенклатуры в 1С – выбрав их из соответствующих справочников. У нас автоматически новая номенклатура попадает в группу «Рабочая» и вид «Рабочая» - это указано в коде, вы можете поправить на ваши группу и вид по умолчанию).
Далее, на всякий случай, проверяем: не загружен ли уже такой документ в 1С (ищем в документах «Поступление товаров, услуг» по дате и номеру входящего документа и по организации и контрагенту). И выдаем соответствующее сообщение.
На этом загрузка данных из файла завершена.
Если в документе имеется номенклатура без соответствий в 1С, то будет доступна кнопка «Создать номенклатуру».
Если при загрузке данных для какой-то номенклатуры соответствие в 1С нашлось, но несмотря на это вы хотите создать новую номенклатуру, нужно в поле «Номенклатура в 1С» удалить найденную номенклатуру, автоматически установится «V» в поле «Создать новую номенклатуру» и станет доступна кнопка «Создать номенклатуру».
Шапка интерфейса делится на две части: слева – данные из файла, справа – соответствующие данные из справочников 1С.
В табличной части данные файла и данные соответствий в 1С идут последовательно друг за другом.
Все данные из файла выделены темно-синим цветом и недоступны для редактирования.
Для создания документа предназначена кнопка «Загрузить в новый документ».
При загрузке документа автоматически заполняются счета расчетов с контрагентами и счета учета номенклатуры.
Это моя первая обработка на управляемых формах. Прошу сильно не ругать! Приму все замечания и предложения для улучшения обработки!