Базовый курс. Финальное задание 29-го потока
Объявляем начало финала 29-го потока базового курса по программированию.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
Шаг1.
Два года назад пришлось переехать в другую местность и поменять профессию. Предыдущее очное обучение оставило большие пробелы в знаниях, поскольку преподаватели стремились прочитать материал по перегруженному плану, не уделяя достаточного внимания изучению тонкостей неочевидных моментов. Не было возможности еще раз вернуться к пройденному материалу, еще раз все прослушать, в отличие от видео уроков. Встреченные мной в сети интернет бесплатные уроки Е.Гилева понравились качеством изложения и манерой подачи материала. Просмотрев большое количество бесплатных курсов разных авторов, я поняла, что уроки Е.Гилева для меня лучший вариант. Купила сразу комплект курсов и не пожалела об этом.
Сразу после прохождения «Быстрого старта» приступила к изучению «Базового курса». Даже несмотря на несколько вынужденных перерывов в изучении курса, мне удалось завершить «Базовый курс», т.к. всегда была возможность вернуться к ранее пройденному материалу и освежить свои знания.
Курс очень понравился доступностью и системностью изложения материала.
Григорьева Юлия Александровна, г. Нижний Новгород.
Шаг2.
1) При открытии уже проведенного документа «Поступление», в реквизите «ИсточникПоступления» принудительно выставляется значение «Рождение на территории зоопарка».
Нужно в модуле формы документа поступления добавить проверку на «новый документ».
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Объект.Ссылка.Пустая() Тогда
Объект.ИсточникПоступления = Константы.ОсновнойИсточник.Получить();
КонецЕсли;
КонецПроцедуры
2) Если вводить новый документ «Поступление», то дата выставляется не текущая. Это неудобно.
Нужно в стандартном реквизите «Дата» очистить «Значение заполнения» «01.01.1980 0:00:00» .
3) Если вводить новый документ «Выбытие», то дата выставляется тоже неправильно.
Нужно в модуле объекта в процедуре «ОбработкаЗаполнения» убрать строчки
ДанныеЗаполнения.Вставить("Дата", '19800101');
4) При открытии документа «Выбытие» в тонком клиенте выдается ошибка.
Нужно перенести код в серверную процедуру «ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)».
5) Для удобства включила видимость регистров накопления на рабочем столе и в документах.
6) В документе «Инвентаризация» невозможно проставить нулевое фактическое количество животных.
Нужно в табличной части «Животные» этого документа, в свойствах реквизита «КоличествоФакт» проверку заполнения поставить в значение «Не проверять».
7) В документе «Инвентаризация» при нажатии кнопки «Заполнить» не выставляется признак модифицированности.
Нужно в форме документа «Инвентаризация» в конце клиентской процедуры «Заполнить» добавить Модифицированность=Истина;
8) При создании на основании документа «Инвентаризация» других документов удобнее было бы ставить дату самого документа «Инвентаризация».
Нужно передавать параметр «Дата» (ЗаполнитьНаСервере(Объект.Дата);), в запросе в параметрах виртуальной таблицы поставить период – &Дата. В самой процедуре «ЗаполнитьНаСервере» добавить
9) Вид регистра накопления «ВыбытияЖивотных» нужно изменить с «Остатки» на «Обороты». После чего перестает корректно работать отчет «АнализВыбытийЖивотных». Пришлось заново переделать отчет при помощи СКД.
10) В документе «Выбытие» не происходит контроля остатков.
Не учитывается сам документ. Нужно строчку кода
заменить на
11) В документе «Выбытие» при нехватке животного неправильно позиционируется курсор.
Нужно отнять единичку от номера строки.
12) В отчете «РазмещениеЖивотных» в параметрах в составе даты поставить просто дату, в выражении для периода прописать
13) В документе «ПеремещениеЖивотных» для правильного контроля остатков в запрос надо добавить :
| РазмещениеЖивотныхОстатки.КоличествоОстаток < 0";
Шаг3. Для только что поступивших сотрудников отдела внедрения проведен мини-семинар на тему «Типовые программные продукты. Платформа и Конфигурация. Резервные копии. Обновления.»
Юлия, благодарим вас за отзыв!
Финальное задание принято, поздравляем с успешным окончанием базового курса!
Шаг 1. “Обратная связь по курсу”
Курс очень понравился насыщенностью полезного материала. Большой плюс это то, что его подача идет от простого к сложному. После изучения материалов курса можно самостоятельно и без особых проблем изучать работу типовых конфигураций, искать в них ошибки. Уже можно объяснять пользователю поведение системы в конкретных случаях. С помощью отладчика, анализируя програмный код добираемся до истины. Раньше я такого делать не мог.
Изучив курс, начинаешь понимать как работает система изнутри. Анализируя типовые решения понимашь, что пободные приемы были и в базовом курсе. Находишь логику программного кода, то есть почему написано именно так, а не иначе. Легче стало разбираться с программным кодом.
Материал такой, что от нулевых знаний переходишь к начинающему специалисту. К начинающему, но зато Специалисту!
В процессе прохождения курса, еще когда небыло пройдено и половины материала, я уже пользовался полученными знаниями. В частности, смог настроить несколько отчетов пользователям, в виде удобном для пользователя. Сумел добавить в отчет вычисляемое поле на СКД. Разработал несколько отчетов с нуля. Уже некоторым пользователям смог объяснить поведение системы в конкретных случаях.
После прохождения курса, появилась уверенность в том, что я смогу в этом разобраться, ну или по крайней мере шанс разобраться и решить поставленную задачу значительно возрос.
Такой формат обучения очень удобен, но нужен постоянный самоконтроль, нужно не забывать заниматься. Задвигая обучение хотябы на день, есть все шансы отстать от потока и уже не догнать. И надо понимать, что завтра надо будет сделать вдвойне больше. Мне в обучении удобно было использовать конфигурацию просмотра курсов и тот план, который в ней находится.Очень удобно отслеживать и анализировать текущее положение дел. Работаю с конфигурациями БП 2.0 и 3.0; ЗУП 2.5
Войченко Андрей Алексеевич, инженер-программист
г. Пермь
Шаг 2. “Практическое задание”
1. В тонком клиенте создаем на основании Инвентаризации Выбытие животных и выходит ошибка: Переменная не определена(Константы).
Возможное решение: Получение константы “ОсновноеНаправление” вынести в серверную процедуру. Получить значение там и передать на клиент.
2. При проведении документа Перемещение животных выходит сообщение о недостаточночти животных.
Возможное решение: Неправильно сконструирован запрос в обработке проведения документа Перемещение животных. Нужно добавить условие ГДЕ…
3. При открытии документа в тонком клиенте Выбытие животных выходит сообщение об ошибке.
Возможное решение: Получение константы “ОсновноеНаправление” вынести в серверную процедуру. Получить значение там и передать на клиент.
4. Документ Выбытие животных может формировать отрицательные остатки по регистрам накопления.
Возможное решение: Реализовать контроль остатков при Выбытии животных.
5.Движения в регистр накопления “ВыбытияЖивотных” делаются только с видом движения приход.
Возможное решение: Изменить тип этого регистра. Сделать его оборотным.
6. При проведении документа “Выбытие животных” могут сформироваться отрицательные остатки по регистрам накопления.
Возможное решение: Во вложенном запросе “ДанныеДокумента” не указано условие на документ.
7. При проведении документа “Выбытие животных” контроль остатков при списании не учитывает сам проводимый документ.
Возможное решение: В запросе процедуры обработки проведения для параметра запроса “МоментВремени” необходимо указать границу момента времени.
8. При проведении Выбытия Животных если в документе ошибки, то сообщение об ошибке привязывается не к той строке.
Возможное решение: В выводе сообщения пользователя из номера строки отнять единицу.
9. Когда заполняем автоматически документ Инвентаризация, то признак модифицированности не устанавливается, хотя состав документа был изменен.
Возможное решение: После отработки заполнения в модуле формы установить признак Модифицированности.
10. При вводе документа поступления на основании инвентаризации, дата документа проставляется прошлого столетия.
Возможное решение: В процедуре ОбработкаЗаполнения документа “ВыбытиеЖивотных” добавить реквизит “Дата” для заполнения в водимом документе.
Шаг 3. “Статья на интересную тему”
Механизм расчета заработной платы на платформе 1С:Предприятие 8.
http://1c-pro.ru/threads/razbiraem-mexanizm-rascheta-zarabotnoj-platy-na-platforme-1s-predprijatie-8.50886/
Андрей, благодарим за отзыв!
Финальное задание принято. Поздравляем с успешным окончанием базового курса :)
Шаг 1.
С 1С работаю с 2009 года. Начинал еще с версии 8.1 (так сказать на ее закате). Так как 1С изучал сам, где по книжкам, где информацию брал из интернета, то все время сталкивался с тем что нет целостной картины. И иногда это очень мешало.
Проходил дистанционное обучение в “Учебном центре №3” г.Москва, но так как иногда был завал с работой, то большинство курсов пройти до конца так и не удавалось. От коллег по работе услышал, что есть курсы, которые преподает Евгений
Гилев. Но пройти именно курсы по программированию так и не получалось, из за нехватки времени. Курс понравился тем, что любая мелочь “разжевывается”, теория подкрепляется многими примерами. Особенно понравился формат обучения. В любой
момент можно прерваться и заняться своими делами, как только есть свободное время продолжаешь дальше. После прохождения курса, в моем случаем пока базового, у меня все мои полученные ранее знания сложились в одну общую картинку. В
практике своей работаю с такими конфигурациями как Ут 11, Ут 10.3, Бухгалтерия 2.0 и 3.0, УПП 1.3. После прохождения курса широко использовать запросы, оптимизировал записи в регистры накопления, регистры сведений. В дальнейшем
прохождение курса продвинутого и сдача на специалиста по платформе.
Лазаренко Игорь Олегович. Программист 1С.
г.Иркутск
Шаг 2.
1-я ошибка: При открытии сохраненных документов “Поступление” неправильно отображается реквизит “Источник поступления”.
Так как в процедуре “При Создании на сервере” не проверяется это новый документ или нет при изменении значения реквизита на константу.
2-я ошибка: В форме документа “Выбытие” Реквизит направление выбирается из константы в процедуре ПриОткрытии.
Но эта процедура выполняется на клиенте, где недоступны константы. Нужно было сделать эту проверку в процедуре “ПриСозданииНаСервере”.
3-я ошибка: (Косвенная) – Не создан и не сохраняется значения реквизита “Источник поступления” в Регистре накопления “Размещение животных”
из документов “Поступление” и “Выбытие животных” при проведении. Поэтому при построении отчетов нужно будет обращаться к документам, а не к регистру накопления.
4-я ошибка: В обработке проведения документа “Выбытие животных” в запросе во внутреннем соединении при выборе данных из документа
не сделан отбор по ссылке, поэтому может быть выбран неверный НомерСтроки.
5-я ошибка: (Косвенная) – В том же запросе при установке условий на виртуальную таблицу остатков во вложенном запросе не указано ключевое слово “Различные”,
поэтому теоретически запрос будет выполняться дольше.
6-я ошибка: Неправильно установлен параметр моментВремени в этом запросе. Сейчас не получаются записи, которые сделал сам документ. Для корректной работы запроса
нужно проверять на оперативный и неоперативный режим и вместо момента времени использовать границу с видом включая.
7-я ошибка: (Синтаксис) Неправильно формируется текст надписи при нехватке в документе выбытие. Лишний символ “в”.
(Например: Недостаточно животного в Медведь).
8-я ошибка: Неправильное указание поля в сообщении пользователю Нужно указывать индекс, а не номер строки табличной части (т.е. Номерстроки-1).
А также логичнее было бы привязать сообщение к колонке количество, а не к колонке животное.
9-я ошибка: (Косвенная) В обработке заполнения в документе Выбытие не понятно назначение создания структуры из данныхзаполнения при условии Иначе.
10-я ошибка: Неправильно указан вид регистра накопления “Выбытия животных”. Животные только выбывают в этом регистре,
поэтому логичнее было бы сделать вид регистра Обороты, а не Остатки.
11-я ошибка: В запросе по нахождению нехватки в документе ПеремещениеЖивотных нет условия: количествоОстаток меньше нуля.
Поэтому при положительном остатке всегда будет выдаваться сообщение об отрицательной нехватке и документ не будет проводиться.
12-я ошибка: Не выставляется признак модифицированности документа Инвентаризация после нажатия на кнопку Заполнить.
13-я ошибка: При заполнении документа Инвентаризация можно было бы брать данные на дату документа.
А при создании на основании устанавливать дату создаваемого документа из текущего документа Инвентаризация.
14-я ошибка: Невозможно сохранить нулевое количество животных по факту в документе Инвентаризация.
Нужно изменить свойство “Проверка заполнения” реквизита количествоФакт табличной части Животные на “не проверять”.
Шаг 3. Статья по программированию в 1С.
http://infostart.ru/public/295116/
Игорь, благодарим ваз за развернутый отзыв!
Финальное задание принято. Поздравляем, вы первый финалист 29го потока базового курса по программированию!
Желаем успехов в дальнейшем обучении :)
Спасибо и вам за вашу работу! Вы молодцы, так держать!