Глава 8 Удаленное обучение

Традиционная форма обучения основывается на лекционных занятиях, лабораторных работах, коллоквиумах и семинарах. Такое обучение ведется по программам, которые составлялась десятки лет назад.
Утверждается, что такая форма обучения дает общие знания и основы системного мышления. Однако данная система обучения не решает проблему освоения насущных, пользующихся спросом навыков, для приобретения которых еще не составлен академический курс.
Возможны следующие варианты самообразования:
• самостоятельная работа с книгами,
• работа «подмастерьем» у специалиста,
• тусовки на форумах,
• обучение через Интернет (на семинарах) по методикам, разработанным практиками.
Казалось бы, тусовки (например, в студенческом кругу, среди специалистов какой-либо фирмы, на интернет-конференциях, форумах, семинарах) могут восполнить то, чего не найти в книгах. Однако обучающийся сталкивается с тем, что на его вопрос могут ответить, только если он четко сформулирован.
Есть еще одна проблема. Специалисты не тусуются в форумах, им не интересна публика, которая крутится там. Узнать что-либо новое или полезное для себя они не могут, поэтому обучившиеся специалисты (если только они не являются энтузиастами форумов или преподавателями курсов) постепенно вымываются из подобных образований. Другая проблема заключается в том, что оптимизацией работы новичка на форумах никто заниматься не будет, потому что мало кто из тусующихся может обладать видением проблемы.
Итак, требования к идеальной обучающей системе можно сформулировать следующим образом.
• С одной стороны, обучающая система должна давать академические знания, которые позволяли бы видеть общую картину, а не выборку ее фрагментов.
• С другой стороны, обучающая система должна обеспечивать прикладными знаниями, чтобы помочь обучающемуся решить любой практический вопрос.
Эти противоречия решаются использованием интернет-технологий. Все большее и большее количество специалистов открывают виртуальные курсы обучения. Обучение строится на принципе «мастер — ученик». Оттачивание мастерства идет в процессе решения конкретных задач, которые либо стоят перед учеником, либо предлагаются мастером. Мастер, как опытный лоцман, проводит ученика мимо множества подводных рифов и показывает, как правильно добиваться нужного результата. Мастер на проверенных опытом примерах объясняет азбуку системных знаний.
Конечно, ученик может и сам добиться нужного результата методом проб и ошибок. Однако беда новичка заключается в том, что он не всегда правильно оценивает задачу (сложное принимается за простое, а простое — за сложное), не может сформулировать вопрос (четко сформулированное условие — это две трети решения задачи), не знает, как проверить результаты своей работы (ведь он может изначально двигаться в ложном направлении и даже не подозревать об этом). Эти проблемы в одиночку решаются только временем. Нет ничего сверхмудрого в том, что освоили другие. Пройдет пять лет, и новичок будет недоумевать, почему он не понимал раньше таких элементарных вещей. Однако те, кому дорого время, выбирают обучение у специалистов.
Примеры обучающих заданий
Приведу примеры реальной переписки между преподавателем и обучающимся (студентом).
Работа со справочниками
Преподаватель: Требуется составить программу, которая перебирала бы справочник Товары и выводила на экран наименование товара и его ставку НДС. Посылаю вам шаблон кода, который следует проанализировать и переделать:
Процедура Сформировать()
спр = СоздатьОбъект("Справочник.Контрагенты");
спр.ВыбратьЭлементы();
Пока спр.ПолучитьЭлемент() = 1 Цикл
Сообщить("" + Спр.Наименование + " " + Спр.Код) ;
КонецЦикла;
КонецПроцедуры
Студент:
Процедура Сформировать()
спр = СоздатьОбъект("Справочник.Товары");
спр.ВыбратьЭлементы() ;
Пока спр.ПолучитьЭлемент() = 1 Цикл
Сообщить("" + Спр.Наименование + " " + Спр.Код);
КонецЦикла;
Сообщить(Константа.ПолучитьАтрибут("СтавкаНДС"));
КонецПроцедуры
Преподаватель: Программа написана почти правильно. Следовало заменить Контрагенты на Номенклатура. И еще: примеры следует проверять на работоспособность. В «Торговле» 9.** нет справочника Товары!
Студент:
Сообщить(Константа.ПолучитьАтрибут("СтавкаНДС"));
Преподаватель: Задание сделано некорректно. Я просил выдать каждое значение НДС товара (то есть много значений, а не одно значение). Кстати, ставка НДС прописывается в карточке товара. Посмотрите в Конфигураторе раздел Справочники.
Прошу изменить код.
Студент: Я не понял задания. Наверное, так? Но у меня не получилось.
Пока спр.ПолучитьЭлемент() = 1 Цикл
Сообщить("" + Спр.Наименование + " " + значение НДС) ;
КонецЦикла;
Преподаватель: Правильно было бы написать так:
Пока спр.ПолучитьЭлемент() = 1 Цикл
// Сообщить("" + Спр.Наименование + " " + значение НДС) ;
Сообщить("" + Спр.Наименование + " " + Спр.СтавкаНДС);
КонецЦикла;
Для того чтобы понять, что следует писать СтавкаНДС, а не НДС, надо открыть структуру справочника и изучить, какие поля там есть. В числе других полей там есть поле СтавкаНДС.
Кстати, вот это:
Сообщить(Константа.ПолучитьАтрибут("СтавкаНДС")) ; правильно писать так:
Сообщить(Константа.СтавкаНДС) ;
Реализация складского учета в продажных ценах
Преподаватель: Требуется организовать регистр, который учитывал бы, сколько товаров по определенной цене хранится на складе. За основу регистра можно взять регистр остатков.
Студент: Ничего не понял.
Преподаватель: Регистр остатков позволяет отвечать на следующие вопросы: сколько у данной фирмы — на данном складе — данного товара — хранится в штуках (я специально построил предложение так, чтобы отобразить структуру регистра).
При этом структура регистра будет следующая.
Измерения:
• Фирма,
• Склад,
• Товар.
Ресурсы:
• Количество.
Подумайте, куда следует внести еще одно поле Цена — в измерения или в ресурсы. Попробуйте проанализировать структуру других регистров.
Студент: Наверное, следует цену занести в ресурсы.
Преподаватель: Неправильно. Следовало построить предложение по предложенному мной шаблону, тогда все получилось бы как надо, то есть так: сколько у данной фирмы — на данном складе — данного товара — по данной цене — хранится в штуках.
Студент: А почему нельзя цены записать в ресурсы?
Преподаватель: Потому что ресурсы могут ответить на вопрос «сколько?». Например: «сколько цен?», «сколько штук?», «сколько рублей?» А вам нужно отвечать на вопрос «какие?» (какие товары, какие фирмы, какие цены). На вопрос «какие?» отвечают измерения регистра.
Работа с таблицей значений
Преподаватель: Теперь, опираясь на сконструированный в предыдущем примере регистр, напишите программу, которая сообщала бы результат для каждого товара в формате:
Цена, Количество.
Студент: Скажите, я двигаюсь в верном направлении?
Per = СоздатьОбъект("Регистр.ОстаткиСЦенами");
остК = Рег.Остаток(Фирма,Склад,Товар,Цена,"Количество");
Сообщить("" + остК);
Преподаватель: Направление вы выбрали верное. Посмотрите команду Вы-братьИтоги. В вашей программе вы нашли одно решение, а требуется найти все цены.
Студент: Вот так можно найти все цены по выбранной фирме, по выбранному складу и по выбранному товару:
ПроцедураСформировать()
Per = СоздатьОбъект("Регистр.ОстаткиСЦенами");
Per.УстановитьФильтр(ВыбФирма,ВыбСклад,ВыбНоменклатура);
per.ВыбратьИтоги( ) ;
Пока Per.ПолучитьИтог() = 1 Цикл
Сообщить("" + Per.Товар + " " + Per.Цена + " " +
Per.Количество +
" " + Рег.ТекущийДокумент() );
КонецЦикла;
КонецПроцедуры*
Преподаватель: Замечательно! Теперь следует модифицировать программу так, чтобы она корректно списывала товар. Допустим, в регистре по конкретному товару хранится следующая информация:
Цена |
Количество |
10 р. |
15 шт. |
11 р. |
70 шт. |
12 р. |
30 шт. |
Итого: |
115 шт. |
Вашей программе требуется списать 100 штук товара так, чтобы товар списывался в следующей очередности:
обуче 11 и е
162 Гл а ва 8.
У д ал
нос
Цена
Юр.
11 р.
12 р.
Количество
15 шт. 70 шт. 15 шт. 100 шт.
Итого:
Студент:
Процедура РазобратьПоЦенам ( )
// Создаем таблицу значений результатов обработки.
ТЗн = СоздатьОбъект("ТаблицаЗначений");
ТЗнРез = СоздатьОбъект("ТаблицаЗначений"); ТЗнРез.НоваяКолонка("НомерСтроки") ; ТЗнРез.НоваяКолонка("Номенклатура"); ТЗнРез.НоваяКолонка("Количество");
ТЗнРез.НоваяКолонка("Единица"); ТЗнРез.НоваяКолонка("Коэффициент");
ТЗнРез.НоваяКолонка("Цена") ;
// Создаем таблицу значений остатков товаров.
ТЗн = СоздатьОбъект("ТаблицаЗначений") ;
// Выгружаем остатки регистра цен в таблицу значений.
Per = СоздатьОбъект("Регистр.ОстаткиСЦенами") ; ВыгрузитьТабличнуюЧасть(ТЗн) ;
КолСтр = ТЗн.КоличествоСтрок() ;
ТЗн.ВыбратьСтроки() ;
Пока ТЗн.ПолучитьСтроку() = 1 Цикл
Per.УстановитьФильтр(Фирма,Склад,ТЗн.Номенклатура);
// Рассчитываем требующееся для списания количество товара. Кол = ТЗн.Количество*ТЗн.Коэффициент; per.ВыбратьИтоги();
Пока Рег.ПолучитьИтог() = 1 Цикл
// Сообщить("" + Рег.Товар + " " + Рег.Цена + " " +
// Рег.Количество,-ЕстьКол = Рег.Количество;
// Если остаток в регистре цен больше требующегося,
// списываем остаток и прерываем цикл.
Если ЕстьКол > ТЗн.Количество Тогда
ТЗнРез.НоваяСтрока();
ТЗнРез.Номенклатура = ТЗН.Номенклатура; ТЗнРез.Количество = ТЗН.Количество;
ТЗнРез.Единица = ТЗН.Номенклатура.ОсновнаяЕдиница; ТЗнРез.Коэффициент = 1;
ТЗнРез.Цена = Рег.Цена;
Прервать;
// Если остаток в регистре цен меньше требующегося,
// списываем остаток из регистра
//и уменьшаем требующееся для списания количество. Иначе
ТЗнРез.НоваяСтрока();
ТЗнРез.Номенклатура = ТЗН.Номенклатура;
ТЗнРез.Количество = ЕстьКол;
ТЗнРез.Единица = ТЗН.Номенклатура.ОсновнаяЕдиница; ТЗнРез.Коэффициент = 1;
ТЗнРез.Цена = Per.Цена;
ТЗн.Количество = ТЗн.Количество - ЕстьКол; КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Преподаватель: Молодец! Все правильно.
Условия обучения у автора книги

