IE 2017

EXPLORER.ERT (Хирург)

Обработки - Обработка документов

Это универсальная обработка, которая может изменять элементы справочников, и реквизиты документов; перепроводить и отменять проведение документов, удалять и печатать; исправлять номера.
Хирургия в 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
991
.zip 23,42Kb 991 Скачать бесплатно

См. также

Комментарии
1. Доржи Цыденов (support) 4527 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) 137 03.08.07 10:58 Сейчас в теме
Спасиба большое за обработку у меня заработало.
У меня маленький вопросик..

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

Обработка идет по времени как проведен документ и выбырает документ, или она идет по номеру документа.??
8. kairat primbetov (karat60) 01.10.07 11:15 Сейчас в теме
10. rjhev korum (корум) 313 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) 182 13.06.13 16:07 Сейчас в теме
Обработка супер! Помогает "жить". Плюсую.
20. Taras Shewchenko (yuyu1) 5 05.09.13 12:51 Сейчас в теме
в отборе - ПустоеЗначение(док.РодительскийДокумент)=0

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

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

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

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


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

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

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

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

и обрабатывает все документы, не взирая на валюту..
Оставьте свое сообщение