gifts2017

EXPLORER.ERT (Хирург)

Опубликовал Шевков Игорь Сергеевич (smrostov) в раздел Обработки - Обработка документов

Это универсальная обработка, которая может изменять элементы справочников, и реквизиты документов; перепроводить и отменять проведение документов, удалять и печатать; исправлять номера.
Хирургия в 1С

Для чего нужна хирургия? Да, как и в обычной жизни, для экстренных вмешательств в самом крайнем случае. А в нашем случае - это корректировка данных при переносе из одной базы или версии в другую, исправление застарелых ошибок или переделывания принципов учета задним числом…
Описание EXPLORER.ERT

Автор: Юрий Цыбулин.

Это универсальная обработка, которая может изменять элементы справочников, и реквизиты документов; перепроводить и отменять проведение документов, удалять и печатать; исправлять номера.

Итак, по порядку:
1. Отбор вида обработки.
  • Выбираем, с чем работать ("Документ" или "Справочник")
  • Будут ли изменения в рамках транзакции или обычным способом (при транзакции в момент обработки никто из пользователей не может поменять данные, и если в ходе обработки возникнет ошибка, то отменятся и все предшествующие изменения с начала транзакции). С транзакцией работает быстрее и надежней, но простаивают другие пользователи
  • Далее выбираем конкретный справочник либо документ (выбрать нужно обязательно, даже если первый указанный в списке нас устраивает, для запуска заполнения списка атрибутов)
  • При выборе документов, если нам нужно работать с одним документом - просто выбираем его в списке, если несколько - закидываем в список кнопкой >>, если все - отмечаем галочку "Все".
2. Отбор по реквизитам.
2.1. Документ
  • Период обработки документов (если весь - то пустой)
  • Вид документа - проведённые, непроведенные и те, и другие (совсем без галочек не работает)
  • Возможно, отобрать конкретный документ (обычно для проверки правильности изменения реквизита)
  • Отбор по значению атрибута. Если нужно - ставим напротив галочку и отбираем реквизит и его значение, иначе без галочки
  • Выражение - для более хитрых условий, пример, "док.СуммаВзаиморасчетов>200" - этот пример работает в комплексной конфигурации, для других - необходимо знать названия реквизитов документов и справочников, используются служебные слова "док." для документов и "спр." для справочников.
  • Кнопка <...> - позволяет просмотреть и выбрать выражение из истории введённых ранее выражений.
  • Кнопка <X> - очищает строку.

2.2. Справочник
  • Отбор элемента или группы справочника
  • Дата атрибутов. При отборе или установке периодических реквизитов, программе нужно знать, на какую дату устанавливать значение
  • Отбор по значению атрибута. Если нужно - ставим напротив галочку и отбираем атрибут и его значение, иначе без галочки
  • Выражение - для более хитрых условий, пример, этот пример работает в комплексной конфигурации, для других - необходимо знать названия реквизитов документов и справочников, используются служебные слова "док." для документов и "спр." для справочников: "(ПустоеЗначение(спр. Сайт)=1) и (ПустоеЗначение(спр. ЭлПочта)=1)" - для справочника "Контрагенты", в комплексной конфигурации, отбирает всех контрагентов без сайта и электронной почты.
  • Кнопка <...> - позволяет просмотреть и выбрать выражение из истории введённых ранее выражений.
  • Кнопка <X> - очищает строку.
