Имя: Пароль:
1C
1С v8
Получить источники данных (регистры) к которым обращается документ
0 ka3a4ok
 
20.02.14
11:24
Задача: Необходимо программно узнать все регистры, к которым обращается документ (именно обращается запросом, а не делает движения). Либо, наоборот, перечислить документы, которые выбирают данные из определенного регистра.

Цель: быстро получить представление о работе незнакомой конфигурации в виде схем "регисты -> документ -> регистры", либо "документы -> регистр -> документы (отчеты)".

Первое что приходит в голову - это работать с текстом: анализировать модули документов, искать в них запросы, а в запросах источники данных.

Может кто предложит более изящный путь или пнет в нужную сторону)
1 hhhh
 
20.02.14
11:29
(0) пустая трата времени. НУ допустим, вы узнаете, что документ обращается к 70-ти регистрам. А другой документ, например, к 80-ти регистрам. Нарисуете схему на 13-ти листах. Потом ее благополучно выбросите.
2 Cube
 
20.02.14
11:29
(0) "Первое что приходит в голову - это работать с текстом: анализировать модули документов, искать в них запросы, а в запросах источники данных."
Не взлетит.

"Может кто предложит более изящный путь"
Надо тебе поспать...
3 ka3a4ok
 
20.02.14
11:44
(1) ну и пусть 70! за то я сразу буду видеть, есть ли среди них регистр, в который я, скажем, собираюсь кое-что записать. Ведь меня интересует и вторая схема, где я хочу видеть все документы, которые обращаются к этому регистру
4 ka3a4ok
 
20.02.14
11:45
(2) Да только полдень, рано еще спать)
Почему не "взлетит"?
5 shuhard
 
20.02.14
11:51
(0) ржал
душевно
в УПП 350 документов и 180 Рг
6 Torquader
 
20.02.14
11:53
(5) Ну, если он это осилит - то будет громадный профит - другое дело, что переписать 1С, наверное, проще.
7 ka3a4ok
 
20.02.14
12:13
(5) Ну ведь ОДИН отдельно взятый интересующий меня документ НЕ обращается ко всем 180 регистрам!!! И один регистр не используют все 350 документов!
Поймите, мною движет ЛЕНЬ))) Я не хочу изучать ту же вышеупомянутую УПП целиком, а хочу быстро убедится в том, что моя доработка не навредит работе других модулей конфы...

Чушь несу?)
8 hhhh
 
20.02.14
12:29
(7) ну он в разных вариантах. Допустим Приходный ордер. там 15 разных операций по кассе, они выбирают из разных регистров. Может вы из этих 15-ти используете 2. А регистры ты все перепишешь и будешь скрупулезно изучать.
9 Eugene_life
 
20.02.14
12:32
(7) чтобы доработка не навредила работе других модулей, она не должна менять данные (удалять, изменять), оставленные другими модулями. Вот и все.
10 ka3a4ok
 
20.02.14
12:46
(8) (9) Я немного не корректный пример привел... Здесь можно обойтись глобальным поиском в конфигураторе)
А все-таки на стадии, так сказать, проектирования лучше иметь графическое представление. Так проще определить объект, который нужно доработать. Как-то так...
11 Eugene_life
 
20.02.14
12:51
(10) ИМХО - такая схема совершенно бесполезна, и просто зря потраченное время. Нужда в ней будет возникать редко, а сил на составление уйдет много.
12 Torquader
 
20.02.14
12:57
(11) Если регистры упомянуты явно, то такое просто, если где-то в функцию передаётся имя регистра (или особенно часть) то задача явно становится нетривиальным.