gifts2017

Просмотр реквизитов (8.1) v1.2

Опубликовал Buxxter (Buxxter) в раздел Программирование - Инструментарий

Обработка позволяет просматривать реквизиты объектов в ИБ (а также реквизиты табличных частей этих объектов). Полезна для программного создания корректных объектов (на основе интерактивно созданных).

Как и большинство лежащих здесь, эта обработка создавалась под свои нужды в ходе выполнения проекта по переносу данных из СУБД "Аспект" (БД на таблицах DBF) в УТ. При переносе документов, таких как, например, как поступление товаров и услуг, в УТ интерактивно создавался документ по всем нормам и стандартам, проводился (как контроль корректности документа), после этого ссылка на этот документ подсовывалась обработке и становилось ясно, какие реквизиты необходимо заполнить для программного  создания еще пицот тыщ таких документов (база с 2000 года).

Всю полезность обработки осознал, когда переносил скидки: программно создал документ установки скидок, воткнул контрагентов в одну ТЧ, ценовые группы номенклатуры в другую, записал, провел, открыл в торговле созданный документ - пусто. Оказалось, что забыл "ВидОперации" установить в "ПоЦеновымГруппам" (по дефолту стоит на "ПоНоменклатуре").

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

Обработка также будет полезна начинающим программистам как средство самоконтроля и обучения.

Совсем забыл: обработка умеет формировать код для программного создания объекта, подобного указанному.

 

В общем, юзайте, пишите комментарии и пожелания.

Единственная просьба: воздержитесь от комментариев типа "Я такую за 5 минут сваял, нефиг всякий трэш выкладывать". Если я НЕ нашел такой простой И полезнойИМХО обработки И на таком клевом сайте Тогда Выложил КонецЕсли;

История версий

(+ добавлено, - удалено, * исправлено, ^ переработано)

Версия 1.2

+ в примитивные типы добавлено описание типа (спасибо aves, aga_aga);

* исправлена обработка вставки значений в заполнении табличных частей (aves, как всегда);

^ по просьбам трудящихся значения перечислений вставляются в код вместе со значениями примитивных типов (раньше считалось ссылочным типом).

Версия 1.1

+ вставка в код значений реквизитов (спасибо aves);

+ вставка типа реквизита в комментарий кода;

* исправлена ошибка с отступами при формировании кода.

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

Наименование Файл Версия Размер
Просмотр реквизитов 1.2 60
.epf 15,41Kb
24.08.14
60
.epf 15,41Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. cs25 (cs25) 30.07.09 09:22
Сам много с "Аспектом" работал - понимаю тебя. Поэтому ПЛЮС !!! Ещё выложи обработину или алгоритм переноса из "Аспекта" в "УТ", если считаешь нужным конечно ...
2. Buxxter (Buxxter) 30.07.09 11:55
(1) Дело в том, что там не чистый "Аспект". В течение 7 лет его дорабатывали, в итоге там появились партии, ГТД, некое подобие "холдингов" 1С-овских, переработан механизм иерархии номенклатуры, валютный учет изменен и т.п. Поэтому обработка будет малополезна. А вот про алгоритм могу рассказать... возможно, кого-то наведет на светлые мысли в аналогичных задачах (если кому-то покажется интересным - оформлю отдельной статьей):

Итак, после недельного ковыряния в DBF-ках Аспекта (параллельно со сдачей диплома) и попыткой сопоставить реальность данных с документацией на БД (а в "Аспекте", надо заметить, изначально очень хорошее описание БД, только вот доработчики моей базы поленились) в голову пришла светлая мысль - ведь есть чудесная софтина от мелкомягких, называется Access!!! Это чудо предоставляет достаточно широкие возможности по импорту/экспорту. В ней можно создать таблицы, источниками данных которых будут мои DBF'ки. Так я и сделал... в итоге получил набор таблиц в БД Access, ну а дальше дело техники. В Access нарисовал схему данных, указал типы связей. Все стало вставать на свои места. Посмотрел на выполненную схему данных, вроде стало понятно, каким образом рассчитываются партии по гтд, по какому признаку объединяются контрагенты и т.п.
Все в том же Access с помощью конструктора запросов (а он там достаточно удобный, согласитесь) получил нужные мне выборки в удобной форме и без необходимости еще как-то объединять таблицы.
Дальше кому как удобней - можно импорт напрямую из Access, можно экспортом результатов запросов в *.xls(x), *.dbf и т.п.
Я использовал экспорт запросов в DBF, т.к. до Access начиналось все именно с этого, и обработка по импорту уже была готова.
К слову, для импорта из DBF в 1С использовалась компонента GameWithFire.

Вот такой вот универсальный метод переноса данных получился.

Позже работники фирмы, для которой делал перенос, использовали мою БД Access для поиска косяков в ведении учета (коих нашлось не мало, а в Аспекте их вообще нереально было найти).