3. Действия.
3.1. Документ
  • Провести документ
  • Отменить проведение уже проведенных документов
  • Удалить полностью документ
  • Перевыбрать строки - иногда необходимо выполнить набор действий в комплексной конфигурации:
    • установить в документе = основной единицы товара в справочнике "Номенклатура" и коэффициент этой единицы;
    • очистить партию, если есть;
    • установить в документе = ставку НДС из карточки товара;
    • пересчитать сумму НДС и сумму НП
  • Печать - просмотр или распечатка списка документов соответствующих условию отбора
  • Изменить значение реквизита:
    • на конкретное значение - пункт "значение" отбираем сам реквизит и его значение, если реквизит не шапки, а таблицы, то ставим галочку "Реквизит табличной части"
    • на выражение - например удвоить сумму "док.сумма*2"
  • Очистить - для документов не используется, при необходимости можно приравнять пустому выражению
  • Исправить нумератор документа, полезно когда кто-то нарушил порядок следования номеров и обнаружили месяца через 2. Работает следующим образом:
    • Кнопка <Диагноз>- просто сравнивает длину кода документа с введённым шаблоном, например "РНк-000000" - выдает процент соответствия документов этой длине кода.
    • Кнопка <OK> - шаблон анализируется на постоянную и переменную часть, в нашем примере "РНк-" -постоянная часть, а "0" и "1" переменная. - если длина кода документа отличается от шаблонной, то переменной части добавляется переменный фрагмент из шаблона "21" и шаблон "010000" дают "010021" - если такой код существует - программа пытается прибавить единицу и сохранить, при неудаче - сообщает об ошибке. В этом случае можно или исправить вручную, или изменить шаблон "РНк-000000" на "РНк-010000"

3.2. Справочник
  • Удалить полностью элемент справочника, если только удалять помеченные на удаление, то ставим галочку
  • Печать - просмотр или распечатка списка элементов справочника соответствующих условию отбора " Изменить значение атрибута:
    • на конкретное значение - пункт "значение" отбираем сам атрибут и его значение
    • на выражение - например в справочник "Номенклатура" удвоить минимальный остаток "спр. МинОстаток*2"
  • Очистить - полностью очищает историю периодического атрибута
  • Исправить нумератор справочника. Работает следующим образом:
    • Кнопка <Диагноз> - просто сравнивает длину кода элемента с введённым шаблоном, например "00000000" - выдает процент соответствия элементов этой длине кода.
    • Кнопка <OK> - шаблон анализируется на постоянную и переменную часть, в нашем примере "" -постоянная часть, а "0" и "1" переменная. - если длина кода элемента отличается от шаблонной, то переменной части добавляется переменный фрагмент из шаблона "21" и шаблон "01000000" дают "01000021" - если такой код существует - программа пытается прибавить единицу и сохранить, при неудаче - сообщает об ошибке. В этом случае можно или исправить вручную, или изменить шаблон "00000000" на "00010000"

Стоит оговориться, что все действия являются сильнодействующими и трудноисправимыми, поэтому следует предварительно сохранять данные в архив: В режиме конфигуратор - Администрирование - Сохранить данные, и если нужно восстановить, то - Администрирование - Восстановить данные.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
EXPLORER.ERT
.zip 23,42Kb
14.07.14
956
.zip 23,42Kb 956 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Доржи Цыденов (support) 25.04.06 13:49
Открываю форму, нажимаю кнопку "напечатать":
Док = СоздатьОбъект("Документ."+ ДокНаим);
{C:\DORZH\DOWNLOAD7\EXPLORER.ERT ХИРУРГ\EXPLORER.ERT(160)}: Неудачная попытка создания объекта
2. СМ (smrostov) 26.04.06 09:23
Всё верно. Обязательно нужно выбрать вид документа в списке.
Если нужно напечатать несколко видов, то после выбора в списке закидываем каждый вид кнопкой ">>" в список отбора.

