Базовый курс. Финальное задание 39-го потока

Объявляем начало финала 38-го потока базового курса по программированию.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.Если не активировали токен — посмотрите видео-инструкцию (видео N5)Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментария 42 на “Базовый курс. Финальное задание 39-го потока”

  1. Надежда 17.06.2016 в 12:58

    Добрый день!
    Отчет по финальному заданию.

    I. Кузиванова Надежда Юрьевна, г. Барнаул.
    Курс был очень интересным. Благодаря курсу познакомилась с управляемыми формами (на работе мы используем обычное приложение). Модуль по регистрам расчета буду однозначно пересматривать еще раз. Очень понравилась подача материала Евгением Гилевым – все четко структурировано, объяснены взаимодействия (например, если здесь поставим «галочку», то это скажется на том-то и том-то), лекции и домашние задания построены так, что надо не только смотреть, но еще и думать :). Спасибо Евгению за его чудесный курс!!! Понравилась поддержка – ответы Олега Добренко все были достаточно подробны, я получила ответы на все свои вопросы. Спасибо команде курсов по 1С :)

    II. Практическое задание. Ошибки конфигурации:
    1. У док-та «Поступление» для стандартного реквизита «Дата» установлено значение заполнения «01.01.1980 0:00:00» – очистила значение заполнения, чтобы при создании нового документа подставлялась текущая дата.
    2. У док-та «Поступление» при открытии документа источник поступления всегда есть «Рождение на территории зоопарка». Для корректного открытия и копирования документов удалила проц. «ПриСозданииНаСервере» из модуля формы, заполнение источника поступления для нового элемента перенесла в ОбработкаЗаполнения модуля документа. Код:

    Если ЭтоНовый() Тогда
        ИсточникПоступления = Константы.ОсновнойИсточник.Получить();
    КонецЕсли;

    3. В документе «ВыбытиеЖивотных» удалила из обработки заполнения установку даты ДанныеЗаполнения.Вставить(“Дата”, ‘19800101’); для создания новых документов текущей датой.
    4. Док-т «ВыбытиеЖивотных» – получение константы на клиенте невозможно. Вместо проц. «ПриОткрытии» можно использовать проц. «ПриСозданииНаСервере», но тогда при копировании направление заполняется из константы, а не из копируемого документа. Заполнение направления перенесла в ОбработкаЗаполнения модуля документа.
    5. Регистр «ВыбытияЖивотных» сделала с видом «Обороты».
    6. Документ «ВыбытиеЖивотных» работает некорректно – неправильная проверка на отрицательные остатки. В обработке проведения в запросе внесла изменения:
    1) во временную таблицу добавила условие: ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка
    2) сделала левое соединение
    3) установила правильно параметр «МоментВремени»:

    Запрос.УстановитьПараметр("МоментВремени", Новый Граница(МоментВремени(), ВидГраницы.Включая));

    4) в сообщении пользователю при отказе для корректной привязки к полю от номера строки отняла 1.
    7. Документ «ПеремещениеЖивотных» работает некорректно – в запросе не хватает условия:
    РазмещениеЖивотныхОстатки.КоличествоОстаток < 0
    8. В документе «Инвентаризация» остатки получаются на текущую дату, что не верно, в запрос надо добавить получение остатков на дату документа.
    9. Также в документе «Инвентаризация» можно дописать отчет, чтобы кол-во факт заполнялось автоматически значением, равным тек. Количеству. Для возможности ввода нулевого количества по факту проверку заполнения для реквизита КоличествоФакт выставила в «Не проверять».
    10. В отчете «РазмещениеЖивотных» параметр «Период» можно привести к концу дня, нужно указать: КонецПериода(&Период, "ДЕНЬ"), предварительно у типа указать состав «Дата».

    III Помощь миру.
    http://1c-pro.ru/threads/dobavlenie-ehlementov-v-tablichnuju-chast-dokumenta-iz-spravochnika.57988/

    • Dobrenko Oleg 20.06.2016 в 08:10

      Здравствуйте, Надежда!
      Благодарим Вас за обратную связь. Финальное задание принято, поздравляем с успешным окончанием базового курса по программированию!

  2. Финальное домашнее задание по базовому курсу.

    Шаг 1. Обратная связь по курсу
    Рахимгазиева Наиля, программист 1С, г.Алматы
    Курс был очень полезен для меня. Очень много нужной информации. Хотя являюсь специалистом с опытом, тем не менее узнала о разных полезностях, с которыми раньше я не сталкивалась.
    Раньше до прохождения курса я черпала знания из разных источников, в основном из типовых конфигураций. Некоторые навыки использовались мной, как мне казалось, чисто механический без глубокого понимания механизма работы и иногда было ощущение неуверенности в правильности решения или нехватки информации. По некоторым темам была лоскутная, поверхностная информация. Данный курс помог мне систематизировать знания, заполнить существовавшие пробелы, глубже понять основные принципы, дополнить багаж знаний новой информацией. Несмотря на то, что некоторые темы были мне хорошо знакомы, но тем не менее тщательное изучение их заставило критично отнестись к своим знаниям, пересмотреть используемые алгоритмы, более глубже осознать принципы часто используемых свойств и методов.
    Интересными были темы по взаимным вызовам клиентских и серверных методов управляемой формы, контекст выполнения кода, оптимизация запросов.
    Также очень ценными были моменты, связанные с разбором задач, принципами проектирования метаданных и различные нюансы и подсказки, облегчающие разработку.
    Формат обучения курсов очень удобен, т.к. можно самостоятельно определять время занятий и в любой момент можно повторно обращаться к материалам видеоуроков. Также мне нравится качество самих уроков, их четкость, ясность, лаконичность и последовательность изложения. И конечно же бесценными являются полезные советы от тренера Евгения Гилева, которые я взяла на вооружение и за это выражаю ему огромную благодарность.
    Очень рада, что успела попасть на эти курсы.

    Шаг 2. Практическое задание
    1) В документе Поступление в СтандартныхРеквизитах для реквизита Дата определено значение заполнения 01.01.1980. Необходимо очистить значение заполнения.

    2) в этом же документе в МФ в процедуре ПриСозданииНаСервере() записан код для заполнения реквизита документа и он срабатывает всякий раз вне зависимости от того, что этот реквизит уже был ранее определен и записан. Если необходимо заполнить реквизиты при создании нового документа, то это лучше делать в МО в процедуре ОбработкаЗаполнения() вместо процедуры определенной в МФ.

    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
        ИсточникПоступления = Константы.ОсновнойИсточник.Получить();
    КонецПроцедуры

    3) Регистр накопления “ВыбытиеЖивотных” должен быть вида Обороты.

    4) Для документа “ВыбытиеЖивотных” в СтандартныхРеквизитах для реквизита Дата включен флаг “Заполнять из данных заполнения”. Необходимо отключить.

    5) и в этом же документе в процедуре ОбработкаЗаполнения() указана дата 01.01.1980 для вновь создаваемого документа. Нужно удалить эти строки кода.

    6) Запрос для этого документа работает некорректно. Для исправления в запрос нужно внести следующие изменения:
    а) вместо ВНУТРЕННЕГО соединения указать ЛЕВОЕ (с табл. ДанныеДокумента).

    б) добавить условие во вложенный запрос: “ГДЕ ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка”

    в) в параметр запроса &МоментВремени нужно передать “Новый Граница(МоментВремени(), ВидГраницы.Включая)”, чтоб включить движения самого документа.
    г) выходные поля запроса “Животное” и “Клетка” нужно брать из вложенного запроса “ДанныеДокумента”, а не из ВТ “РазмещениеЖивотныхОстатки”, т.е. ДанныеДокумента.Животное и ДанныеДокумента.Клетка.

    7) здесь же в СообщенииПользователю нужно указать в качестве поля ошибки колонку “Количество”, а не “Животное” и корректно указать индекс:
    Сообщение.Поле = “Животные[“+(ВыборкаДетальныеЗаписи.НомерСтроки-1)+”].Количество”;

    8) здесь же в МФ в процедуре ПриОткрытии() записан код для получения данных из константы для заполнения реквизита документа и синтаксический контроль выдает ошибку. Код полностью нужно удалить и создать другой в МО в процедуре ОбработкаЗаполнения():

    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
        Направление = Константы.ОсновноеНаправление.Получить();
    КонецПроцедуры

    Т.к. если необходимо заполнить реквизиты при создании нового документа, то это лучше делать в МО в процедуре ОбработкаЗаполнения().

    9) В документе ПеремещениеЖивотных в МО в запросе нехватает условия “ГДЕ РазмещениеЖивотныхОстатки.КоличествоОстаток меньше 0”.

    10) В документе Инвентаризация в МФ в запросе нужно указать параметр &Период для ВТ РазмещениеЖивотныхОстатки, которая по идее должна быть связана с датой указанной в документе.

    11) здесь же в табл.части “Животные” для реквизита “КоличествоФакт” свойство “Проверка заполнения” нужно установить в “не проверять”, для того чтобы была возможность указать 0.

    12) В отчете РазмещениеЖивотных, в конструкторе СКД, для того чтобы дату для параметра “Период” привести к концу дня нужно в колонке “Выражение” записать следующий код:
    ДобавитьКДате(КонецПериода(&Период, “День”), “Секунда”, 1).

    13) В конфигураторе меню “Сервис” => “Параметры” => на закладке “Запуск 1С Предприятие” переключить в “Выбирать автоматически”, для того чтобы была возможность протестировать в толстом и тонком клиентах.

    Шаг 3. Помощь миру

    http://infostart.ru/public/448162/

    • Dobrenko Oleg 27.01.2016 в 11:33

      Наиля, благодарим вас за развернутый отзыв!
      Финальное задание принято, поздравляем с успешным окончанием базового курса по программированию!

  3. ФИНАЛЬНОЕ ЗАДАНИЕ БАЗОВОГО КУРСА

    Шаг 1. Обратная связь по курсу
    Из данного Базового курса по программированию удалось узнать много нового из работы с платформой 1С 8.2, обозначить отличия между платформами 8.1 и 8.2.Удалось избавится от заблуждения ,что интерфейс 8.2 отличается от интерфейса 8.1 и является неудобным в освоении пользователями.
    В процессе изучения самым неожиданным наверное оказалось разбиение контекста исполнения кода на клиентский и серверный – в принципе все остальные методы работы с платформой похожи на 8.1
    Дистанционный видео формат обучения безусловно очень удобен, большое спасибо команде разработчиков и лично Е.Гилеву! Большая просьба в местах, где требуется акцентировать внимание обучающегося снижать темп подачи материала для лучшего разбора и усвоения задания!

    Шаг 2. Практическое задание

    ОШИБКИ ФИНАЛЬНОГО ЗАДАНИЯ БАЗОВОГО КУРСА
    1.Закладка Сервис-Параметры-Общие отмечен параметр «Управляемое приложение» переставляем этот параметр в «Управляемое приложение и обычное приложение» далее кнопка «Применить» (для возможности работы программы в разных режимах запуска).
    2. Соответственно в закладке Сервис-Параметры-Запуск 1С Предприятия- закладка Основные рамка «приложение» стоит параметр «Тольстый клиент(обычное приложение)» отмечаем в рамке «Приложение» другой параметр «Выбирать автоматически», далее –кнопка «Применить».
    3.Документ «Выбытие животных» не определяется константа вследствие ошибки в контексте процедуры «ПриОткрытии» исправляем контекст «&НаКлиенте» в контекст «&НаСервере».
    4.Отсутствуют пользователи в базе – создаем пользователя Админ.
    5.Отсутствуют роли пользователей в базе – создаем роль пользователя с полными правами и привязываем эту роль к пользователю Админ.
    6.Отсутствуют интерфейсы в базе – создаем интерфейс «Полный» с отображением в нем всех необходимых элементов конфигурации и привязываем этот интерфейс к пользователю Админ.
    7. В документе «Инвентаризация не заполняется автоматически фактическое количество животных на дату документа инвентаризации. Исправляем эту ошибку:
    – добавляем в документе в модуль формы в процедуру ЗаполнитьНаСервере() в запрос количество выбывших животным из регистра накопления «Выбытия животных» и отнимаем это количество от количества животных из регистра «Размещение животных» на данную дату. Далее заполняем таблицу «Животные» в документе «Инвентаризация»
    8. При создании нового документа “Поступление» дата указывается неверно из стандартного реквизита документа «Поступление». При очистке данных из стандартного реквизита «Дата-Значение заполнения» и отметке галочки «Заполнять из данных заполнения» при создании нового документа будет указана текущая дата.
    9.Документ «Поступление» допускает отрицательное значение количества. В свойствах реквизита «Количество» табличной части «Животные» установлена галочка «Неотрицательное».
    10. Документ «Выбытие животных» допускает отрицательное значение количества. В свойствах реквизита «Количество» табличной части «Животные» установлена галочка «Неотрицательное».

    • Dobrenko Oleg 22.01.2016 в 13:32

      Дмитрий, благодарим вас за обратную связь по курсу!
      Практическое задание принято, ждем от вас отчета по шагу №3.

  4. Здравствуйте!
    Шаг 1. Обратная связь по курсу
    До изучения данного курса с 1с была знакома, но на реальных проектах не работала. После просмотра уроков которые в бесплатном доступе , решила приобрести эти курсу и не капельки не разочаровалась.
    Нравится, как изложен материал, как все разбирается и объясняется. При условии того, что реально я не работала с 1с, нового было много.
    Иванова Марина , программист, г.Мончегорск
    Шаг 2. Практическое задание
    1. При открытии любого документа «Поступление» в Источник поступления указывается данные из константы «ОсновнойИсточник» вне зависимости, что записано в документе.
    Исправлено
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Не ЗначениеЗаполнено(Объект.ИсточникПоступления) Тогда
    Объект.ИсточникПоступления = Константы.ОсновнойИсточник.Получить();
    КонецЕсли;
    КонецПроцедуры
    2. При создании документа «Поступление» дата берется из свойства стандартного реквизита значение заполнения, удаляем ее.
    3. При создании документа «ВыбытиеЖивотных» проставляется конкретная дата.
    Это происходит из-за того что в свойствах даты стоит галочка «заполнять из данных заполнения» и в ОбработкаЗаполнения прописан код для этого. Следовательно, убираем галочку, и код, который уже не имеет смысла.
    4. Вид регистра «ВыбытияЖивотных» следует изменить на обороты.
    5. Для правильного контроля остатка в документе «ВыбытиеЖивотных» вносим изменения в установку параметра
    Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);
    Запрос.УстановитьПараметр(“МоментВремени”, Граница);
    Во вложенный запрос добавить условие
    ГДЕ ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка
    И в сообщении пользователю изменить
    Сообщение.Поле=”Животные[“+(ВыборкаДетальныеЗаписи.НомерСтроки-1)+”].Количество”;
    Что бы корректно указывалось поле с ошибкой
    6. В документе «ПеремещениеЖивотных» добавить в запрос условие
    ГДЕ РазмещениеЖивотныхОстатки.КоличествоОстаток < 0
    7. В документе «ВыбытиеЖивотных» в модуле формы перемешаем код в серверную процедуру
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Объект.Ссылка.Пустая() Тогда
    Объект.Направление = Константы.ОсновноеНаправление.Получить();
    КонецЕсли;
    КонецПроцедуры
    8. .В документе «Инвентаризация» для реквизите табличной части «КоличествоФакт» поменять свойство проверка заполнения на не проверять. Что бы была возможность проставить КоличествоФакт равный 0.
    9. Отчет РазмещениеЖивотных
    У параметра пириод
    состав даты –дата
    выражение – ДобавитьКДате(КонецПериода(&Период, "День"), "Секунда", 1)
    10. Отчет АнализВыбытийЖивотных. Тут ошибок нет, но так как был изменен вид регистра, надо пересчитать итоги

    • Dobrenko Oleg 12.01.2016 в 14:49

      Здравствуйте, Мария!
      Благодарим вас за отзыв. Практическое задание принято, ждем от вас отчета по шагу №3.

  5. Valentin_A 11.01.2016 в 02:12

    Здравствуйте.
    1. Корченкова Ирина Григорьевна. Программист, Орел

    Начинала карьеру с фортрана немного Си, БД Access, последние два года сопровождение 1С:ЗУП 2.5 немного 1С:УТ. Приходилось писать маленькие запросики.
    Решила освоить то, что мне ближе, чем сопровождение :).
    Пробовала сама изучать, как-то не очень.
    Купила курсы и не пожалела. Пожалела только об одном, что раньше не приступила к изучению.
    Узнала очень много нового и полезного для себя. Большое спасибо за Ваш труд.

    2.
    1. Не настроены роли и пользователи
    2. При создании нового документа «Поступление» по умолчанию дата 01.01.1980 0:00:00 («Данные» «Стандартные реквизиты» «Дата» «Значение заполнения» – убрано)
    3. При заполненн документа «Поступление» система позволяет ввести/провести отрицательное количество (Табличная часть «Животное» «Количество» свойство поставлен признак «Неотрицательное»
    4. При открытии уже созданного документа «Поступление» поле «Источник поступление» у всех выводится «Рождение на территории зоопарка» (Сделана проверка на новый документ)
    5. Регистр накопления «ВыбытияЖивотных» «Вид регистра» «Остатки» изменен на «Обороты»
    6. Документ «ВыбытиеЖивотных», модуль объекта убрано:
    Иначе
    ДанныеЗаполнения = Новый Структура;
    ДанныеЗаполнения.Вставить(“Дата”, ‘19800101’);
    7. Документ «ВыбытиеЖивотных» допускает отрицательное количество. (Исправлено)
    8. Документ «ВыбытиеЖивотных» при запуске в «Тонком клиенте» выдает ошибку. (получать &НаСервере)
    9. Документ «ПеремещениеЖивотных» не контролируется остаток (модуль объекта «ОбработкаПроведения» в запрос добавлено «ГДЕ РазмещениеЖивотныхОстатки.КоличествоОстаток < 0»
    10. Создание документа «Перемещение животных» В поле «Клетка откуда» предлагать для выбора только те клетки, в которых есть перемещаемые животные
    11. Документ «Инвентаризация» поле «Количество факт» обязательно для заполнения, из-за чего нет возможности отразить нулевое значение (табличная часть «Животные» «КоличествоФакт» свойство «Проверка заполнения» изменить на «не проверять»
    12. Документ «Инвентаризация» поле «Количество факт» позволяет заполнить/провести отрицательное число (табличная часть «Животные» «КоличествоФакт» свойство поставлен признак «Неотрицательное»
    13. Документ «Инвентаризация» заполняется на текущую дату, а не на указанную.
    14. Документ «Инвентаризация» при создании на основании не проверяет, создавался документ на основании данной инвентаризации или нет. Создает лишние документы.
    15. Добавлена видимость движений в документах.
    и т.д. :)

    3.
    Консультирую начинающего программиста.

    • Dobrenko Oleg 12.01.2016 в 14:39

      Здравствуйте, Ирина.
      Спасибо за обратную связь!
      Практическое задание принято, ждем от вас отчета по шагу №3.

  6. 1. Обратная связь.
    Лукин Владимир Игоревич. Начальник отдела инф. технологий. г.Москва.

    Отличный курс, даже несмотря на некоторую утрату актуальности на сегодняшний день. Имею достаточно большой опыт работы с семеркой, даже с сертификатами. Уже на этапе “быстрого старта” сделал для себя открытие. Многие вещи в восьмерке я делал сильно…эээ.. через одно место, пытаясь натянуть опыт и привычки на новую систему. Собственно главным заблуждением с которым я расстался – это решительный пересмотр подходов и методов работы с системой. И все стало заметно логичней, понятней и эффективней.

    Сам формат курса очень понравился. Наполнение тоже, динамично и содержательно. Собственно, лучше тысячи слов – запланировал себе на этот год как минимум ещё два курса у вас. Если время позволит – то и больше.

    2. Практическое задание:

    1. Для рабочей конфигурации следовало бы иметь определенные роли и права доступа. А то ведь ответственный за лосей обязательно задним числом с обезьянами накосячит.

    2. Для документов желательно было бы определить периодичность нумерации. Если вести учет кроликов, не исключены проблемы с нумерацией во вполне обозримой перспективе.

    3. Во всех документах нет проверки отрицательного количества при работе с животными. В общем-то, было бы логично её иметь.

    4. Документ Поступление. При открытии формы всегда подставляется значение по умолчанию в источник поступления. Требуется, как минимум, проверка на пустоту этого значения.
    В принципе, логично было бы перенести всю конструкцию в модуль документа и проверять и устанавливать значение в ОбработкеЗаполнения.
    Ну и несмотря на установку значения по умолчанию, отсутствует контроль заполнения данного поля. Было бы правильным это контролировать.

    5. В стандартных реквизитах следует очистить значение заполнения 01.01.1980 0:00:00 у реквизита Дата. Логичнее добавить заполнение даты от документа Инвентаризация, при вводе на основании.

    6. Документ ВыбытиеЖивотных. Опять-таки ошибка в инициализации значения по умолчания ОсновногоНаправления. Не будет работать в тонком клиенте.
    В принципе, логично было бы перенести всю конструкцию в модуль документа и проверять и устанавливать значение в ОбработкеЗаполнения.
    Ну и несмотря на установку значения по умолчанию, отсутствует контроль заполнения данного поля. Было бы правильным это контролировать, тем более что отчет формируется в разрезе направлений.

    7. Документ ВыбытиеЖивотных

    Добавляем условие в запросе
    | ГДЕ
    | ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка

    Изменяем параметр МоментВремени, для точного формирования остатков.

    Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);

    Запрос.УстановитьПараметр(“МоментВремени”, Граница);

    8. Документ ВыбытиеЖивотных. Также убираем странное заполнение даты 1980-ым годом. Логичнее добавить заполнение даты от документа Инвентаризация, при вводе на основании.

    9. Документ ВыбытиеЖивотных. Для правильного позиционирования сообщения на поле верно формируем индекс: “Животные[” + (ВыборкаДетальныеЗаписи.НомерСтроки-1) + “].Животное”

    10. Документ ПеремещениеЖивотных
    Напрашивается условие в запрос:|ГДЕ РазмещениеЖивотныхОстатки.КоличествоОстаток < 0"
    Одновременно надо программно ограничивать возможность перемещения из одной клетки в такую же. Ибо в текущей реализации документа, с таким механизмом контроля остатков без указанного ограничения, возможно переместить сколько хочешь животных из одной клетки в неё же. В данной реализации не критично, но при некотором дальнейшем развитии возможны спецэффекты.

    11. Документ Инвентаризация. Во-первых, заполнение происходит неким текущим остатком, без привязки к моменту документа. Соответственно требуется добавление параметра МоментВремени в запрос.

    12. Документ Инвентаризация. Проверка заполнения у реквизитов Количество и КоличествоФакт представляется абсолютно лишней. Также следует ограничить доступность у автозаполняемого реквизита Количество.

    13. В принципе, для ввода на основании документа Инвентаризация, следовало бы у документов Выбытия и Поступления добавить реквизит ДокументОснование, который заполнять ссылкой на Инвентаризацию. Это позволило контролировать ввод на основании и избегать лишних документов.

    14. Так же при вводе на основании имело бы смысл заполнять направление выбытия и источник поступления у документов Поступление и Выбытие, неким предопределенным значением "НаОснованииИнвентаризации" из справочников.

    15. С точки зрения логики, регистр ВыбытияЖивотных в виде регистра вида Остатки не имеет смысла. Меняем тип на Обороты, пересчитываем итоги.

    16. В отчете Размещение животных требуется приведение даты к концу дня: ДобавитьКДате(КонецПериода(&Период, "День"), "Секунда", 1).

    3. Помощь миру. Зарегистрировался как HumanVIL:
    http://forum-1c.ru/index.php?topic=59542.0
    http://forum-1c.ru/index.php?topic=59534.0
    http://forum-1c.ru/index.php?topic=59538.0
    http://forum-1c.ru/index.php?topic=59525.0

    • Dobrenko Oleg 09.01.2016 в 15:11

      Владимир, благодарим Вас за отзыв!
      Финальное задание принято, поздравляем вас с успешным окончанием базового курса и желаем успехов в дальнейшем обучении!

  7. Волков Николай Николаевич
    Программист, г. Минск, Беларусь.
    Курс был приобретен для снятия «ломки» после длительного использования 7.7.
    Теперь тезисно о положительных моментах:
    – очень полезными оказались практические советы по работе с конфигуратором. Благодаря им скорость разработки значительно выросла, до этого приходилось из-за незначительных мелочей впадать в ступор.
    – наконец-то стали на свои места контекст исполнения кода и передача параметров между клиентом и сервером. Понятно, что в курсе лишь верхушка айсберга, но уже этого достаточно для практики
    – очень здорово тематически разделили курс по практическим направлениям применения платформы.
    – работать с отчетами на СКД стало легко и непринужденно, стал понимать специалистов подрядчика,
    – стали понятны некоторые идеологические принципы разработки (до этого никак не мог понять зачем так делают, особенно в типовых), некоторые из них даже приняты на вооружение.
    Ложечка дегтя:
    – считаю что больной вопрос работы «задним числом» не стоит преподносить вот так вот однозначно как у вас в теме про оперативное проведение документов. Задач где эти доводы неверны чуть более чем много. Незрелые ученики же, услышав ваше авторитетное мнение, начинают заново строить учет.
    – немного неудобен для меня оказался формат доступа к заданиям. Было бы удобно открывать их все сразу с начала курса(именно задания, а не решения).
    Практическая часть
    1. В документе поступление неправильно заполняется реквизит ИсточникПоступления. Во-первых, это правильнее делать в обработке заполнения, во-вторых, необходимо проверять что этот документ вновь создан.
    2. В документе Выбытие животных опять пытаются заполнять реквизиты в непредназначенной для этого процедуре, да еще и пытаются обращаться к значению констант в контексте клиента.
    3. В документе Выбытие животных, модуль объекта, обработка проведения – обращение к остаткам необходимо выполнять на момент после проведения документа.
    4. В документе Выбытие животных, модуль объекта, обработка проведения – в запросе необходимо ограничивать выборку документов только текущим.
    5. В документе Выбытие животных, модуль объекта, обработка проведения – при выводе сообщения о нехватке нужно указывать индекс строки как (ВыборкаДетальныеЗаписи.НомерСтроки-1) ;
    6. В документе Выбытие животных, модуль объекта в обработке заполнения очень странно присваивается дата, хотя может это заказчик «так видит».
    7.
    8. В документе инвентаризация необходимо разрешить незаполненные реквизиты ТЧ количествоФакт, т.к. они вполне могут быть =0
    9. Отчет РазмещениеЖивотных. Ошибкой это назвать сложно, но период для пользователя лучше привести к концу дня, хотя в общем случае тут все верно.
    10. Регистр АнализВыбытийЖивотных по хорошему достаточно сделать оборотным. Однако и текущее положение вещей имеет право на жизнь.
    Попытки помощи людям
    http://www.forum.mista.ru/topic.php?id=762117 (по нику QvalcharaQ)
    http://forum.infostart.ru/forum14/topic142862/ (по нику valchara)
    http://forum-1c.ru/index.php?topic=59478.0 (по нику valchara)
    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=645275#645275 (Волков Н. Н.)
    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=645284#645284 (Волков Н. Н.)

    • Dobrenko Oleg 12.01.2016 в 14:37

      Николай, благодарим вас за развернутый отзыв!
      Финальное задание принято, поздравляем с успешным окончанием базового курса по программированию!

  8. 1.
    Дистанов Станислав Альбертович. г.Королев. Начальник управления автоматизации ЗАО “МЛК”.

    Программировал в 7.7, потом отошел от программирования. Больше занимался внедрением.
    Внедрение конфигурации ХомНет для лизинговой компании с версии 7.7 до текущей актуальной версии на 8.2. Перехода на 8.3 еще не было. Написание ТЗ, для добавления нового и исправления существующего функционала системы, отчетов и т.д.
    Для расчета кредитов, модель лизингового калькулятора, отчетов по задолженности, лизинговому портфелю и много другое. Очень много замечаний и пожеланий было учтено и внедрено в типовую конфигурацию компании.

    Курс позволил систематизировать знания, углубить знания.
    Механизм расчетных регистров был непонятен и не хватало сил и времени разобраться с ним самому. Курс очень помог. Очень понравилось введение в бухгалтерию – все очень понятно. После курса очень хорошо понимаешь что выполняется на сервер, что на клиенте. Материалы курса методически построены очень хорошо (последовательно, кратко, логично). Курс очень понравился. Спасибо.

    Небольшие спорные замечания. Мне кажется, что можно было бы больше уделить внимания запросам, но это вопрос спорный и возможно, что это тема дополнительного курса. Нет полного списка рассматриваемых тем (сделал сам из списка lst файла)

    2.
    2.1 Создание док-та “Выбытие животных” проставляется одна и та же дата
    Убрал строки
    ДанныеЗаполнения = Новый Структура;
    ДанныеЗаполнения.Вставить(“Дата”, ‘19800101’);
    2.2 Перемещение животных – нет контроля остатков, возможно появление отрицательных остатков. В запросе нужно вставить секцию ГДЕ с проверкой КоличествоОстаток < 0
    2.3 Регистр накопления «Выбытия животных» сделал оборотным.
    2.4 В документы добавил видимость движения по регистрам
    2.5 Периодичность в документах сделал в пределах года
    2.6 В обработке проведения документа “ВыбытиеЖивотных” в параметрах изменил параметр а МоментВремени на ВидГраницы.Включая;
    2.7 Документ инвентаризация по команде “Заполнить” обнуляется колонка “Количество факт”
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | РазмещениеЖивотныхОстатки.Животное,
    | РазмещениеЖивотныхОстатки.Клетка,
    | РазмещениеЖивотныхОстатки.КоличествоОстаток КАК Количество,
    | ИнвентаризацияЖивотные.КоличествоФакт
    |ИЗ
    | РегистрНакопления.РазмещениеЖивотных.Остатки КАК РазмещениеЖивотныхОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Инвентаризация.Животные КАК ИнвентаризацияЖивотные
    | ПО РазмещениеЖивотныхОстатки.Животное = ИнвентаризацияЖивотные.Животное
    | И РазмещениеЖивотныхОстатки.Клетка = ИнвентаризацияЖивотные.Клетка";
    2.8 Отчете «РазмещениеЖивотных» – добавляем секунду, чтобы привести время к концу дня
    ДобавитьКДате(КонецПериода(&Период, "День"), "Секунда", 1)
    2.9 В документе “Инвентаризация” снял проверку заполнения с колонки “КоличествоФакт” чтобы отображать нулевые значения
    2.10 В документе “Поступление” основной источник берется из константы, что верно только для новых документов и не подходит для редактирования существующих. Убрал в процедуре ПриСозданииНаСервере
    //Объект.ИсточникПоступления = Константы.ОсновнойИсточник.Получить();

    3.
    http://forum-1c.ru/index.php?topic=59478.new#new

    • Dobrenko Oleg 09.01.2016 в 14:58

      Станислав, благодарим Вас за обратную связь!
      Финальное задание принято, поздравляем вас с успешным окончанием базового курса!

  9. 1. Обратная связь
    Нюхляков Николай Евгеньевич
    Системный администратор ООО “Спецмонтажстрой” г. Тверь
    По роду своей деятельности, я занимаюсь установкой и частичным администрированием 1С. А так завесь трудовой стаж работал то программистом (FохPro и Delphi), то системным администратором. Хочется уже определиться и заниматься только программированием. В городе вакансий по Delphi нет. Есть только по 1С и то не часто. А так хочу предложить свои услуги в своей фирме. Сейчас приглашают со стороны. У нас в основном обновление, но тоже нужно делать регулярно. Так как мы строители фирм у нас много заведено. Я думаю пора уже начинать реальную работу. Я уже говорил главному бухгалтеру. После Нового года надо будет опять напомнить. Хотя и железки от себя не отпускают. Фирма у нас большая. Объекты строительства расположены в разных областях. Поддержка тоже занимает массу времени. Особенно не посидишь.
    До базового курса проходил курс “Быстрый старт в профессию”. Тоже понравился. Но наверно надо больше работать с реальными конфигурациями.
    После базового курса пришло понимание о механизме работы платформы. Что выполняется на сервере, что на клиенте. С запросами я считаю, что продвинулся. Такие сложные вопросы я раньше не дела даже в Delphi. Управляемые формы тоже хороши. Работа с регистрами тоже прояснилась. Теперь все это надо как то применить к реальным конфигурациям. У меня куплен продвинутый курс. Может там что то есть по этой теме. Меня ввели в заблуждение также сроки курса. Я вообще думал, что они 5 месяцев. Оказывается три и особо не спешил. А так сроки жесткие объемы информации большой, да и задание не простые. Во всяком случае для меня. Основная моя цель сдать экзамены на специалиста 1С, что бы быть уверенным в трудоустройстве. Возраст у меня уже приличный и за красивые глаза меня на работу уже не возьмут если что. Нужны знания.
    Через какое то время примусь за продвинутый курс. До этого попробую решить экзаменационную задачу.
    За курсы большое спасибо. Надеюсь они мне пригодятся.
    2. Ошибки
    2.1. Каждый раз при открытии формы документа “Поступление” меняется источник поступления. Источник должен заполняться по умолчанию только при создании нового документа.
    Исправляем, добавляя условие на существование ссылки этого документа
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Объект.Ссылка.Пустая() Тогда
    Объект.ИсточникПоступления = Константы.ОсновнойИсточник.Получить();
    КонецЕсли;
    КонецПроцедуры
    2.2 При перемещении животных документом “Выбытие” нет проверки остатка животных по месту размещения, возможно появление отрицательных остатков.
    2.3.При открытии документа “Выбытие” в режиме тонкого клиента, возникает ошибка получения значения константы , необходимо получать её &НаСервере
    2.4, При заполнении документа “Инвентаризация ” необходимо выбирать остатки на дату документа инвентаризации, сейчас на текущую дату.
    2.5. Добавил видимость движений во всех документах – это удобно
    2.6. Значение заполения стандартного реквизита Дата в документах Поступление, Выбытие (в обработке заполнения) очистил, чтобы дата при создании документа система проставляла текущую дату.
    2.7. Изменил интерфейс Формы в закладках. Так удобнее.
    2.8. Неверное указание строки ошибки – индекс это НомерСтроки-1

    3. Помогаем.

    Мини – семинар провести не удалось, так как сотрудников у нас всего трое системных администраторов. Один в отпуске. Один в постоянных разъездах, так как объектов много по городу и в других областях. К бухгалтерии тоже не подступиться, так как конец года.

    http://forum-1c.ru/index.php?topic=55573.msg149128#msg149128
    Статья находится на модерации на адрес mg@spec8.ru с принтскринами с сайта. Статья называется “Сведения о клиент – серверном варианте работы”
    http://infostart.ru/public/edit/

    • Dobrenko Oleg 01.01.2016 в 16:04

      Николай, благодарим вас за развернутый отзыв!
      Финальное задание принято, поздравляем вас с успешным окончанием базового курса!

  10. Шаг 1.
    Востриков Владислав Геннадьевич.
    Работаю в финансовой сфере (управленческий учёт),
    также отвечаю за IT в компании.
    г.Владивосток.

    Спасибо за ещё один отличный курс. Это уже третий Ваш курс после “Разработки и оптимизации запросов” и “Конвертации данных”, который я прохожу. Он позволил систематизировать и уложить по полочкам всё, изученное мной ранее и разобраться в новом для меня механизме расчетных регистров.
    Очень полезным было рассмотрение работы с регистрами накопления и бухгалтерии как с наборами записей из любых модулей конфигурации, вне контекста проведения документа.
    Ваши курсы позволили мне более предметно и эффективно ставить задачи и составлять ТЗ для программистов, а также часть задач решать самостоятельно.
    Формат курса удобен возможностью отложить занятия на момент авралов на работе или спокойно разобраться со сложными темами в выходные дни, чего конечно не позволяет сделать очная форма обучения.

    Шаг 2.

    1.Заполнил «Представление объекта» для справочников.
    2.Изменил вид регистра «ВыбытияЖивотных» на «Обороты».
    3.В документе «Поступление» значение по умолчанию заполнялось для существующих и скопированных документов. Заполнение Источника поступления перенесено из обработки модуля формы «ПриСозданииНаСервере» в обработку модуля объекта «ОбработкаЗаполнения».
    4. В документе «ВыбытиеЖивотных» в клиентской обработке «ПриОткрытии» было обращение к методу Получить(), доступному только на сервере или в толстом клиенте. Заполнение Направления перенесено в обработку модуля объекта «ОбработкаЗаполнения».
    5. В документе «ВыбытиеЖивотных» для новых документов всегда выставлялась дата 01.01.1980. Удалена ветка Иначе, у стандартного ревизита Дата снята галочка «Заполнять из данных заполнения».
    6. В обработке проведения документа «ВыбытиеЖивотных» при формировании вложенного запроса не накладывался фильтр на текущий документ. Добавлена секция ГДЕ с условием на ссылку.
    7. В обработке проведения документа «ВыбытиеЖивотных» в запросе использовалось внутренне соединение, в результате в выборку не попадали данные, отсутствующие в регистре. Изменено на Левое соединение к таблице регистра.
    8. В обработке проведения документа «ВыбытиеЖивотных» в виртуальную таблицу РегистрНакопления.РазмещениеЖивотных.Остатки, передавался неверный параметр МоментВремени. В результате движения самого документа не участвовали в контроле остатков. Исправлена передача параметра:
    Запрос.УстановитьПараметр(“МоментВремени”, Новый Граница(МоментВремени(), ВидГраницы.Включая));
    9. В обработке проведения документа «ВыбытиеЖивотных» при выводе сообщения пользователю о нехватке передавался НомерСтроки вместо индекса и активировалось поле «Животное». Исправлено:
    Сообщение.Поле = “Животные[“+(ВыборкаДетальныеЗаписи.НомерСтроки – 1)+”].Количество”;
    10. При проведении документа «ВыбытиеЖивотных» не формировались записи по регистру «ВыбытияЖивотных». Исправлена ветка Иначе в алгоритме проведения документа.
    11. В документе «Инвентаризация» поле «КоличествоФакт» было обязательно к заполнению, что не позволяло отразить нулевое значение. Свойство «Проверка заполнения» для реквизита табличной части документа «КоличествоФакт» изменено на «Не проверять».
    12. В обработке проведения документа «ПеремещениеЖивотных» неверно выполнялся контроль остатков. В запрос добавлено условие:
    РазмещениеЖивотныхОстатки.КоличествоОстаток < 0
    13. После изменения регистра накопления «ВыбытияЖивотных» не работал отчёт «Анализ выбытий животных». Пересчитаны итоги.
    14. В отчете «РазмещениеЖивотных» не учитывались документы, созданные в последнюю секунду дня. Реализовано приведение даты к концу дня:
    ДобавитьКДате(КонецПериода(&Период, "День"), "Секунда", 1)

  11. Финальное задание

    1. Обратная связь по курсу
    Тетерин Дмитрий, программист, г.Москва
    Курс очень понравился, хотя определенный опыт в разработке в 1С 8 уже есть, дал дополнительные новые знания и
    помог освежить и систематизировать прежние. Много нового для себя открыл в блоке расчета зарплаты, стали гораздо понятнее
    механизмы расчета, которые ранее казались сложными. Новые знания уже применил в работе, они позволили решать задачи быстрее и
    оптимальнее, т.к. изменился в какой-то степени взгляд на них. Формат обучения для меня самый приемлемый и удобный, я в этом уже давно успел убедиться,
    т.к. не первый курс прохожу на этом проекте. У данного формата куча плюсов: высокий уровень преподавания, обучение без отрыва от работы,
    возможность в любой момент заново прослушать сложные моменты, да и стоимость данных курсов приемлемая, в сравнении например с очными от 1С.
    Большую благодарность хотел бы выразить автору курса Евгению Гилеву, замечательное понятное изложение, насыщенное примерами. Жаль что курс закрывается,
    я не пожалел и очень рад, что удалось найти время и пройти его с последним потоком. Спасибо!

    2. Практическое задание
    1) Для регистра накопления “Выбытия животных” неверно выбран тип регистра накопления, нужно выбрать “Обороты”, т.к. данные об остатках
    в отчете не используются;
    2) В документе поступления в модуле формы неверно инициализируется реквизит “Источник поступления”, каждый раз при открытии формы
    заполняется значением константы, а нужно заполнять только для вновь создаваемого документа, т.е. использовать проверку значения метода ЭтоНовый;
    3) В документе поступления есть возможность указать отрицательное количество животных, нужно установить галочку
    “Неотрицательное” у реквизита “Количество”;
    4) При создании нового документа поступления выставляется дата 01.01.1980, в задании не описано такого условия, в стандартных реквизитах
    необходимо отключить значение заполнения;
    5) В модуле формы документа “Выбытие животных” ошибка в процедуре ПриОткрытии в клиентском контексте идет обращение к константе,
    нужно создать соответствующий серверный метод для получения значения константы;
    6) В документе “Выбытие животных” есть возможность указать отрицательное количество животных, нужно установить галочку
    “Неотрицательное” у реквизита “Количество”;
    7) В модуле объекта документа “Выбытие животных” в запросе на проверку наличия отрицательных остатков нужно использовать границу,
    включая МоментВремени(), а также убрать строку кода:

     Движения.РазмещениеЖивотных.Записывать = Истина;

    т.к. в ней нет необходимости, ниже по тексту идет непосредственная запись набора;
    8) В модуле объекта документа “Выбытие животных” при указании поля в сообщении нужно указать номер индекса строки табличной
    часть, т.е. НомерСтроки – 1;
    9) При создании нового документа “Выбытие животных” выставляется дата 01.01.1980, в задании не описано такого условия,
    в модуле объекта в процедуре обработки заполнения, нужно убрать соответствующий код заполнения даты;
    10) В модуле объекта документа “Перемещение животных” в запросе на проверку на отрицательные остатки нет условие на наличие
    отрицательных остатков;
    11) В модуле формы документа “Инвентаризация” в процедуре ЗаполнитьНаСервере в запросе нужно остатки получать на момент времени
    документа инвентаризации;

    3. Помощь миру
    http://www.forum.mista.ru/topic.php?id=761595
    http://forum-1c.ru/index.php?topic=59386.0
    http://forum-1c.ru/index.php?topic=59299.new#new
    http://1c-pro.ru/threads/limit.56491/

    • Dobrenko Oleg 29.12.2015 в 20:03

      Дмитрий, благодарим вас за обратную связь по курсу!
      Финальное задание принято, поздравляем вас с успешным окончанием базового курса!

  12. Александр Белов 27.12.2015 в 12:35

    Белов Александр Алексеевич. Индивидуальный Предприниматель по настройке 1С:Предприятие. Беларусь, Гомель.

    Шаг 1. Обратная связь по курсу
    Насколько удобен, оказался формат обучения в сравнении с очным форматом?

    Значительно удобнее очного формата. Можно поставить на паузу, чтобы подумать, повторить, выполнить на компьютере. Можно повторить через некоторое время. Можно изучать материал по порциям, которые способен запоминать. Можно изучать в удобное время. Невозможно достичь аналогичного результата при очном обучении. У Евгения Гилева хорошее произношение, объясняет материал доступно. Даю курсу наивысшую оценку.

    Если Вы работаете на практике с платформой «1С:Предприятие 8», то, каким образом
    вам удалось применить новые навыки (какие результаты были достигнуты)

    Значительно увеличилась скорость выполнения заданий. Многие вопросы до прохождения курса не знал и искал решение в интернете. Научился решать задачи более эффективными методами.

    От каких заблуждений избавились?

    Узнал, что отчеты нужно строить только на регистрах, а не на документах.
    Узнал, что нужно изучать очень большие объемы информации.

    Что нового Вы узнали из базового курса по программированию?

    БОльшая часть материала была новой для меня.

    Шаг 2. Практическое задание
    Ошибки в конфигурации
    1. Регистр накопления «Выбытия животных» должен быть регистром оборотов, а не остатков.
    Для этого нужно на закладке «Основные» в поле «Вид регистра» указать «Обороты». Перепровести документы выбытия и пересчитать итоги.
    2. В справочнике «Направления выбытий» «Переезд» вместо «Перезд».
    3. Документ «Выбытие животных» в Обработке заполнения код не нужен:
    ДанныеЗаполнения = Новый Структура;
    ДанныеЗаполнения.Вставить(“Дата”, ‘19800101’);
    4. В документе Выбытие у стандартного реквизита Дата убрать Галочку Заполнять из данных заполнения.

    5. После заполнения документа «Инвентаризация» требуется «Модифицированность» установить в Истина.
    6. В документе «Инвентаризация» разрешить незаполненное фактическое количество т.к. оно может быть 0.
    7. В документе «Поступление» в процедуре ПриСозданииНаСервере устанавливается источник поступления из константы для новых документов и для уже созданных. Нужно заполнять ИсточникПоступления в процедуре ОбработкаЗаполнения().
    8. При создании поступления на основании инвентаризации источник поступления должен устанавливаться в Процедуре ОбработкаЗаполнения() и дата должна устанавливаться равной дате документа инвентаризации.
    9. В документе Поступление у стандартного реквизита дата установлено значение заполнения 01.01.1980 0:00:00. Это значение заполнения нужно очистить.
    10. В документе Выбытие в процедуре ОбработкаЗаполнения() нужно устанавливать Направление выбытия и дату при создании на основании инвентаризации.
    11. В документе выбытие для нового документа устанавливается направление выбытия из константы в процедуре ПриОткрытии(). При этом устанавливается и при создании на основании документа Инвентаризация. Нужно перенести установку НаправлениеВыбытия в процедуру ОбработкаЗаполнения.
    12. При создании на основании инвентаризации в документах Поступление и Выбытие нужно заполнять поле «ДокументОснование» ссылкой на документ инвентаризации. При создании на основании инвентаризации выбытия и поступления проверять не созданы ли уже Выбытие и Поступление на основании этой инвентаризации.
    13. В документе «Перемещение» при проведении в запросе для контроля остатков нужно указать условие на количество остатков < 0, иначе показывает нехватку животных неправильно.
    14. Желательно на формах документов вынести в панель навигации движения регистров.

    Шаг 3. Помощь миру
    Мой логин на форуме 1Cnastroika
    http://forum-1c.ru/index.php?topic=59419.0
    http://forum-1c.ru/index.php?topic=59299.20
    http://forum-1c.ru/index.php?topic=59397.0
    http://forum-1c.ru/index.php?topic=59432.0
    http://forum-1c.ru/index.php?topic=59437.0

    • Dobrenko Oleg 27.12.2015 в 20:00

      Александр, благодарим вас за развернутую обратную связь!
      Финальное задание принято, поздравляем вас с успешным окончанием базового курса!

  13. Здравствуйте.

    Обратная связь:

    Жуков Евгений Сергеевич, г.Тюмень

    Я начал изучать 1С с мая 2015г. До этого времени вообще не представлял, как происходит работа в 1С, т.к. работаю в банковской сфере(служба системного администрирования). Хочу в дальнейшем уйти из банковской сферы и всерьез заняться программированием в 1С.
    На Ваши курсы вышел вообще случайно: проводил поиски в интернет, нашел кучу предложений. Но заинтересовало только Ваше предложение(грамотная постановка и обоснование).

    Прошел курсы:
    1. Бесплатный “Курс 1С программирование за 21 день”
    2. Быстрый старт
    3. Базовый курс

    Каждый курс изложен на доступном языке. Очень интересны разные подходы для решения одинаковых задач. Пояснения о возможных ошибках.

    Проходя каждый курс, я узнавал очень много полезной информации, и понимал, как много я еще не знаю.

    Сейчас планирую заново, и уже более детально разобрать курсы “Быстрый старт” и “Базовый курс”, чтобы лучше усвоить материал.

    Практическое задание:

    Ошибки:

    1. При открытии существующего Документа “Поступление” поле “ИсточникПоступления” выходит один и тотже источник “Рождение на территории зоопарка”.
    Решение:

    Модуль формы документа:

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Объект.Ссылка.Пустая() Тогда
    Объект.ИсточникПоступления = Константы.ОсновнойИсточник.Получить();
    КонецЕсли;
    КонецПроцедуры

    2. Документ Выбытие. В форме документа идет обращение к константе под директивой компиляции &НаКлиенте событие “При открытии”.

    Решение:
    Использую серверную процедуру: ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    3. Регистр накопления “ВыбытияЖивотных”. Вид регистра: “Остатки”. Необходимо вид регистра поменять на “Оборотный”, с пересчетом итогов.

    4. Документ “ВыбытиеТоваров”. Событие проведения документа. Ошибка в запросе определения нехватки животных, отсутствует обращение к ссылке документа:

    ……………..
    (ВЫБРАТЬ
    | МИНИМУМ(ВыбытиеЖивотныхЖивотные.НомерСтроки) КАК НомерСтроки,
    | ВыбытиеЖивотныхЖивотные.Животное КАК Животное,
    | ВыбытиеЖивотныхЖивотные.Клетка КАК Клетка
    | ИЗ
    | Документ.ВыбытиеЖивотных.Животные КАК ВыбытиеЖивотныхЖивотные
    | ГДЕ
    | ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка
    ……………..

    также некорректно установлен параметр “МоментВремени”

    было: Запрос.УстановитьПараметр(“МоментВремени”, МоментВремени());

    стало: Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);
    Запрос.УстановитьПараметр(“МоментВремени”, Граница);

    5. В сообщении о нехватке Животного неверно указан указатель на поле
    Было: Сообщение.Поле = “Животные[“+ВыборкаДетальныеЗаписи.НомерСтроки+”].Животное”;
    Стало: Сообщение.Поле = “Животные[“+(ВыборкаДетальныеЗаписи.НомерСтроки-1)+”].Животное”;

    6. Документ “ПеремещениеЖивотных” в запросе нет условия:

    ГДЕ
    РазмещениеЖивотныхОстатки.КоличествоОстаток < 0

    7. Документ "Инвентаризация". Неверно составлен запрос в процедуре ЗаполнитьНаСервере. При нажатии на кнопку "Заполнить" обнуляется колонка "КоличествоФакт"

    Исправление:
    Запрос.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | РазмещениеЖивотныхОстатки.Животное,
    | РазмещениеЖивотныхОстатки.Клетка,
    | РазмещениеЖивотныхОстатки.КоличествоОстаток КАК Количество,
    | ИнвентаризацияЖивотные.КоличествоФакт
    |ИЗ
    | РегистрНакопления.РазмещениеЖивотных.Остатки КАК РазмещениеЖивотныхОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Инвентаризация.Животные КАК ИнвентаризацияЖивотные
    | ПО РазмещениеЖивотныхОстатки.Животное = ИнвентаризацияЖивотные.Животное
    | И РазмещениеЖивотныхОстатки.Клетка = ИнвентаризацияЖивотные.Клетка";

    8. В документах при создании документа поле дата заполняется датой "01.01.1980". Может это и устраивает потребителя, но лучше бы заполнять текущей датой создания. Удалил в документе "Поступление" значение заполнения реквизита "Дата". Удалил в документе "Выбытие" строчки кода события "ОбработкаЗаполнения".

    Удалил строки:
    ДанныеЗаполнения = Новый Структура;
    ДанныеЗаполнения.Вставить("Дата", '19800101');

    9. Можно посчитать за ошибку, что не настроены роли. Но это уже личное дело потребителя.

    10. Формат даты в отчетах (Дата + Время), убрал время.

    Помощь миру:
    Готовлюсь провести мини-семинар для своих коллег.

    • Dobrenko Oleg 27.12.2015 в 20:10

      Евгений, благодарим вас за обратную связь!
      Практическое задание принято, ждем от вас отчета по шагу №3.

      • Здравствуйте.

        Фотоотчет отправлен

        • Dobrenko Oleg 29.12.2015 в 20:11

          Здравствуйте!
          На почту mg@spec8.ru письма с фото отчетом не приходило. Отправьте пожалуйста повторно.

          • Отправил повторно

            • Dobrenko Oleg 29.12.2015 в 20:22

              Пришло! Отчет по шагу №3 принят, поздравляем вас с успешным окончанием базового курса!

  14. Nesterov Andrey 25.12.2015 в 11:45

    Добрый день!

    1. РегистрНакопления.ВыбытияЖивотных: тип регистра должен быть “Обороты”;

    *2. Периодичность нумерации всех документов – В пределах года (было: Непереодический);

    3. Документ.ПеремещениеЖивотных: ОбработкаПроведения – не верный текст запроса для контроля остатков, не хватало строки “ГДЕ РазмещениеЖивотныхОстатки.КоличествоОстаток < 0";

    4. Документ.ПоступлениеТоваров: процедура "ПриСозданииНаСервере" формы ФормаДокумента – источник поступления заполняется значением по умолчанию для всех документов, в т.ч. и записанных (с указанием отличного от значения по умолчанию) источника поступления;

    5. Документ.ВыбытиеЖивотных: в процедуре "ПриОткрытии" формы ФормаДокумента используется обращение к базе данных (Константы.ОсновноеНаправление.Получить();) – в толстом клиенте это сработает, в тонком клиенте – нет;

    *6. Документ.Инвентаризация: в процедуре ЗаполнитьНаСервере формы ФормаДокумента получаются текущие остатки, а не остатки на дату документа;

    7. Документ.ВыбытиеЖивотных: ОбработкаПроведения – не верно установлено значение параметра запроса &МоментВремени (учитывая что остатки контролируются по новой методике, то момент времени должен включать документ);

    8. Отчет.РазмещениеЖивотных: не думаю что тип значения параметра "Период" = Дата + Время очень подходит, заменил на состав "Дата" и в выражении привел значение к концу дня;

    9. Документ.ВыбытиеЖивотных: не верно позиционируется сообщение на строке при нехватке (должен передаваться индекс, а не номер строки);

    10. Документ.Поступление: не уверен что заполнение даты документа значением по умолчанию "01.01.1980 0:00:00" является верным (на уровне свойства "ЗначениеЗаполнения" реквизита "Дата");

    11. Документы.ВыбытиеЖивотных: не уверен что заполнение даты документа (при создании на основании документа "Инвентаризация") значением "01.01.1980 0:00:00" является верным (в процедуре "ОбработкаЗаполнения" модуля объекта);

    12. Документы.Инвентаризация: для реквизитов "Количество" и "КоличествоФакт" свойство "Проверка заполнения" установлено в значение "Выдавать ошибку", а это является не верным, т.к. по данным учета ("Количество") или по факту ("КоличествоФакт") может быть равно 0;

    13. После исправления п.1 необходимо пересчитать итоги регистра, иначе отчет "АнализВыбытийЖивотных" не работает;

    • Dobrenko Oleg 26.12.2015 в 18:36

      Добрый день, Андрей!
      Практическое задание принято, ждем от вас обратную связь по курсу и отчета по шагу №3.

      • Nesterov Andrey 26.12.2015 в 21:05

        1) Скорее не нового, а упорядочивания имеющихся знаний;

        2) Даже не смотря на довольно большой опыт работы с 1С, объекты автоматизации периодических расчетов всегда казались “космическими” – сейчас гораздо больше (ожидаю их полного “приземления” после прохождения продвинутого курса);

        3) Непосредственно материал базового курса применяется на практике каждый день, а вот доп.материалы из мастер-группы были очень кстати (в частности, drug’n’drop был применен в одной из старых разработок, когда к ней пришлось вернуться – все течет, все изменяется);

        4) Данный формат (даже не смотря на невозможность просмотра видео материлов не под windows ;) ) гораздо более удобен (думаю что почему – Вам уже и без меня много-много раз написали).

        Нестеров Андрей Анатольевич

        Начальник отдела разработки, Санкт-Петербург

        P.S. С п.3 (именно в формате фото отчета) будут некоторые проблемы (помощь на форуме или статья не рассматривается), т.к. нечто подобное у меня проходит примерно раз в неделю спонтанно, когда кто-то из программистов занимается решением какой-то конкретной задачи. Из последнего: “фишка” 8.2 по новой схеме контроля отрицательных остатков.

  15. Шаг 1 Обратная связь
    Мельников Евгений Леонидович, руководитель компании ООО “Вертикаль” (франчайзи 1С), г. Находка

    Спасибо команде проекта за отличный курс и профессиональное изложение материалов. Курс помог упорядочить знания. Для меня новым был раздел про автоматизацию расчета зарплаты. Пришло понимание при задании
    параметров типа Дата в СКД. Задание даты в запросе получения остатков по регистрам накопления.
    Формат курса оказался удобным, потому что обучение проходит без отрыва от работы и всегда можно остановить прослушивание и продолжить позже, так же не ясные моменты прослушать повторно.

    Шаг 2 Практическое задание

    01 При создании нового документа “Поступление дата документа равна 01.01.1980 г. Исправление – свойства документа, стандартные реквизиты, Дата очистил значение заполнения;

    02 Документ ВыбытиеЖивотных – модуль объекта, процедура Обработка Заполнения убрал строки после ИНАЧЕ;

    03 Документ Поступление – модуль формы – процедура ПриСозданииНаСервере всегда реквизиту ИсточникПоступления присваивается значение константы,
    а должно присваиваться только для новых документов, не для существующих. Сделал проверку на новый документ;

    04 Документ ВыбытиеЖивотных – обработка проведения – параметр запроса МоментВремени() изменил на Граница.Включая;

    05 Документ ВыбытиеЖивотных, если не хватает количества, то не происходит позиционирование на строку – исправил (ВыборкаДетальныеЗаписи.НомерСтроки – 1);

    06 Документ ВыбытиеЖивотных, если не хватает количества, то не происходит позиционирование на колонку Количество – исправил (ВыборкаДетальныеЗаписи.НомерСтроки – 1).Животные
    на (ВыборкаДетальныеЗаписи.НомерСтроки – 1).Количество;

    07 Регистр накопления ВыбытияЖивотных должен быть вид регистра Обороты;

    08 Документ Инвентаризация убрал проверку на незаполненный реквизит табличной части КоличествоФакт. Ведь фактического количества может не быть;

    09 По измерениям Животные регистров накопления включил свойство Индексировать;

    10 После сменены типа регистра накопления ВыбытиеЖивотных отчет АнализВыбытийЖивотных формировался пустой. Длоя формирования не пустого отчета пересчитал итоги по регистру;

    11 Отчет РазмещениеЖивотных параметр Период установил состав Дата и в параметре написал выражение:
    ДобавитьКДате(КонецПериода(&Период, “День”), “Секунда”, 1);

    12 В конфигураторе не созданы роли и пользователи;

    13 Документ ВыбытиеЖивотных – процедура ПриОткрытии – код получения значения константы вынес на Сервер;

    14 Документ ПеремещениеЖивотных – ОбработкаПроведения – в запросе нужно вставить секцию ГДЕ с проверкой КоличествоОстаток < 0, иначе при положительном остатке будет выдавать ошибка
    нехватки животного в клетке.

    Шаг 3 Помощь миру

    Описывая ошибки, проблемы, пожелания в типовых конфигурациях фирмы 1С считаю, что этими действиями мы – пользователи улучшаем конфигурации.
    Бывает для понимания причины проблемы и воспроизведения ошибки нужно заходить к конфигуратор и смотреть код. Вот здесь курс очень помог.
    Ссылки на закрытые партнерские конференции с описанием проблем:

    https://partners.v8.1c.ru/forum/topic/1429913#m_1429913
    https://partners.v8.1c.ru/forum/topic/1420858#m_1420858
    https://partners.v8.1c.ru/forum/topic/1417716#m_1417716
    https://partners.v8.1c.ru/forum/topic/1327465#m_1327465

    Всех с наступающим Новым Годом!

    • Dobrenko Oleg 26.12.2015 в 18:31

      Евгений, благодарим вас за обратную связь!
      Финальное задание принято, поздравляем с успешным окончанием базового курса!

  16. В комментариях к заданию написано.
    “Финальное задание принимаем по 24 августа включительно.”

    Это ошибка?

    • Dobrenko Oleg 26.12.2015 в 18:39

      Да, ошибка. Исправили, спасибо! Финальное задание принимается до 11 января.