Домашнее задание №8 базового курса

2-ое задание по второму блоку базового курса.

Для выполнения рекомендуется изучить следующие главы 2-го блока.
Глава 4. Настройка форм документов.
Глава 5. Журналы документов.
Глава 6. Настройка командного интерфейса.
Глава 7. Регистры.
Глава 8. Регистры накопления.
Глава 9. Регистры сведений.
Глава 10. Настройка форм.

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

комментария 102 на “Домашнее задание №8 базового курса”

  1. Евгений, Вы несколько раз говорили, что каждое обращение через точку – это дополнительный запрос к базе данных. Например, если нам доступен объект Ссылка, и требуется несколько раз обращаться к реквизитам типа Ссылка.Товар, Ссылка.Количество. А если объявить переменную ТекДок=Ссылка, то строка ТекДок.Товар избавит нас от лишнего обращения к базе данных? Или лучше объявлять переменные ТекТовар=Ссылка.Товар и работать с ней?
    ДЗ №8 сделано.

    • В приведенном примере объявление переменной ТекДок не поможет, ведь там будет содержаться таже ссылка.
      А вот если Ссылка.Товар используется несколько раз (возможно в цикле), то правильнее объявить переменную ТекТовар=Ссылка.Товар

  2. Баранов Николай 06.08.2010 в 01:48

    Готово!

  3. Филимонов Юрий 05.08.2010 в 22:12

    Домашнее задание выполнено.
    Вроде как полегче становится несмотря на то, что задания с каждым разом все сложнее

  4. Юрий Булин 04.08.2010 в 08:25

    ДЗ №8 выполнил

  5. Оксана 03.08.2010 в 09:49

    Задание выполнено

  6. Александр Егошин 03.08.2010 в 01:35

    Задание выполнил

  7. ДЗ 8 Сделал.

  8. Задание выполнила.

  9. Выполнила. Опять сложнее всего было с клиентом и сервером. Особенно с клиентом :)
    И еще в некоторых моментах поняла формулировку задания не так, как Вы разобрали в решении ДЗ. Пришлось переделывать.

  10. Александр Кононов 02.08.2010 в 01:05

    Задание выполнил

  11. Сделал.

  12. Евгений Ершов 01.08.2010 в 21:56

    ДЗ №8 сделал.
    “Неделя “передышки” нашего курса подходит к концу…” – это вы наверное пошутили. Пока об отдыхе и не мечтаю.

    • Перемена труда это отдых :)
      Вначале смотрите мастер-группу, потом переключаетесь на изучение курса, далее выполняете домашние задания :)

      • Евгений Ершов 01.08.2010 в 22:49

        Да, надо менять подход в обучении. А то точно не успею. Ну ведь все равно хочется пощупать всё руками. Наверное “щупать” придется позже.

  13. Выполнил.

  14. Домашку номер 8 сделала.

  15. Выполнено.

  16. Результат = Запрос.Выполнить().Выгрузить();
    Движения.ОстаткиТовара.Загрузить(Результат);

    Вид движения записался как Приход. Как сделать, чтоб Вид движения был Расход?

    • Попробуйте в запросе выбрать значение системного перечисления ВидДвиженияНакопления.Расход.
      Поле назовите “ВидДвижения”.

  17. Анатолий Белогорцев 30.07.2010 в 22:26

    Задание выполнено.
    Большую часть времени потратил на реализацию хранение цен в разрезе различных единиц измерения и на клиент-серверные вызовы при разработке процедур пересчета данных в ТЧ документов.
    Посмотрим, что там в эталонном. :)

  18. Сделано

  19. Евгений Пехов 29.07.2010 в 14:10

    ДЗ 8 сделал

  20. saveryanov 29.07.2010 в 10:28

    ДЗ 8 Выполнил.
    Как обычно сначала сделал сам, затем посмотрел ваше решение и всё переделал.

    Спасибо. Ваш проект – супер!

    • Спасибо!

    • Точно-точно, как бы сам не сделал, всё равно есть отличия.
      Хотя и сходств в решении заданий всё больше ;)

  21. Шумаев Алексей 28.07.2010 в 23:20

    ДЗ 8 выполнено

  22. Владимир Мединский 28.07.2010 в 15:20

    ДЗ Выполнил. Сложностей не возникло.

  23. Игорь Владимиров 27.07.2010 в 14:43

    ДЗ№8 выполнил.

  24. ДЗ №8 выполнила, трудности были с выбором варианта пересчета при изменении суммы.

  25. Сделано.

  26. Задание 8 сделал

  27. Дз 8 сделал наконец-то.

  28. Задание выполнил. Мне кажется немного некорреткно поставлена задача “Создайте объект, для хранения данных о закупках от поставщиков…”. По большому счету, в регистре хранения остатков мы можем получить эту информацию. Какой объект подразумевался?

  29. Оркия Барташевич 25.07.2010 в 20:36

    Выполнено. Наверное, криво. Пойду смотреть эталонное решение.

  30. Сергей Калмыков 25.07.2010 в 17:24

    Выполнил.

  31. Сделано. Эффективно ли проверять изменял ли пользователь единицу измерения в спр. номенклатура, в обработке выбора реквизита ед. изм.?

    • Логичней делать это в момент записи.
      Ведь пользователь мог поменять единицу, а потом сам осознать тяжесть содеянного и не записать элемент :)

  32. 8 задание, сделано.
    Сделала запрет изменения единицы изменения установкой доступности реквизита при открытии формы. Или это не оптимально проверять каждый раз?
    Вообще, заметила странную закономерность, четные задания для меня проще , чем нечетные.;))))

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

  33. progr-2008 24.07.2010 в 12:45

    Сделала, цены – через справочник ТипыЦен, Регистр сведений ЦеныНоменклатуры со ссылкой измерения на справочник и удокументов добавила реквизит Прайс со ссылкой на справочник.
    &НаКлиенте
    Процедура ТоварыНоменклатураПриИзменении(Элемент) – заполняет цену и считает сумму, для чего вызывает
    &НаСервереБезКонтекста
    Функция ПолучитьЦену(Ссылка,Прайс) – запросом к регистру сведений ЦеныНоменклатуры и Возврат Цена.
    Работает.
    Проведение и движения регистров – тоже нормально.
    Вот только как регистры у меня в интерфейсе вызываются – не очень устраивает.
    ОстаткиТоваров – в форме документа, а регистр сведений ЦеныНоменклатуры – вообще через Все функции заполняю.
    Не нашла, как сделать удобнее.

    • progr-2008 24.07.2010 в 18:46

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

      • Типа кнопки “Перейти” в 8.1?
        Стандартно такого функционала нет, нужно создавать свою собственную обработку проверки движений..

        • progr-2008 24.07.2010 в 20:25

          Да, хотела именно такую кнопку найти.

    • Можно регистры вывести в командный интерфейс, в панель навигации..

      • progr-2008 24.07.2010 в 21:00

        Да, у меня там был уже регистр сведений, добавила и регистр накоплений.
        Но, кнопка Перейти – была в 8.1 все-таки удобнее.

        • По новой концепции считается, что данные регистров не являются необходимым для пользователей средством.
          Поэтому от кнопки отказались..

  34. Михайлов Сергей 24.07.2010 в 00:14

    Задание выполнил. Выполнять было интересно.
    От себя добавил пересчет при смене единицы измерения и типа цен.
    Пересчет цены при смене номенклатуры или единицы измерения делал в общем модуле, куда передавал структуру параметров строки документа и назад получал уже пересчитанную структуру. Пересчет при изменении суммы, количества и цены делал на клиенте. Чтобы не опрашивать константу МетодПересчета (не обращаться к серверу) при изменении суммы, значение ее хранил в глобальной переменной, которую сравнивал с ПредопределенноеЗначение(“Перечисление.МетодыПересчета…”) прямо на клиенте.
    Контроль смены базовой единицы номенклатуры вел через событие ПередЗаписью в модуле объекта с помощью запроса к физич.таблицам рег. сведений ЦеныНоменклатуры и ОстаткиНоменклатуры. В каждом запросе выбирал по одному значению, запросы объединил (ОБЪЕДИНИТЬ ВСЕ). Если результат запроса не пустой – отказ от записи.

  35. Выполнено.

  36. Выполнено… Как ни странно опять трудности были с пересчетом цены\количества при изменении суммы. Оказывается еще не очень хорошо соображаю как в таких ситуациях работать между клиентом и сервером :(

  37. Вопрос: Как проверить что пользователь изменил значение реквизита (по аналогии с SQL Old, New) Я использую – Если ЭтотОбъект.Ссылка.ПолучитьОбъект().БазоваяЕдиницаИзмерения ЭтотОбъект.БазоваяЕдиницаИзмерения Тогда – это оптимально?

    • Да это нормально.
      Только ЭтотОбъект в данном случае можно убрать – будет тоже самое..

    • Михайлов Сергей 24.07.2010 в 00:18

      В данном случае вопрос не в смене значения БазовойЕдиницы, а в изменении БазовойЕдиницы товара присутствующего в записях регистров (Цены, Остатки)

  38. Илья Чернов 23.07.2010 в 16:11

    Готово…ну и задания пошли)

    Менеджеров все же сделал с типом сотрудники. А пользователей связал с сотрудниками через реквизит.

    Все пересчеты, получение цен в одном клиент-серверном модуле. (без вызова сервера)

    Очень сложно проходит привыкание к клиент-серверу. =)
    Тут главное попасть на сервер с нужными данными, затем психологически все так просто становиться (!)…потом опять все сложно, когда надо вернуть что нить на клиента!

  39. Кучеров Дмитрий 23.07.2010 в 16:06

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

    • Я считаю, что достаточно контролировать в момент записи элемента..

  40. А история закрепления менеджеров нужна? Тогда в РС храним.
    “Цены задаются пользователем самостоятельно.” – это в смысле типы цен?

    • В смысле регистр без подчинения регистратору.

    • Илья Чернов 23.07.2010 в 16:13

      у меня менеджеры в реквизите просто, а цены с помощью документа в РС. Так проще, чем их вбивать.