Список отбора отчищается двойным кликом по нему.
3. starruslan13 06.05.06 13:52
Спасибо автору долго пытался сделать сам такое потом смотрю - есть такое (у меня изменять дату чето не получалось у документов менять)..........
4. Che Burashka 08.05.06 02:31
Хм... берем набор универсальных обработок с ИТС и имеем 90% зявленной в данной разработке функционала. Недостающее - пишем десяток-другой строчек для нужной нам обработки...
5. CaSH 03.06.06 21:55
Мда... По внешнему виду не блещет, интерфейс как у ребенка:) (В смысле кнопки разные, где попало). Это конечно дело вкуса, но есть же общие принципы... Ошибка действительно присутствует:((
Но СМ все равно МОЛОДЕЦ!!! Сделал и выложил! Так держать!!
6. Рекс (Tyranosaurus Rex) 25.12.06 19:26
В Больничных листах в упор не хочет перевыбирать строки....
Обыдно
7. Александр (dobraleks) 03.08.07 10:58
Спасиба большое за обработку у меня заработало.
У меня маленький вопросик..

Мне нужно перепровести документы Финрезультаты. Сначала я их делаю все непроведенными а потом провожу все.
Меня интересует выбор очередности проведения.

Обработка идет по времени как проведен документ и выбырает документ, или она идет по номеру документа.??
8. kairat primbetov (karat60) 01.10.07 11:15
10. rjhev korum (корум) 12.03.08 13:11
Суровый административный интерфейс.
Но когда надо БЫСТРО и МАССОВО выполнить какие-то действия - в самый раз!
+, однозначно.
11. Ирина (miroshka) 18.11.08 12:20
Отлично. Неренумеровал Справочник Номенклатура по Коду. Спасибо.
12. Марита бух (Марита Х) 20.09.09 10:23
Скачать скачала, а + и спасибо забыла.
Работает нормально, распечатка и перенум. по артикулу очень даже кстати.
gutentag; +1 Ответить
13. Алексей Максимов (megaalex) 14.10.10 09:51
В режиме Перевыбрать строки при расхождении в ставках НДС в документе и в карточке:
установить в документе = ставку НДС из карточки товара; отрабатывает нормально
пересчитать сумму НДС и сумму НП - НЕ РАБОТАЕТ, значение ставка меняет а сумму НДС нет;
надо добавить пересчет,
ГЛпересчетТАБЛчасти(Док,"СтавкаНДС");
после этого отработало нормально
14. xDee (xDee) 13.10.11 12:04
Неренумеровал Справочник Номенклатура по Коду. Спасибо.
15. Антон Найдёнов (Susirya) 18.10.11 15:06
У нас 3 базы (2 БУхии + 1 ТИС). Во всех пригодилась, но в БУхии - больше, когда последнее обновление прибавило веселья...
Как по мне интерфейсом все ок! Все сообразно смыслу... Спасибо жал.
16. Олег Почекутов (PochekutovOleg) 02.12.11 11:02
Интересная разработка У мненя работает
17. Наталья Егорова (kakashka) 16.02.12 15:55
Помоему нечто подобное уже есть в конфигурации ПУБ...
19. Артур Коржан (1v7) 13.06.13 16:07
Обработка супер! Помогает "жить". Плюсую.
20. Taras Shewchenko (yuyu1) 05.09.13 12:51
в отборе - ПустоеЗначение(док.РодительскийДокумент)=0

во вводе значения : Контрагент = док.РодительскийДокумент.Контрагент (кнопочку Выражение не забыл нажать)

Не вставляет!
21. Игорь Иванов (ketr) 13.01.15 11:15
(20) yuyu1, нужно поменять вот эту строку:

Док.УстановитьАтрибут(АтрНаимЗ,Спр1);

на что-то типа этого:
Контра = Шаблон("["+ЗначениеАтрЗВыражение+"]");
Спр1 = СоздатьОбъект("Справочник.Контрагенты");
Спр1.НайтиПоНаименованию(Контра,0,1);
Док.Контрагент = Спр1.ТекущийЭлемент();


Это я делал для того, чтобы работал шаблон Док.Договор.Владелец
22. Коллега Коллегович (kollegue) 10.04.15 14:03
обработка - Супер!

Помогите пожалуйста написать выражение для отбора...
мне нужно чтобы обработались документы Автора "user1",
валюта в которых установлена "Рубль РФ"

я поставил галку Автор=user1
а в выражении прописал "док.ПриходныйОрдерТБ.Валюта=Рубль РФ"
на что обработка ругается

'переменная не определена (Рубль РФ)
?(док.Валюта=Рубль РФ<<?>>,1,0)

и обрабатывает все документы, не взирая на валюту..
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа