Редактор объекта БД. Пометка на удаление
|
|
Shnur | Дата: Четверг, 26.03.2015, 03:23 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Оффлайн
| Добрый день. Огромное спасибо за инструмент, он как швейцарский нож все что нужно все есть в одном иструменте. В нашей комани я являюсь администратором баз данных, у нас РИБ со сложной структурой, и до моего прихода в базе накопилось куча помеченных на удаление обектов, обектов которые есть в одной базе, а нет в другой, дубли, "объект не найден", поврежденные объекты и т.д. Все это я пытаюсь привести в порядок, поэтому инструмент очень помогает. Есть предложение, если автору интересно то в дальнейшем выложу еще пару. Я очень много пользуюсь компанентом редактирование объектов(компонент супер, вожможность отредактировать табличные части и движение регистров, это адски помогает), но в интерфейсе этого компанента не хватает кнопки пометить на удаление. Кнопка удалить из БД есть, а вот пометить нет. Отсюда и предложение добавить кнопку пометить на удаление(на место удалить из БД), а кнопку удалить из БД на мой взгляд лучше переместить подальше от кнопок проведения и записи(вожможно в начало панели, но тут уж на усмотрение автора).
|
|
| |
tormozit | Дата: Четверг, 26.03.2015, 08:24 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6508
Репутация: 173
Статус: Оффлайн
| Кажется что установить флажок в значении реквизита "пометка удаления" не так уж и сложно. Для проведенных документов перед этим правда придется нажать "Сделать непроведённым". Установка пометки удаления для справочников и планов видов характеристик работает шире, т.к. еще обрабатывает их подчиненные и дочерние элементы. Видимо не хватает именно этой части функции?
|
|
| |
Shnur | Дата: Четверг, 26.03.2015, 09:29 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Оффлайн
| Спасибо за ответ, действительно о реквизите не подумал(но да, в таких случаях нужно сначала снимать с проведения документ, т.к. стандартная кнопка делает это автоматически, а установка реквизита как я понимаю - нет). То что вы предлагает на мой взгляд это излишне, т.к. пометка на удаление ставится чтобы потом обработкой удалением помеченных объектов убедиться что ссылок нет (поэтому кнопка удаления из базы редко востребована, но бывает нужна ). Плюс если так делать то можно огрести проблем, т.к. не всегда при масовой обработки документов смотришь на зависимости, и зависимости могут быть проведены, а главный документ нет или вообще помечен на удаление.
Сообщение отредактировал Shnur - Четверг, 26.03.2015, 10:49 |
|
| |
tormozit | Дата: Четверг, 26.03.2015, 19:57 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 6508
Репутация: 173
Статус: Оффлайн
| Не совсем понял, в итоге предложенный мной способ покрывает конкретную потребность?
|
|
| |
Shnur | Дата: Четверг, 26.03.2015, 20:50 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Оффлайн
| Обрисую ситуацию, может тогда поймете зачем это надо или подскажите другой вариант. Как я уже писал выше чищу базу, в базе есть документы которые нужно разпровести, при разпроведении документа ругается на дублирование значений, это обычно происходит если разпровожу документ исправление (т.е. документ который исправил другой документ.) В таком случае можно почистить этой обработкой регистры и документ разпроведется, но тогда не получиться разпровести исправленный документ(т.е. тот который был исправлен этим документом). Поэтому я обычно в реквезитах удаляю сыслку на объект исправления, разпровожу документ и помечаю на удалении, а потом групповой обработкой с контролем ссылок его удаляю и только потом уже разпровожу исходный документ(ссылку я соответственно удалял в этой обработке, а потом заходил в документ и нажимал кнопку пометить на удаление, что как понимаете не удобно т.к. приходиться скакать туда сюда). Вот по этому и нужна кнопка пометить на удаление точнее та операция которую она делает(т.е. стандартная кнопка у документов).
И еще вопрос можно ли как-то сделать так что в поле ссылка производился поиск не только по номеру "ДЛ000000001", но и по названию документа, например - "Прием на работу в организацию ДЛ000000001 от 10.01.2009 0:00:00"?
И еще ), в обработке удаление помеченных объектов прочему-то слетает фокус при просмотре зависимого объекта, точнее когда открываешь зависимый объект окно сворачивается, и приходиться кликать на панели чтоб его открыть, когда как сам удаляемы объект открывается нормально. Так задумано или баг?
Сообщение отредактировал Shnur - Четверг, 26.03.2015, 20:53 |
|
| |
tormozit | Дата: Понедельник, 30.03.2015, 08:24 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 6508
Репутация: 173
Статус: Оффлайн
| Обработка "удаление помеченных объектов" отсутствует в подсистеме. Видимо ты используешь платформенную форму. Туда на прикладном уровне вмешаться невозможно. Если же имеется ввиду инструмент "Удаление объектов с контролем ссылок", то требуется видео для понимания проблемы со "сворачиванием окна".
Поиск по названию документа реализовать нельзя.
Так и не услышал ответа на вопрос "предложенный мной способ покрывает конкретную потребность?". Судя по написанному, ответ должен быть утвердительным, т.к. можно нажать кнопку "сделать непроведенным", установить флажок "пометка удаления" и нажать кнопку "Записать". Неудобство в том, что приходится делать 3 действия вместо одного?
Сама прикладная задача описана сумбурно. Понять ее мне не удалось.
|
|
| |
Shnur | Дата: Понедельник, 30.03.2015, 12:32 | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Оффлайн
| 1. Да, "Удаление объектов с контролем ссылок(ИР)", при наведении на кнопу на панели (ИР) выскакивает всплывающая подсказка Удаление помеченных объектов (ИР), поэтому так и написал. Видео к сожалению выложить некуда, поэтому попытаюсь еще раз описать по шагам. Запускаем обработку, находим объекты, нажимаем контроль, выполнить удаление после контроля - нет(можно и да не суть важно). Теперь если выбрать объект у которого есть объекты ссылающиеся на него то в окне Ссылки на удаляемы объект: будет перечень ссылок на удаляемый объект, так вот если кликнуть по любому из этих ссылок то должно открыть окно объекта (документа, справочника, регистра), окно открывается, но тут же сворачивается. Это достаточно легко проверить что происходит именно так, я проверял и дома и на работе(конфигурация разная) эффект одинаковый. Добавлено (30.03.2015, 12:32) --------------------------------------------- 2. Я конечно не 1С программист(хотя небольшое представление о языке и платформе имею), как я понимаю поиск по названию документа это стандартная функция, она вызывается в обработке. Разве нельзя перед этой функция обработать текст "Прием на работу в организацию ДЛ000000001 от 10.01.2009 0:00:00", вычленить из него номер ДЛ000000001 и передать его в стандартную функцию?
3. Вы предложили Цитата Установка пометки удаления для справочников и планов видов характеристик работает шире, т.к. еще обрабатывает их подчиненные и дочерние элементы. Видимо не хватает именно этой части функции? Если так поступать с документами, то как я понимаю будут помечаться на удаление ссылающиеся на этот документ другие документы. Если - да, то я уже писал, такой функционал ненужен и вреден.
Я использую платформу 8.2. Почти в любой форме списка документов есть кнопка пометь на удаление, которая распроводит документ(не просто изменяет реквизит, но делает движение по регистрам), и помечает на удаления(ставит реквизит), именно об этом функционале(кнопке) я просил. На данный момент (если использовать компонент Редактор объектов БД (ИР)) надо, нажать кнопку сделать непроведенным, нажать да в появившемся окне, активировать реквизит пометка удаление, нажать кнопку Записать все.
Я распровожу документы стандартной групповой обработкой "Групповая обработка справочников и документов"(конфигурация ЗУП корп 2.5), после задания критериев и нажатия кнопки отобрать, появляется окно с проведенными документами. Далее выбираем действие, Проведение документа - снять. После окончания обработки 10-20 документов остаются проведенными из-за различных ошибок. Теперь мне надо в окне этой обработки кликнуть по документу, открыть его(документ), выбрать и скопировать номер, закрыть документ. Открыть компонент Редактор объектов БД (ИР), выбрать вид документа, вставить номер, выбрать нужный по дате, отредактировать, сохранить, нажать кнопку распровести, согласиться с расоведением, поставить пометку на удаление, нажать записать изменения. Дальше выбрать следующий документ, открыть его, скопировать номер, и т.д. по кругу.
Я здесь это описываю, не от нефиг делать, а чтобы показать что вроде бы несложные действие, но сколько приходится делать однотипных операций.
И что поэтому кнопка пометь на удаление все же нужна, ну и поиск но названию документа тоже).
|
|
| |
tormozit | Дата: Понедельник, 30.03.2015, 14:09 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 6508
Репутация: 173
Статус: Оффлайн
| 1. Теперь порядок действий понятен, но у меня не воспроизводится проблема. Окно ссылающегося объекта открывается и не сворачивается. Поэтому я и попросил снять видео, т.к. не достаточно информативно описаны условия воспроизведения (смотри требования http://devtool1c.ucoz.ru/forum/2-2-1). К тому же этот раздел форума не предназначен для описания проблем в работе программы.
2. Реализовать в общем случае это сложно, т.к. номер документа может содержать произвольные символы и выделить его из текста в может быть очень сложно. Например попробуйте описать алгоритм нахождения номера "234 по 167" в представлении документа "Расходная накладная на 234 по 167 от 10.01.2009 0:00:00". В ряде случаев мы получим даже ухудшение поведения программы, т.к. вместо поиска по номеру может быть ошибочно выполнен поиск по его части (например при вводе номера "234 по 167" ). Собственно поэтому это до сих пор никто и не сделал.
3. Непонятно, зачем использовать обработку "Групповая обработка справочников и документов", из которой нельзя сразу открыть "Редактор объекта БД (ИР)". Используй обработку "Подбор и обработка объектов БД (ИР)", откуда сразу можно открывать "Редактор объекта БД (ИР)". Там можно выполнить обработку "Отменить проведение документов", затем отредактировать обработанные с ошибками документы, снять пометки успешно обработанных и выполнить обработку "Пометка удаления".
|
|
| |
Shnur | Дата: Понедельник, 30.03.2015, 15:12 | Сообщение # 9 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Оффлайн
| 1. Ссылка не работает, при переходе выдает 404 страницу. Может у вас какие компоненты стоят(и я использую портативную версию, сом - компоненты зарегистрировал ) или от конфигурации как-то зависит, прикол в том что окно удаляемого объекта у меня открывается нормально, а вот ссылающиеся сворачиваются.
2. Не совсем понятно Цитата например попробуйте описать алгоритм нахождения номера "234 по 167" в представлении документа "Расходная накладная на 234 по 167 от 10.01.2009 0:00:00 , возможно в конфигурации Торговля применяется другая нумерация, но сколько я видел документов в зупе то там стандартно номер типа ДЛ000000001, либо сам задаешь номер типа у251, пр501 и т.п. С другой стороны можно сделать чтоб код искал стандартные номера т.е. ДЛ000000001, а во всех других случаях говорил что не правильно введен номер документа, но опять же могу чего-то не знать. По идеи (по крайне мере в зупе) название документа всегда начинается с типа документа "Прием на работу в организацию ДЛ000000001 от 10.01.2009 0:00:00", (Прием на работу в организацию - это тип) которое можно отбросить, а дальше всегда идет номер до "от". Поэтому можно все пробелы до 1-го символа номера и все пробелы от "от" (именно от "от", т.к. искать-проверять проще)к номеру не учитывать, а то что останется это и есть номер.
3. Я вначале пользовался инструментами которые у меня были, с ИР познакомился позже, и пока ее в основном использую в тяжелых случаях, хотя сейчас все больше и больше использую ее, по мере освоения. Ваш вариант возможно и подойдет, нужно попробовать, но есть нюанс: можно открыть только одну копию обработки, хотя это уже требование платформы насколько я понимаю, а иногда бывает нужно несколько копий, для разных действий, тогда правда запускаешь второе и третье окно программы.
Сообщение отредактировал Shnur - Понедельник, 30.03.2015, 15:21 |
|
| |
tormozit | Дата: Воскресенье, 05.04.2015, 07:49 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 6508
Репутация: 173
Статус: Оффлайн
| 1. Оформи проблему в соответсвующем разделе форума в виде отдельной темы по правилам, которые там описаны в верхней теме.
2. Записал пожелание сделать выбор ссылки документа при уже выбранном типе по представлению ссылки документа.
3. В большинстве инструментов в главной форме есть кнопка "Новое окно".
|
|
| |
Shnur | Дата: Пятница, 24.04.2015, 12:14 | Сообщение # 11 |
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Оффлайн
| 1. Ок, отлично что добавили кнопки передать в, очень удобно. 2. Спасибо за реализацию. 3. Ок, понял.
|
|
| |