gifts2017

Обучение: Учимся строить запросы

Опубликовал GSoft. (GSoft) в раздел Программирование - Практика программирования

Маленькая обработка для желающих изучить (если таковые остались)))) программирование запросов в 1С:Предприятие 7.7, а также понять принципы их работы

Написал несколько лет назад когда преподавал курс программирования в 7.7 для слушателей.

По ссылкам - сама обработка и базовая конфигурация сданными применительно к которым и используется запрос в примере.

Помимо этого в конфигурации несколько отчетов в которых можно посмотреть базовые приемы программирования и некоторые фишки

 

Можно использовать совместно с "Исполнителем запросов 1с7.7"  от

 

для дальнейшего изучения:

 

Пример сложения времени

Пример сложения времени - описание

Рекурсия в 1С

Рекурсия в 1С - описание

Методическое пособие: программирование в копоненте "Бухгалтерский учет" + полезные ссылки

Методическое пособие: программирование в копоненте "Бухгалтерский учет" + практические задания

 

 

Краткое пояснение механизма работы запроса

(в моем представлении)

 

Идея запроса заключается в том что он как бы собирает данные не последовательно, как при переборе, а параллельно. То есть запрос это некое сито, размер и форма которого определены переменными и условиями. А результат выполнения запроса - это те "крупинки" информации проходящие сквозь сито, и пригодные для дальнейшего использовния. В итоге мы получаем некий первичный набор данных, образно представленный на рисунке Рис. 3823 . "Промежуточная таблица". Ни пользователь ни программист эту таблицу не видит, так как Работа запроса еще не окончена - из промежуточной таблицы путем "сворачивания" (смотрите метод Свернуть() для таблицы значений) получется необходимая информация - результат выполнения запроса.

А далее уже начинаем обход результата выполнения запроса, который в зависимости от настроек запроса может иметь итоговые значения или не иметь. Надо заметить что итоговые значения можно всегда получить дважы: при входе в нижестоящую группировку и при выходе из нее. Это к вопросу о том - а как получить в отчете сумму по группе вверху группы: то есть сначала идет группа и сумма, а потом элементы группы (см. Рис. 3822 - сводная стоимость заказов сотрудника).

Аналогично дело обстоит и с общими значения всего запроса - по окончания обхода всех группировок мы возвращаемся в начало результата выполнения запроса и тем самым можем еще раз получить результирующие значения - в "подвал" отчета.

Ну и окончании мы можем получить нечто подобное представленное на Рис. 3822 . Шаблон таблицы и заполненная таблица с данными. Где изображен вид шаблона таблицы отчета в конфигураторе , и заполненная таблица которая получается в результате работы отчета в режиме предприятие.

 

Надеюсь этот краткий экскурс Вам поможет в освоении запроса, так как по опыту преподавания - это самая сложная область при изучении работы см базовыми объектами.

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

Наименование Файл Версия Размер Кол. Скачив.
Базовая конфигурация
.1242854923 754,80Kb
25.09.09
1227
.1242854923 754,80Kb 1227 Скачать
Обработка "Описание запроса"
.1242854980 186,17Kb
18.12.09
853
.1242854980 186,17Kb 853 Скачать

См. также

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

Комментарии