Метод хорош тем, что для компоновки данных особых знаний не требуется - интерфейс Access интуитивно понятен, данные всегда актуальны (т.к. используется связь таблиц с файлами для импорта) , можно обойтись без написания кода в vba и не париться с компоновкой данных запросами (честно говоря, после моего перехода на 8.1 у меня уже сложности с написанием SQL запросов "от руки", в которых нужно объединить более 3х таблиц, а в Access конструктором запроса я без труда скомпоновал данные из 9 таблиц в одном запросе).
3. Buxxter (Buxxter) 30.07.09 11:56
Фигасе камент получился....
4. cs25 (cs25) 30.07.09 13:19
Сам вот делал загрузку из dbf-файлов сразу в 1С-ку. В основном конечно это касалось Справочников ...
5. Алексей Коробов (WiseSnake) 01.08.09 17:08
Обработка хорошая!
Только уберите, пожалуйста, фразу ", ставьте плюсы, если понравилось.". За Вас уже все написали. Сразу перед оценкой сообщества. А администрация рассматривает такие фразы как выклянчивание плюсов и не одобряет!
6. larissa builova (larisab) 01.08.09 18:10
7. Buxxter (Buxxter) 01.08.09 18:17
(6) ты про обработку или про импорт?
8. Buxxter (Buxxter) 01.08.09 18:18
(5) прошу прощения, в первый раз выкладываю что-то )
9. larissa builova (larisab) 01.08.09 19:00
10. Андрей Д. (detec) 03.08.09 14:36
11. Веселов Александр (aves) 03.08.09 15:29
Сам сейчас пишу правила из 77 в 8.
Действительно надо смотреть внутрь объектов, чтобы понять "как там внутри". Тут и писать ничего не надо. Консоль запросов и все. "Выбрать * Из ХХХ".
Так что из полезного - код. Если надо.

12. Buxxter (Buxxter) 04.08.09 00:06
(11) Это упрек? Если так, то, насколько я знаю, в Вашем варианте без временных таблиц не обойтись, а если еще и табличные части...

А Вы попробовали обработку в действии? Может быть Вы концепт не уловили?

З.Ы. Если неправильно понял, то прошу прощения.
13. Веселов Александр (aves) 04.08.09 10:43
(12) Нет.
Не понял насчет временных таблиц. Зачем? Консолью смотрю любые реквизиты шапки или любые ТЧ доков и спр. Смотри сколько влезет. Понятно, что в одним запросом не увидеть и реквизитов шапки и все ТЧ - сделай несколько запросов (1+КоличествоТЧ)
Вот в 7.7 такого универсального механизма нет.

Ну а формирование кода - плюс, если надо.
14. Анатолий Ситников (acsent) 04.08.09 11:02
Из обработки менять реквизиты можно?
15. Oskar (oskar) 07.08.09 09:57
16. Buxxter (Buxxter) 07.08.09 19:55
(14) Сори за задержку. А встречный вопрос: надо ли? Если исходить из цели - нет. Ведь изменение реквизитов, скажем, в документе вызовет необходимость его проведения... ну и т.д.
17. Buxxter (Buxxter) 08.08.09 14:47
(15) плюсы ставить не забываем ;)
18. Веселов Александр (aves) 21.08.09 13:11
При формировании кода не хватает заполнения реквизитов значениями. Если реквизиты НЕ справочники\документы, то их при формировании можно было бы и присвоить.
19. Buxxter (Buxxter) 21.08.09 13:15
(18) Не совсем понял. Т. е. формировать код для создания текущего одъекта? Если приведешь пример, когда этого нехватает - сделаю и обновлю. И спасибо скажу ;).
20. Веселов Александр (aves) 21.08.09 13:41
Пример:
Надо мне сделать новый док РеализацияТиУ. Беру готовый. формирую код. Тут ОК.
Потом руками пишу напротив отражать в учете истину, по перечислениям - тупо смотрю в обработку на вид и значение и пишу руками (Объект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия).
Если бы такие значения были уже присвоены согласно образцу - было бы быстрее.
А то работаю негром
21. Buxxter (Buxxter) 21.08.09 13:43
(20) ОК. На выходных сделаю. Спасибо.
22. Buxxter (Buxxter) 25.08.09 22:51
Обновил. Прошу прощения за задержку.
23. aga_aga (Збянтэжаны Саўка) 26.08.09 14:04
Еще, по-моему, надо бы добавить в "Тип значения" для числовых и строковых реквизитов и их длину.
24. Buxxter (Buxxter) 26.08.09 18:23
(23) Надо бы, тока я не знаю как :(
25. Веселов Александр (aves) 28.08.09 12:11
(21) ЗНАЧИТЕЛЬНО лучше. Однако:
1. Значения типа план счетов теряются при переносе в код. В доке есть, в таблице показывается, в коде пусто, только тип.
2. Перечисления в контексте данной задачи лучше считать не ссылочным, а заполнять сразу как и примитивные типы (число\строка\дата). То же вероятно относится и к плану счетов.
3. Может заполнять ТЧ по образцу первой строки? Не настаиваю.
4. Длина: Рекв.Тип.КвалификаторыЧисла.Разрядность и РазрядностьДробнойЧасти
26. Buxxter (Buxxter) 28.08.09 18:34
(25) 1. Догадывался, но не на чем было проверить :(
2. Согласен, но не придумал (или не додумал... уже не помню), как их вытаскивать. Имя же нельзя для элемента получить, а синоним не всегда с ним совпадает. Подскажите, как засунуть?
3. Она так и заполняется... проблема возникает, когда ТЧ пустая.
4. Спасибо, на этих выходных обновлю еще разок.
27. Buxxter (Buxxter) 28.08.09 18:38
(25.4) А со строками как (чеб не мучаться)? В т. ч. неогр. длины?
28. Веселов Александр (aves) 01.09.09 10:37
(26)
2. Не понял про перечисления. Они ж работают у тебя, тока заполняются вместе со справочниками. Пусть заполняются с числами и строками.
3. Анализирую реализацию. Формирует код ТЧ товары, но значения не подставляет. ТЧ не пустая.
4. Строки и т.п http://screencast.com/t/0VdrZ1vEgq
29. rutony rutony (rutony) 22.09.09 17:55
(+ добавлено, - удалено, * испраВлено, ^ переработано)

=))
30. Buxxter (Buxxter) 28.05.10 14:10
31. Григорий Алхимов (hemama) 06.12.10 17:06
Спасибо агромадное от обычного пользователя. несколько суток ручной работы съэкономила
32. Анатолий (hame1e00n) 25.01.13 01:58
Спасибо! Действительно очень нужная вещь!)))