счет-фактура — оплата».
Автор книги ведет индивидуальные курсы обучения lC-программированию через Интернет. Для обучения необходимо иметь доступ к Интернету и возможность посылать и принимать объемы данных больше 5 Мбайт. Кроме того, для успешного обучения студенту желательно иметь навык печати вслепую.
Вот примерный список тем обучения:
• Справочники, документы, регистры, План счетов.
• Конструкторы отчетов, запросов, бухгалтерских отчетов.
• Периодические величины, подчиненные справочники.
• Теория бухгалтерского учета для программиста.
• Обработка цепочки документов, например цепочки «расходная накладная
• Запросы.
• Навыки постановки задачи программистом.
Конкретные условия обучения можно посмотреть на сайте .
Приложение А Конфигурации, отчеты и обработки, размещенные в Интернете

Конфигурации, отчеты и обработки, упомянутые в тексте книги, вы можете найти на сайте издательства «Питер» по адресу в материалах, прилагающихся к данному изданию.
В архив включены следующие файлы:
• FileOOl.zip — конфигурация учета возвратной тары при помощи забалансового счета.
Следует обратить внимание на забалансовый счет ТАР.
• File002.zip — конфигурация, использующая забалансовый счет для учета товара в продажных ценах. Следует обратить внимание на счет 41 («Учет товара в покупных ценах», балансовый счет) и счет П («Учет товара в продажных ценах», забалансовый счет).
• File003.zip — обработка «Сбор мусора 62», решающая проблему пересортицы между субсчетами счета 62.
• File004.zip — конфигурация, превращающая товары (счет 41) в материалы (счет 10), преобразуя при этом количества. Следует обратить внимание на документ «Требование-накладная».
• File005.zip — конфигурация, реализующая работу со счетом 20.
• File006.zip — конфигурация, в которой реализуется розничный учет в суммовом выражении. Следует обратить внимание на документ «Товарные отчеты розницы».
• File007.zip — отчет, формирующий книгу продаж по оплате без использования стандартных регистров.
• File008.zip — обработка, анализирующая продажи с оптовой фирмы и формирующая расходную и приходную накладные.
• File009.zip — отчет по определению последних неоплаченных накладных.
• File010.zip — отчет «Таблица оплат расходных накладных в хронологическом порядке без использования регистров».
• FileOll.zip — конфигурация, в которой реализован многофирменный учет при помощи компоненты «Бухгалтерия».
• FileO12.zip — конфигурация, демонстрирующая загрузку файла с накладной в программу.
Приложение А. Конфигурации, отчеты и обработки, разметенные в Интернете 165
• FileO13.zip — конфигурация «Учет работы группы программистов».
• FileO14.zip — конфигурация, в которой запрограммирована схема из главы «Постановка задачи для предприятия X». Следует смотреть модуль проведения расходной и приходной накладных, а также приходного кассового ордера и банковской выписки.
• FileO15.zip — конфигурация, в которой реализованы товарные отчеты розничной торговли «К». В конфигурации следует смотреть документ «Розница».
• FileO16.zip — конфигурация, в которой реализован учет кег. Следует обратить внимание на следующие объекты конфигурации: регистр «Кеги», модуль документов «Расходная накладная» и «Приходная накладная», процедура глобального модуля «Кеги», документ «ИнвентаризацияКег», отчет «Кеги».
• FileO17.zip — отчет «Пакетная печать документов».
• FileO18.zip — обработка, переносящая документы из одной базы данных в другую (справочники Номенклатура и Контрагенты, расходные и приходные накладные, приходные кассовые ордера и банковские выписки).
• FileO19.zip — конфигурация «Помощник писателя».
• File020.zip — отчет «Товар - Клиент».
• FileO21.zip — отчет «Акт сверки».
• FileO22.zip — отчет «Лист загрузки в автомобиль».
• FileO23.zip — товарный отчет в «Бухгалтерии», но по форме «Торговли».
Приложение Б Соглашение об условиях и порядке работы программиста
г. Хабаровск
« »_200 г.
Настоящим соглашением определяются условия и порядок взаимоотношений
между_(далее «Заказчик») в лице
_и_(далее «Специалист»).
1. Специалист выполняет работу по внедрению, модернизации, оптимизации и текущему функционированию программы «1С» в компьютерной сети Заказчика.
2. Специалист самостоятельно по согласованию с представителями Заказчика предлагает, а также по отдельным заявкам представителей Заказчика устанавливает, внедряет, отлаживает и налаживает наиболее рациональные и оптимальные варианты конфигурации «1С».
3. Специалист самостоятельно или по заявкам представителей Заказчика выполняет работу (но не более 30 % от общих объемов трудозатрат) по на ладке, настройке и мелкому ремонту компьютерной техники в рамках профессиональных знаний, соответствующих его уровню.
4. Специалист выполняет подбор третьих лиц и согласование с ними процедур и порядка действий при решении вопросов но функционированию компьютерной техники, находящихся вне его компетенции.
5. Специалист выполняет свою работу в объеме 288 часов в год, при этом отработка ежедневно фиксированного количества рабочего времени не является обязательной. Процесс работы Специалиста должен быть организован таким образом, чтобы не приводить к простоям в деятельности Заказчика.
6. Специалист обязан прибывать в офис Заказчика по телефонным заявкам в течение рабочего дня в согласованное время.
7. Заказчик обязан вести тетрадь учета посещений Специалиста с указанием дат, продолжительности работы и ее результатов под росписи заказчиков и Специалиста.
8. Заказчик обязан в согласованное время предоставлять Специалисту рабочее место.
9. Заказчик обязан оплачивать работу Специалиста из расчета_рублей
в месяц на условиях ежемесячной оплаты.
10. При необходимости Заказчик предоставляет Специалисту пропуск для въезда на территорию своей базы.
11. Заказчик может делать_экстренных вызовов Специалиста в месяц. Каждый вызов сверх этого количества оплачивается в сумме_рублей за вызов. Экстренным считается вызов, исполнение которого требует приезда Специалиста в течение менее чем 4 часов после получения заявки.
12. Заказчик предоставляет Специалисту доступ к компьютерной технике после 17.00, а до 17.00 — по согласованию с Заказчиком.
13. В случае расторжения договора Заказчик должен оплатить Специалисту фактически отработанное время из расчета среднечасовой оплаты.
14. Специалист может использовать для исполнения работ по договору третьих лиц.
15. Сумма по договору остается неизменной в случае, если количество отработанных Специалистом часов будет находиться в пределах 240-340 часов в год. При увеличении (уменьшении) количества отработанного времени свыше 340 (меньше 240) сумма договора увеличивается (уменьшается) из расчета среднечасовой оплаты.
16. Договор вступает в силу с момента его подписания и действует до «_»
_200 г.
Заказчик
Специалист
Приложение В Договор на обслуживание компьютерной техники и бухгалтерского программного обеспечения
Договор №
г. Хабаровск «_»_200_ г.
Предприятие_(в дальнейшем «Исполнитель») в лице_, действующего на основании
_, и_(в дальнейшем «Заказчик»), в лице
_, действующего на основании
_, заключили договор о том, что Исполнитель берет на себя обязательства, а Заказчик поручает выполнение работ по обслуживанию бухгалтерского программного обеспечения.
1. Порядок выполнения работ.
Исполнитель должен посещать Заказчика не реже двух раз в неделю. Заказчик имеет возможность сделать не более двух срочных вызовов в месяц. Под срочными понимаются такие вызовы, исполнение которых должно происходить не позже, чем через два часа. Заявки производятся на мобильный телефон программиста, работающего от лица Исполнителя_, или на телефон
2. Виды выполняемых работ.
• Обучение персонала бухгалтерской программе «1С».
• Поиск ошибок в базе данных и выработка мер но их устранению.
• Реконфигурация бухгалтерского программного обеспечения.
3. Оплата.
Оплата производится в размере_рублей в месяц. Оплата произво
дится ежемесячно в течение первой недели месяца.
4. Сроки выполнения заявки.
Договор действует в течение одного года, начиная с «_»_200_ г.
В случае прекращения договора одна из сторон должна предупредить противоположную сторону о намерении прервать договор.
5. Реквизиты. Исполнитель:,
Заказчик:_
Исполнитель
Заказчик
Приложение Г Пример проспекта программиста 1С-услуг
1С: Программирование бухгалтерскихсистем
Программист
Сергей
Михайлов
Я знаю,
как сделать лучше!
Вручную или на компьютере?
Внедрение сети торговых агентов, развертывание структуры филиалов, оптимизация налоговых выплат, минимизация запасов товара на складах, контроль дебиторской задолженности клиентов, проведение маркетинговых исследований, ведение еженедельного баланса предприятия — всё это невозможно без применения компьютеров.
Содержание раздела