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

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

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

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

  1. Виктор Орлинский, программист.

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

    2.
    – Документ «ВыбытиеЖивотных» – Модуль объекта – Процедура «ОбработкаПроведения»: необходимо использовать в качестве значения параметра «МоментВремени» универсальный объект «Граница» со значением свойства «ВидГраницы.Включая».
    – Документ «ВыбытиеЖивотных» – Модуль объекта – Процедура «ОбработкаПроведения»: в запросе к остаткам регистра, при обращении к табличной части документа во вложенном запросе пропущено условие ссылки на сам документ.
    – Документ «ВыбытиеЖивотных» – Модуль объекта – Процедура «ОбработкаПроведения»: некорректное обращение к строке табличной части по индексу.Лишний предлог.
    – Регистр «ВыбытиеЖивотных»: вид регистра должен быть «Обороты». При этом переработать отчет «АнализВыбытийЖивотных».
    – Документ «ВыбытиеЖивотных» – Модуль объекта – Процедура «ОбработкаЗаполнения»: лишнее определение даты ‘19800101’.
    – Документ «ВыбытиеЖивотных»: заполнение реквизита «Направление» необходимо убрать из модуля формы документа и перенести в обработчик «ОбработкаЗаполнения» как

    Направление = Константы.ОсновноеНаправление.Получить();

    для определения при создании нового документа.
    – Документ «Поступление»: заполнение реквизита «ИсточникПоступления» необходимо убрать из модуля формы документа и перенести в обработчик «ОбработкаЗаполнения» как

    ИсточникПоступления = Константы.ОсновнойИсточник.Получить();

    для определения при создании нового документа.
    – Документ «Поступление»: необходимо очистить поле «Значение заполнения» для стандартного реквизита дата.
    – Документ «ПеремещениеЖивотных» – модуль объекта – процедура «ОбработкаПроведения»: в запросе по остаткам необходимо добавить условие

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

    – Отчет «РазмещениеЖивотых»: параметр «Период» типа «Дата» необходимо привести к концу дня и добавить секунду.
    – Документ «Инвентаризация»: снять проверку заполнения реквизита табличной части «КоличествоФакт» для возможности фиксирования нулевых остатков.

    3.
    Пока очень немного помощи миру:
    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=641416&threadtype=1
    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=641418#641418
    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=641243
    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=641306&threadtype=1

    • Dobrenko Oleg 23.06.2015 в 12:26

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

  2. vitaliy.kepov 22.06.2015 в 08:03

    1. Виталий Кепов, г. Челябинск, консультант по 1с.
    Я изначально не ставил себе задачу стать програмистом. Основная цель была в том, чтобы наладить более качественную работу с подрядчиками-программистами: понимать сложность задания, возможные способы реализации, сроки, стоимость. В этом плане всё хорошо.
    Но как оказалось всё не так сложно и курс уже очень помог в работе с клиентами: мелкие и срочные вопросы решаю сам без поддержки со стороны программистов (решаю вопросы у клиента на месте), а сложные вопросы (на которые у меня пока уходит очень много времени) удаётся лучше сформулировать исполнителям и контролировать процесс исполнения.
    Планирую изучить оставшиеся мастер-группы (хватило времени пройти чуть меньше половины мг) и взяться за продвинутый курс.

    2. Зоопарк:
    2.1. Документ “Выбытие животных” – получает константу на стороне клиента.
    Исправил на:

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

    &НаСервере
    Функция ОсновноеНаправление()
        Возврат Объект.Направление = Константы.ОсновноеНаправление.Получить();
    КонецФункции

    2.2. Документ “Поступление”: у стандартного реквизита “Дата” указано значение заполнения “01.01.1980 0:00:00”.
    Очистил значение заполнения.

    2.3. Отчёт “размещение животных” искюлчает секунду формирования.
    Поменял состав даты на “дата” и привёлкконцу дня + 1 сек.

    ДобавитьКДате(КонецПериода(&Период, "День"), "Секунда", 1)

    2.4. Документ “Поступление”: при открыти автоматически меняется источник поступления на значение “Рождение на территории зоопарка”.
    Сделал:

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

    2.5. В документе “Выбытие животных” не работаетконтроль остатков.
    Изменил запрос и установку параметров:

    ВЫБРАТЬ
        ЕСТЬNULL(-РазмещениеЖивотныхОстатки.КоличествоОстаток, 0) КАК Нехватка,
        ДанныеДокумента.Животное КАК Животное,
        ДанныеДокумента.Клетка КАК Клетка,
        ДанныеДокумента.НомерСтроки
    ИЗ
        (ВЫБРАТЬ РАЗЛИЧНЫЕ
            ВыбытиеЖивотныхЖивотные.Животное КАК Животное,
            ВыбытиеЖивотныхЖивотные.Клетка КАК Клетка,
            ВыбытиеЖивотныхЖивотные.НомерСтроки КАК НомерСтроки
        ИЗ
            Документ.ВыбытиеЖивотных.Животные КАК ВыбытиеЖивотныхЖивотные
        ГДЕ
            ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка) КАК ДанныеДокумента
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЖивотных.Остатки(
                    &МоментВремени,
                    (Животное, Клетка) В
                        (ВЫБРАТЬ
                            ВыбытиеЖивотныхЖивотные.Животное,
                            ВыбытиеЖивотныхЖивотные.Клетка
                        ИЗ
                            Документ.ВыбытиеЖивотных.Животные КАК ВыбытиеЖивотныхЖивотные
                        ГДЕ
                            ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка)) КАК РазмещениеЖивотныхОстатки
            ПО ДанныеДокумента.Животное = РазмещениеЖивотныхОстатки.Животное
                И ДанныеДокумента.Клетка = РазмещениеЖивотныхОстатки.Клетка
    ГДЕ
        РазмещениеЖивотныхОстатки.КоличествоОстаток < 0

    Изменил вывод сообщений об ошибке:

    Сообщение = Новый СообщениеПользователю;
                Сообщение.Текст = "Недостаточно животного в "+ВыборкаДетальныеЗаписи.Животное+" в "+ВыборкаДетальныеЗаписи.Клетка+" в количестве "+ВыборкаДетальныеЗаписи.Нехватка;
                Сообщение.Поле = "Животные["+(ВыборкаДетальныеЗаписи.НомерСтроки-1)+"].Животное";
                Сообщение.УстановитьДанные(ЭтотОбъект);
                Сообщение.Сообщить();

    2.6.Документ”инветаризация” не даёт поставить нулевое количество.
    Убралпроверку заполнения реквизита в табличной части.

    3. https://partners.v8.1c.ru/forum/message/1374349?onlyMyThemesInput=true#m_1374349 (если нет доступа – скину скрин)
    http://forum.infostart.ru/forum87/topic133251/message1376465/?result=reply#message1376465

    • Dobrenko Oleg 23.06.2015 в 12:25

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

  3. Денис Новосёлов 19.06.2015 в 15:15

    Новосёлов Денис Юрьевич, программист 1С, Екатеринбург, ИП

    1) Курс понравился, ни разу не пожалел, что записался на базовый уровень.
    формат обучения самый подходящий – короткие видео и наличие его классификации (конфигурация просмотра курсов) + Домашние задания.
    И самое главное – есть график прохождения курса! Без него, вряд ли дошёл до конца.

    Не думал, что когда-либо освою расчёты в 1С, если с проводками хоть как-то имел опыт работы, то с расчётами, вообще не понимал механизма.
    В обязательном порядке пройду продвинутый курс и разработка мобильных приложений.
    В общем я ваш навеки! ))

    2) Ошибки конфигурации:
    – При вводе нового документа “Поступление” дата документа проставляется фиксированной датой (01.01.1980). Обычно считается что дата документа должна быть по

    умолчанию текущей. (Решение: Очистить свойство “Значение заполнения” стандартного реквизита “Дата”, документа “Поступление”.)
    – Контроль остатков, при проведении документа “Перемещение животных”, не корректно работат-если переводить не всех животных из клеток, то документ не

    проводится.(Решение: в запросе остатков установить проверку условия “РазмещениеЖивотныхОстатки.КоличествоОстаток < 0")

    – При вводе нового документа "Выбытие животных", дата документа проставляется фиксированной. (Решение: В модуле документа, в процедуре ОбработкаЗаполнения,

    закомментировать ветку когда данные заполнения неопределены)

    – В Документе "Выбытие животных" не срабатывает контроль остатков. (Решение: В запросе, в обработке проведении документа, граница времени должна включать себя

    в параметр. "Граница = Новый Граница(МоментВремени(),ВидГраницы.Включая);")
    – В документе "Выбытие животных", информирующая надпись о недостатке животных, при превышении количества, выводится с неправильной привязкой к элементу формы.

    (Решение: В модуле документа, при привязке объекта "СообщениеПользователю" нужно отнять от НомерСтроки единичку и в качестве поля привязки указать "количество"

    "Сообщение.Поле = "Животные["+(ВыборкаДетальныеЗаписи.НомерСтроки-1)+"].Количество";" )
    – В документе "Инвентаризация", при заполнении табличной части, через кнопку "Заполнить" не устанавливается признак модифицированности документа. (Решение: в

    процедуре заполнения табличной части устноавить признак модификации "Модифицированность = Истина;")
    _ Документ "Инвентаризация" не позволяет списать животное в ноль, либо зафиксировать факт появления по итогом инветаризации с нуля. (Решение: Проверять

    заполнение план/факт нужно не по отдельности а в совокупе, то есть не давать записать документ, если оба параметры план и факт равны нулю. В свойствах реквизитов

    Количество и КоличествоФакт, убрать проверку на заполнение )

    3) Публикация на Инфостарте
    http://infostart.ru/public/369451/

    • Dobrenko Oleg 19.06.2015 в 19:47

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

  4. I. Обратная связь.
    Моя деятельность уже много лет связана с базами данных, но с 1с сталкивался только косвенно. Редактировать конфигурации не приходилось.
    Прохожу последовательно все три курса по программированию. Для меня все новое, так как опыта в разработке пока не было.
    Большое спасибо за увлекательный материал. Формат обучения считаю идеальным для меня. Удобно самому планировать занятия.
    По материалам курса осталось еще довольно много “белых пятен”. Надеюсь, что все они будут заполнены материалами продвинутого курса.
    Хотелось бы отмететь, что были сложности в понимании материала 4-го блока, особенно с базовыми, ведущими и ведомыми расчетами. Тут до сих пор нет полной ясности. Опять же надеюсь на продвинутый курс.
    Очень надеюсь, что вскоре придется применить полученные знания на практике.
    Контактные данные вышлю на почту.

    II. Решение.
    В документе “Поступление”.
    1. Стандартный реквизит “Дата” значение заполнения нужно убрать.
    2. При открытии существующего документа “Поступление” Источник поступления заменяется на значение константы. Нужно проверять на новый документ.

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

    В документе “Выбытие”
    1. В тонком клиенте возникает ошибка при открытии документа “Выбытие”. Нужно перенести код обработки события ПриОткрытии в ПриСозданииНаСервере.
    2. В модуле объекта в обработке заполнения нужно убрать установку даты в ‘19800101’.
    3. В модуле объекта ОбработкаПроведения во вложенном запросе нужно добавить условие ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка
    4. В модуле объекта ОбработкаПроведения при проверке остатков нужно учитывать и текущий документ.

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

    5. При позиционировании курсора в сообщении о нехватке ВыборкаДетальныеЗаписи.НомерСтроки-1. Ну и лишний предлог в
    Сообщение.Текст = “Недостаточно животного в “+ВыборкаДетальныеЗаписи.Животное+” в “+ВыборкаДетальныеЗаписи.Клетка+” в количестве “+ВыборкаДетальныеЗаписи.Нехватка;

    В документе “Перемещение”
    1. В модуле объекта ОбработкаПроведения во запросе нужно добавить условие “РазмещениеЖивотныхОстатки.КоличествоОстаток < 0"

    В документе "Инвентаризация"
    1. Невозможно заполнить количество по факту = 0. Снимем проверку заполнения для этого реквизита.
    2. После заполнения документа выставим признак модифицированности Модифицированность = Истина;

    Регистр накопления "ВыбытияЖивотных" нужно изменить вид регистра "Обороты", при этом перестанет работать отчет "АнализВыбытийЖивотных". Его нужно переделать.
    Дополнительно включим в командном интерфейсе форм документов возможность просматривать движения по регистрам (для удобства).

    III. Помощь миру.
    Это конечно немного, но что есть.
    http://forum-1c.ru/index.php?topic=47892.new#new
    http://forum-1c.ru/index.php?topic=47850.new#new
    http://forum-1c.ru/index.php?topic=47842.msg138059#msg138059

    • Dobrenko Oleg 19.06.2015 в 14:27

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

  5. fedotovaleksan 17.06.2015 в 10:43

    Шаг 1. Обратная связь по курсу.
    1. Из нового было все, что касается регистров расчета. На практике не сталкивался с ними, и, если честно, боялся и не понимал их. Теперь все гораздо легче.
    2. Мне стало гораздо проще обращаться с регистром бухгалтерии, особенно настраивать его субконто. Делал в прошлый раз это методом проб и ошибок. Теперь все стало ясно.
    3. На практике мне как раз пришлось выполнять небольшую настройку планов видов расчетов в зарплатной базе организации.
    4. Формат обучения очень удобен. Особенно то, что можно перемотать и прослушать материал еще раз или даже не один раз.

    Шаг 2. Практическое задание.
    1. Проверка модулей сразу дало ошибку в форме документа “Выбытие животных” в процедуре “ПриОткрытии” получается константа. На мой взгляд логичнее было бы сделать это в процедуре “ПриСозданииНаСервере”.

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)  
    КонецПроцедуры

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

    2. Документ “Поступление” на мой взгляд нелогично использовать для даты значение заполнения “01.01.1980 0:00:00”. Убрал это.

    3. В модуле формы документа “Поступление” идет безусловное заполнение реквизита источник поступления. Исправил:

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

    4. Документ “ВыбытиеЖивотных” процедура “ОбработкаПроведения”. В запросе поле “Нехватка” лучше проверить на пустоту перед изменением знака. И условие на выборку данных только из того документа, который проводится. Так же необходимо использовать вместо момента границу, что бы включить движения, которые дал документ. Итого получилось так:

    Запрос.Текст =
            "ВЫБРАТЬ
            |   РазмещениеЖивотныхОстатки.Животное,
            |   РазмещениеЖивотныхОстатки.Клетка,
            |   ЕСТЬNULL(РазмещениеЖивотныхОстатки.КоличествоОстаток, 0) * -1 КАК Нехватка,
            |   ДанныеДокумента.НомерСтроки
            |ИЗ
            |   РегистрНакопления.РазмещениеЖивотных.Остатки(
            |           &МоментВремени,
            |           (Животное, Клетка) В
            |               (ВЫБРАТЬ
            |                   ВыбытиеЖивотныхЖивотные.Животное,
            |                   ВыбытиеЖивотныхЖивотные.Клетка
            |               ИЗ
            |                   Документ.ВыбытиеЖивотных.Животные КАК ВыбытиеЖивотныхЖивотные
            |               ГДЕ
            |                   ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка)) КАК РазмещениеЖивотныхОстатки
            |       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |           МИНИМУМ(ВыбытиеЖивотныхЖивотные.НомерСтроки) КАК НомерСтроки,
            |           ВыбытиеЖивотныхЖивотные.Животное КАК Животное,
            |           ВыбытиеЖивотныхЖивотные.Клетка КАК Клетка
            |       ИЗ
            |           Документ.ВыбытиеЖивотных.Животные КАК ВыбытиеЖивотныхЖивотные
            |       ГДЕ
            |           ВыбытиеЖивотныхЖивотные.Ссылка = &Ссылка
            |      
            |       СГРУППИРОВАТЬ ПО
            |           ВыбытиеЖивотныхЖивотные.Животное,
            |           ВыбытиеЖивотныхЖивотные.Клетка) КАК ДанныеДокумента
            |       ПО РазмещениеЖивотныхОстатки.Животное = ДанныеДокумента.Животное
            |           И РазмещениеЖивотныхОстатки.Клетка = ДанныеДокумента.Клетка
            |ГДЕ
            |   РазмещениеЖивотныхОстатки.КоличествоОстаток < 0";

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

    5. При сообщении о нехватке значение “Номер строки” уменьшил на 1.

    Сообщение.Поле = "Животные["+(ВыборкаДетальныеЗаписи.НомерСтроки-1)+"].Животное";

    6. Регистр накопления “ВыбытиеЖивотных” имеет вид “Остатки”, хотя по нему нужны только обороты. Исправил.

    7. При создании документа в обработке заполнения опять прописана дата “01.01.1980 0:00:00”. Начинаю подозревать, что так и надо. Но убрал это.

    8.В процедуре “ОбработкаПроведения” документа “ПеремещениеЖивотных” исправить запрос. Опять проверяем на пустоту поле “Нехватка” и выбираем только отрицательные значения. Исправил:

    Запрос.Текст =
            "ВЫБРАТЬ
            |   РазмещениеЖивотныхОстатки.Животное,
            |   РазмещениеЖивотныхОстатки.Клетка,
            |   ЕСТЬNULL(РазмещениеЖивотныхОстатки.КоличествоОстаток, 0) * -1 КАК Нехватка
            |ИЗ
            |   РегистрНакопления.РазмещениеЖивотных.Остатки(
            |           &МоментВремени,
            |           Животное = &Животное
            |               И Клетка = &Клетка) КАК РазмещениеЖивотныхОстатки
            |ГДЕ
            |   РазмещениеЖивотныхОстатки.КоличествоОстаток < 0";

    9. В документе “Инвентаризация”, на мой взгляд, пользователь, при автоматическом заполнении, ожидает получить остаток на дату документа, а не на дату заполнения. Исправил:

    Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |   РазмещениеЖивотныхОстатки.Животное,
            |   РазмещениеЖивотныхОстатки.Клетка,
            |   РазмещениеЖивотныхОстатки.КоличествоОстаток КАК Количество
            |ИЗ
            |   РегистрНакопления.РазмещениеЖивотных.Остатки(&МоментВремени, ) КАК РазмещениеЖивотныхОстатки";
           
        Запрос.УстановитьПараметр("МоментВремени", Объект.Дата);

    10. В инвентаризации возможны ситуации, когда инвентаризируемого объекта нет по учету, но он есть фактически, так же как и обратные ситуации. В связи с этим разрешил пустые записи в полях “Количество” и “КоличествоФакт” и запретил редактирование поля “Количество”, так как это учетные данные и пользователям их менять не следует.

    11. Исправил отчет “Анализ выбытий животных”из-за того, что изменил тип регистра.

    Шаг 3. Помощь Миру.
    http://infostart.ru/public/368629/

    • Dobrenko Oleg 19.06.2015 в 19:43

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

  6. 1) Аветисова Яна Витальевна, программист г.Воронеж.
    Новым была информация о регистрах бухгалтерии и регистрах расчета. По всему курсу были интересные нюансы. Спасибо за курс!

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

    3)http://1c.mista.ru/topic.php?id=745424

    • Dobrenko Oleg 19.06.2015 в 19:35

      Практическая часть финального задания принята!
      >3)http://1c.mista.ru/topic.php?id=745424
      Ваш ник?

      • мой ник no4ka

        • Dobrenko Oleg 21.06.2015 в 20:58

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