Универсальная обработка "Помощник ввода на основании для 1C v7.7"


Обработка для настройки ввода на основании.

Обработка позволяет ввести на основании любого документа любой документ. Если открыть обработку через
"Файл"-"Открыть" можно настроить любую связку документов для ввода на основании.

Для того что бы воспользоваться вводом на основании из формы документа необходимо эту обработку сохранить
в PrnForms и зарегистрировать ее через "Регистрация внешних печатных форм" для документа, который является
основанием. Соответственно вызов обработки происходит через выбор соответствующей формы для печати.

В архиве так же есть файлы настроек для ввода на основании Поступление материалов - Отгрузка материалов на строну
и на основании Поступление товаров - Перемещение товаров.

  • Главный плюс обработки - ввод на основании можно настроить не открывая конфигуратор и соответственно не "коверкая" конфигурацию
  • Главный минус обработки - введенный на основании документ при открытии формы уже записан в базу и этот "минус" никак не побороть, используя внешнюю обработку.

Колонка "Коэффициент" позволяет задать множитель при "конвертации" числовых значений, например если необходимо на основании Поступление товаров ввести Отгрузку товаров, но с наценкой 10%, ставим множитель 1.1 (на реквизиты Цена, Сумма, НДС, Всего) и готово... если не Коэффициент не указан то множитель = 1.

Планируется возможность задавать конкретные значения для отдельных реквизитов, вводимых на основании документов... (как в конвертации данных)



=== НОВЫЕ ВОЗМОЖНОСТИ в НОВОЙ ВЕРСИИ v7.7.002 от 06.08.2009 года===

  • В первой версии программы "копирование" происходило только из реквизитов источника в реквизиты приемника, во второй версии добавлена возможность заполнения реквизитов приемника значениями, которых нет в источнике.
  • Также введена Процедура ПриВестиКНужномуТипу(), которая преобразовывает данные источника к типу приемника.
    • Например если тип реквизита приемника Счет - то достаточно указать строку 62.2 и реквизит будет заполнен счетом 62.2,
    • или если тип реквизита Приемника Справочник, указав строку, процедура в соответствующем справочнике сначала поищет по наименованию, а если не найдет то по коду..
    • Также можно задать значение в виде константы и программа "достанет" значение из соответствующей константы.
    • Если реквизитом-источником является реквизит Табличной части, а реквизитом-приемником реквизит Шапки, то в реквизит шапки попадет Итог по колонке (галка "Итог по колонке" тут не причем).
  • Ну и последнее - при вводе на основании программа ищет подчиненные документы соответствующего типа и если находит, то перезаписывает их...

Для примера в архив добавлена настройка для ввода на основании Счета - Приходного кассового ордера для конфигурации Бухгалтерия 505 релиза


=== НОВЫЕ ВОЗМОЖНОСТИ в НОВОЙ ВЕРСИИ v7.7.003 от 01.08.2009 года===

Данный текст теперь можно прочитать и в описании к обработке :)))

  • Исправлена ошибка: При открытии отсутствовала идентификация текущего каталога в котором находятся настройки ввода на основании, в результате чего не заполнялся список вводимых на основании документов...
  • Добавлена возможность устанавливать в качестве источника значения Перечислений.
  • Добавлена возможность работать "через точку". Утверждение, что обработка универсальна все же содержит в себе долю "Аванса на будущее". Например при вводе счета фактуры на основании отгрузки реквизит "Субконто1" табличной части "Счет фактуры" заполняется как "ДокОсн.Товар.ВидНоменклатуры". И в третьей версии обработки добавлена возможность добраться до реквизита ВидНоменклатуры, а также до СтавкиНДС и СтавкиНП.
    Для того что бы добраться до реквизита, сначала укажите реквизит документа, а потом еще раз выбрав из списка значение ".", сможете добраться и до реквизитов реквизита... :)))
  • Периодические значения реквизитов вычисляются на дату документа основания.

В архив добавлена настройка ввода Счет Фактуры на основании Отгрузки.
Спросите: "Зачем это нужно, ведь есть штатная процедура Ввода Счета фактуры на основании Отгрузки"? Поверьте - нужно, но об этом позже...

=== НОВЫЕ ВОЗМОЖНОСТИ в НОВОЙ ВЕРСИИ v7.7.004 от 08.08.2009 года====


Добавлена возможность задавать значение источника в виде Скрипта - куска программного кода.
Например при стандартном вводе на основании в Комментарий пишется строка "Введен на основании Отгрузка товаров, продукции № ХХХХХ от ХХ Августа ХХХХ г."

Чтобы с помощью данной обработки записать такой же текст необходимо выбрав в качестве источника реквизита значение "" и записать туда такую строку "Веден на основании "+глПредставлениеДокумента(ДокОсн) и готово.

Выполнятся скрипт будет с помощью конструкции


//====================================================
Функция Присвоить(Что, Чему)
     Чему = Что;
КонецФункции

//====================================================
Функция ВычислитьЗначение(ДокОсн,Значение,Реквизит,НовыйДокумент)
     Шаблон("[Присвоить("+Скрипт+",Значение)]");
КонецФункции


где  ДокОсн - Документ основание, через эту переменную можно получить доступ к любому реквизиту документа основания, например если необходимо задать условие;

Значение - Переменная которой будет присвоено значение полученное в результате выполнения скрипта, до выполнения скрипта эта переменная содержит значение предыдущего реквизита;

Реквизит - Идентификатор реквизита которому присваивается данное значение в данном вызове функции;

НовыйДокумент - Переменная содержащая ссылку на вновь создаваемый на основании документ;

Т.О. можно использовать эти переменные при описании скрипта.


=== НОВЫЕ ВОЗМОЖНОСТИ в НОВОЙ ВЕРСИИ v7.7.005 от 17.08.2009 года===

Добавлена попытка загрузки FormEx - в случае удачной попытки введенный на основание документ перед открытием
не записывается.
поиск компоненты производится в следующий местах:

СписокВозможныхМест.ДобавитьЗначение(КаталогПрограммы()+"FormEx.dll");
СписокВозможныхМест.ДобавитьЗначение(КаталогИБ()+"FormEx.dll");
СписокВозможныхМест.ДобавитьЗначение(КаталогИБ()+"ExtForms\FormEx.dll");
СписокВозможныхМест.ДобавитьЗначение(КаталогИБ()+"ExtForms\PrnForms\FormEx.dll");
СписокВозможныхМест.ДобавитьЗначение(гПуть+"FormEx.dll");

Исправлена ошибка - ранее не возможно было устанавливать дату вводимого на основание документа.

Если на основании данного документа возможно ввести только 1 вид документа, тогда диалоговое окно с выбором вида не выводится на экран а сразу выводится документ...

В архив добавлен загрузчик обработки: Если у вас несколько одинаковых баз что бы не настраивать одно и тоже на все базы добавлен файл zapusk.ert, теперь достаточни его поместить в PrnForms, а обработку vvodosn.ert в любое доступное место, в регистрации печатных форм регистрируете zapusk.ert. При первой попытки ввода на основании откроется диалог в котором необходимо указать путь к обработке vvodosn.ert, и в дальнейшем загрузчик будет перенаправлять данные в эту обработку... т.о. из разных баз можно попасть в
одну обработку с одинаковыми настройками...

 


==============================================
PS. Это еще не все! Есть еще идеи по наращиванию функционала обработки, но для этого не хватает плюсов :))) Активней плюсуйте коллеги...
PPS. Если есть идеи по усовершенствованию обработки, высказывайтесь, с удовольствием реализую...

 

Файлы обработки:

-