1. Андрей Скляров (coder1cv8) 21.05.09 08:14
Неужели еще кто-то учит 7.7??? :)
2. GSoft. (GSoft) 21.05.09 09:51
а сколько у нас учетных систем до сих пор на базе семерки работают?
пока еще довольно много
3. Филипп (Филипп) 21.05.09 14:26
И еще долго будут работать в 7.7, особенно там, где самостоятельно доработанные конфигурации под особенности учета.
4. GSoft. (GSoft) 21.05.09 17:09
я знаю конторы которые на 6ке работают
в свое время в начале 2000х работал в фирме которая еще 2.0 для доса использовала
5. ad bo (adakabo) 21.05.09 20:39
отличная работа брат :thumbs up (законный +)
странно что раньше не нее не натыкался
6. Shaman (Shaman342) 21.05.09 21:01
(1) козу еще из носа достань и об пиджак вытри!
7. Александр Венгер (venger) 21.05.09 22:11
(1) Неужели восьмерку надо учить, прежде, чем там ваять?:-)))) Доставая козу из носа и вытирая о дырявые и засаленные семейные трусы сидя на кухне и почухивая рукой в трехнедельной щетине:-)))))
8. as108 (AS108) 22.05.09 00:09
(1) Учим-учим, спасибо большое автору за полезный материал, у нас ГБ в бюджете про восьмёрку даже слышать не хотят, а вот настроенная под них семёрочка всех устраивает, привыкли уже, да и обкаталась она за столько лет, ошибок практически нет, не то что в 8 :)
CrazyMihey; Sonny2009; peveronika; smirnov.a; +4 Ответить
9. GSoft. (GSoft) 22.05.09 00:37
если будет желание выложу практические материалы: конфигурации по каждому занятию курса обучения по базовым объектам и всем трем компонентам. Пример можно увидеть http://www.infostart.ru/projects/826/ - в архиве практические задания по компоненте Бух. учет
CrazyMihey; peveronika; +2 Ответить 2
10. GSoft. (GSoft) 22.05.09 00:40
(5) не натыкался - потому что я ее только вчера выложил))))))
как то и забыл что такое есть в арсенале)
11. GSoft. (GSoft) 22.05.09 01:16
Добавил краткое описание работы механизма запроса
12. Олег Пономаренко (O-Planet) 22.05.09 05:02
(1) Кто не знает 7.7, того и программистом 1С сложно как-то именовать ;)
13. o.nikolaev.infostart (o.nikolaev) 22.05.09 10:07
Очень качественно проделанная работа.
14. alexandrlevitsky (alexandrlevitsky) 22.05.09 11:07
Знать неплохо было б и 7.7, и 8.1, ИМХО. Использование инструмента (7.7 или 8.1) диктуется поставленной задачей. Ведь нельзя говорить, что большой молоток однозначно лучше, круче и "современней", потому что если дать сапожнику большой молоток вместо маленького, то обуви он сделает немного... да и пальцев себе отобьет немало.
Так же и ЧП или небольшое предприятие, у которого каждая копейка на счету, не особо нуждается в 8.1 с необходимым (возможно и недешевым) апгрейдом компьютера. Ему лучше построить учет используя более скромный иснтрумент.
Craig; SergioP; motogon; GSoft; +4 Ответить
15. Сергей Ожерельев (Поручик) 22.05.09 12:17
Страшно и подумать о возврате или каких-то работах на 7.7. За два года реструктуризация образа мышления необратимая. Как я буду работать на 7.7 без восьмёрочных наворотов?
16. as108 (AS108) 23.05.09 10:41
(9) Желание есть! Выкладывайте, будем очень признательны :)
К сожалению, курсы по программированию в 1С 7.7 не проводят в самой 1С,
думаю, по понятным причинам. А специалисты востребованы, особенно в бюджете -
там каждый год меняют инструкцию. Мне, например, поневоле пришлось
переучиваться на программиста, потому как не было специалиста
на внедрение ЗиК, а в декабре 2008 года ввели НСОТ в бюджете,
работы - непочатый край. (НСОТ - новая система оплаты труда, раньше была ЕТС - единая тарифная сетка, которую отменили). Это я так, для справки :)
peveronika; +1 Ответить
18. SvetikND (SvetikND) 27.05.09 05:26
Спасибо за материал. Сейчас у многих фирм нет возможности по материальным причинам переходить на восьмерку. Очень актуально!
19. Vladimir (elan) 27.05.09 06:33
Лишней дока не бывает. Часто узнаеш новое даже там где вроде бы все уже знаеш. А 1Совский язык запросов весьма мудрен и непонятен в отличие от SQL (нафига было изобретать велосипед). Работаем на семерке, есть определенные неудобства, но на восьмерку переходить не собираемся цена вопроса не соответсвует стоимости проблем. А все навороты восьмерки всего лишь запоздалое повторение уже давно имеющихся в других средах возможностей, преподносимых кстати как революционный прорыв. Маркетинг твою его. А кто хвалит восьмерку как правило зарабатывает на ее продаже.
Не совсем в тему может кто объяснит механизм работы запросов 1С на SQL базе. 1C что на SQL свои звпросы переводит что ли? Это же какой тормоз получается?
20. Hamlet (Hamlet) 27.05.09 08:56
Однозначно +
И семерка еще пару лет своих проживет.
21. Boxa (Boxa) 27.05.09 15:30
7 жива и будет жить, точно: дока лишней не бывает
22. napala@ (napala@) 28.05.09 07:42
(1) а у вас уже весь город и на ОС Vistа першел? и компутеры в конторах готовы к полету в космос? Нет, вы не правы, старое, доброе НЕЛЬЗЯ так не уважать! В 7.7 еще много возможностей, и еще больше для творчества ;)
+ за автора!
23. GSoft. (GSoft) 28.05.09 10:26
к сожалению с вистой проблемы - покупал после нг ноут сестре, там виста, хр так и не удалось поставить, пришлось висту вернуть(((((
24. larissa builova (larisab) 28.05.09 10:58
(23) А что за проблемы у 77 под Вистой, кроме кодовой страницы?
25. Александр Рытов (Арчибальд) 28.05.09 11:05
(24)ВК не хотят вызываться. Категорически. Даже если вся защита отключена напрочь.
А что там с кодовой страницей? Не замечал проблем.
26. larissa builova (larisab) 28.05.09 11:09
27. GSoft. (GSoft) 28.05.09 11:10
(24) я имел ввиду что проблемы с массовым наступлением и отсутствием выбора
28. larissa builova (larisab) 28.05.09 11:10
Текущая кодовая страница
29. larissa builova (larisab) 28.05.09 11:16
(27) Ааа, я сначала тоже сопротивлялась, а потом решила попробовать и понравилось, теперь что ХР, что офис 2003 кажутся неудобными, не первый раз перепривыкаю к ОС:)
30. Валерий (valbir) 03.06.09 08:18
++++
работает и будет работать!
люди (ю_звери) довольны! 99 прОцентов даже и не знают что такое 6, 7 или 8!
накладная, чек, приходник знают!
у меня 10 разных контор (реальная работа, не бюджетные крысы) на моих настройках в 6-ке еще работают спасибо говорят, и не думают менять. Если бы не прыжки каждый месяц (вот вам новый налог, вот вам новый бланк, фактура такая фактура сякая) от ДАРМОЕДОВ с КРЕМЛЯ! и без 7-ки бы обошлись! Как легко формы в 6-ке делать кто нибуть помнит?
"не содавай себе сущности без надобности" (библия)
31. GSoft. (GSoft) 03.06.09 16:58
это верно, сам знаю пару контор работающих на 6ке, причем далеко не маленьких
32. Игорь Исхаков (Ish_2) 03.06.09 17:28
Прочитал :

"Идея запроса заключается в том что он как бы собирает данные не последовательно, как при переборе, а параллельно. То есть запрос это некое сито, размер и форма которого определены переменными и условиями. А результат выполнения запроса - это те "крупинки" информации проходящие сквозь сито, и пригодные для дальнейшего использовния. "

С точки зрения преподавателя - этот текст доходчив для начинающих пользователей 77 ? Вопрос спорный.
Попытки образно объяснить механизм запросов к БД для пользователей 77 редко бывают удачными . И нужно ли это делать (образно объяснять) - тоже вопрос.
33. Игорь Исхаков (Ish_2) 03.06.09 17:38
В (32) речь идет , разумеется , лишь о способе подачи материала.
34. GSoft. (GSoft) 03.06.09 19:03
я преподавал три года и перепровобовал массу вариантов
К сожалению за то малое время, которое отводилось на запрос(а я его относительно стандартной программы еще больше увеличивал) вдаваться в теорию баз данных попросту не получалось. В то же время не объясняя механизм работы информаия в целом тоже не воспринималась.

Важно было сохранить баланс - небольшое время на пояснение\положительное восприятие материала


А это тот пример который прижился)) и проверен на большом количестве людей.

Тел пять назад задавался вопросом о работе механизма в 7ке - ничего тогда толком и не нашел, а потом как то и не надо было.
35. Игорь Исхаков (Ish_2) 03.06.09 19:12
36. Михаил Егорычев (mihos) 11.06.09 12:12
(20) Думаю, поболее...
Многие от 8-ки в шоке... Типа, сыровата ещё... А в 7.7 есть все, что нужно буху.
37. влад ком (оао) 21.08.09 10:40
у кого-то семерочка вчерашняя, но прочная, а у кого-то понты восьмерочные...
не стоит семерку списывать со счетов, а знание никому не мешает... спасибо автору..
38. Александр Рытов (Арчибальд) 21.08.09 10:49
(30) Цитата неверна.
Этот принцип ("Бритва Оккама") сформулировал еще Аристотель ("Принцип достаточного основания").
39. Oskar (oskar) 20.12.09 11:34
очень интересно, для начального програмировая очень полезна +
40. Anatoliy (NOVOPRO) 21.09.11 04:33
Хорошая разроботка посмотрим всегда есть чему научиться новому.
41. Dmitry Bas (b-dm) 26.10.11 13:39
(9) - спасибо большое. было бы самое чудесное, если бы все материалы были выложены все вместе, а также где то с возможностью свободного скачивания. очень и очень полезно для обучения.
42. Nazim (Nazim) 21.01.12 15:01
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа