Домашнее задание №6 базового курса
Третье задание по 1-му блоку базового курса.
Для выполнения рекомендуется изучить следующие главы 1-го блока.
Глава 9. Формы.
Глава 10. Перечисления.
Глава 11. Администрирование.
Глава 12. Роли.
Глава 13. Пользователи.
Глава 14. Параметры ИБ.
Глава 15. Резервные копии.
Глава 16. Отладка.
Глава 17. Работа с запросами к БД.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.
Выпонил, чуть повозился с запросом
ДЗ выполнила. Сложностей не возникло
ДЗ №6 выполнила.
Попутно возник вопрос :)
У управляемой формы есть событие “ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)”. При попытке его использования в модуле формы спр. Номенклатура оказалось, что в массиве ПроверяемыеРеквизиты содержится один элемент – слово “Объект” с типом данных “Строка”. Или я как-то неправильно обращалась к событию, или через “Объект” есть способ получить список проверяемых реквизитов? Иначе, я не совсем понимаю, в каких случаях событие можно использовать.
С этим событием ситуация следующая – в проверяемых реквизитах содержаться реквизиты формы, а не реквизиты объекта.
То есть достучаться до самого реквизита объекта вы не сможете, можно лишь удалить значение массива.
ДЗ №6 выполнено.
Выполнил. Были неточности в решении – сравнил с эталонным решением
дз №6 выполнила. немного помучилась с обработкойЗаполнения(). Контакную информацию делала тоже, как и некоторые, через регистр сведений, это наверное влияние типовых конфигураций.
В типовых используется решение аналогичное моему.
Наверняка вы путаете с РС “Контактная информация”, но у него совсем другое предназначение..
выполнил
ДЗ №6 выполнил
Выполнено.
Выполнено
“Уф, еле догнал” (C). Сделано.
ДЗ№6 выполнено
Выполнил
Решено. Сегодня получил посылку, хоть качать по меньше теперь)
Сделано
Выполнено
Так увлекся выполнением домашних заданий что забыл отчитаться.
Домашнее задание сделал.
Но иногда, решения отличаются от того, что показывает Евгений.
Хотя решения получаются вполне рабочие.
Отлично, Олег!
Выполнил.
Сделал. Но в правильности своего решения первой части задания не уверен.
Выполнено
Сделано, трудностей почти не было.
В основном сделал.
Контактные лица доавил табличной частью в контрагенты. Все сделал, кроме последнего пункта ( с помощью запроса). Что то терпежу не хватает с запросом повозиться. Пойду подсмотрю решение.
Получилось.
Но после 1С Предприятия 7.7 и 8.0 сложновато привыкать к разделению работы системы НаКлиенте и НаСервере :(
И еще раздельно модули Объекта и Менеджера :(
Получается как у юмористов-сатириков: “Здесь рисуем, а здесь нет”
Хорошо хоть Конструкторы Запросов и Печати могут выполнить за программиста почти всю работу, главное – правильно им сделать постановку вопроса :)
Это только в первое время, чуть позже все будет казаться логичным ;)
Домашнее задание № 6 сделала
ДЗ 6 выполнено.
Сделала без использования регистров сведений – взаимосвязи запоминала в табличной части контрагентов.
Кроме справочников контрагенты и контактные лица, добавила справочник должности.
Для контрагентов – табличную часть с реквизитами ссылка на справочник конактные лица и на справочник должности. Тогда, вроде получается все независимо – для одного контрагента контактное лицо на одной должности, а для другого – это же контактное лицо на другой должности.
Как в УПП. Только в место реквизита “ОсновноеКонтактноеЛицо”, таблица.
В УПП по-другому.
ДЗ №6 выполнил.
Задание выполнил.
Выполнил до обработки. Запрос есть:
ВЫБРАТЬ Контрагенты.Ссылка
ИЗ Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛица КАК КонтактныеЛица ПО (КонтактныеЛица.Контрагент = Контрагенты.Ссылка)
ГДЕ КонтактныеЛица.Ссылка ЕСТЬ NULL И (НЕ Контрагенты.ЭтоГруппа)
Не могу создать “Новый Запрос” на Клиенте, на сервере создается, но не передается на клиент. Аналогично не передаётся с сервера ТаблицаЗначений.
В спр.КонтактноеЛицо есть таблица с реквизитами: контрагент, Должность. Запрос к этой таблице без повторяющихся значений:
ВЫБРАТЬ РАЗЛИЧНЫЕ КонтактныеЛицаКонтрагент.Контрагент
ИЗ Справочник.КонтактныеЛица.Контрагент КАК КонтактныеЛицаКонтрагент
Естественно, ни запрос, ни таблица значений не доступны на клиенте.
Задание сделал, но кажется, что первую часть задания недопонял.
Выполнено
Выполнил. Особых сложностей не возникло.
Сделал домашнее задание №6. Данные о связях контактных лиц и контрагентов храню в регистре сведений Работники
Регистр не идеальная таблица для подобной связи.
Дело вот в чем, контактное лицо контрагента это вполне самостоятельная сущность, которая в дальнейшем может использоваться, например, в реквизитах документа..
ДЗ выполнил.
Для хранения контактных лиц в спр Контрагенты добавил таб часть. Нужных контрагентов в обработке извлекаю запросом. Правда не сильно уверен в оптимальности запроса) Жду эталонного решения.
Задание выполнено. Особых трудностей не возникло.
ДЗ № 6 Выполнено. Но есть сомнения в оптимальности структуры метаданных. Для хранения информации о контактных лицах контрагента использую его же табличную часть, так как данные сведения носят наверное информационный характер. Что касается подстановки вида номенклатуры реализовал:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
Если ДанныеЗаполнения.Родитель.ВидНоменклатуры Перечисления.ВидНоменклатуры.ПустаяСсылка() Тогда
ВидНоменклатуры = ДанныеЗаполнения.Родитель.ВидНоменклатуры;
КонецЕсли;
КонецПроцедуры
Но если пользователь поменяет родителя, то … вобощем пусть сам и дальше меняет. Так что ждем разбора)))
Сделал. Как то обошлось без преобразований .
Выполнено.
Основные проблемы с группой функцией РеквизитФормыВЗначение, ЗначениеВРеквизитФормы и с ЗначениеВДанныеФормы, ДанныеФормыВЗначение.
Победил, но некоторые моменты не до конца осознал.
правильно ли я понял, что если у нас тип реквизита (ОбработкаОбъект.МояОбработка) или (СправочникОбъект.МойСправочник), то и получить я могу только такой объект? и обратиться к конкретному реквизиту справочника или обработки не дано через эти функции? например в обработке имеется реквизит с именем реквизит1, вызов РеквизитФормыВЗначение(“Реквизит1”) или РеквизитФормыВЗначение(“Объект.Реквизит1”) ни к чему хорошему не приведут…
И второе. что делает функция ОбновитьОтображениеДанных()? Все надеялся что она будет данные обновлять :)
>то и получить я могу только такой объект?
Да, только такой. А после от него уже и плясать..
>вызов РеквизитФормыВЗначение(«Реквизит1″)
Вполне нормальный вызов, остальное – от лукавого ..
Теперь все понятно, спасибо
>что делает функция ОбновитьОтображениеДанных()?
Судя по описанию должна обновлять :) В каком случае не работает?
в новом элементе номенклатура при выборе базовой единицы, есть необходимость записать элемент, чтобы затем создать программно единицу измерения. Что бы пользователь не догадался что происходит, проверки и записи нового элемента происходят в обработчике ПослеЗаписи, там и не работает.
Не прокомментировано Учителем. Вопрос/проблема осталась “нерешенной”..?
Мне не удается воспроизвести ситуацию.
Поэтому переадресую автору вопроса: проблема осталась «нерешенной»?
ДЗ № 6 Выполнено.
Вначале возник вопрос о том, как более правильно хранить информацию о контактных лицах КА: ведь Контрагенты (т.е. смиты :-) ) и Контактные Лица (т.е. Морфеусы и Нео :-) ) находятся в отношении многие-ко-многим.
Выбрал следующее: Спр “Контрагенты”, Спр “Контактные Лица” и спр “Контактные лица контрагентов”, подчиненный “Контрагентам” и имеющий реквизит “Контактное Лицо” – ссылка на “Контактные Лица”.
Точно такой же механизм при хранении различных единиц измерения для различной номенклатуры (Пакет/Упаковка/Палетта Молока, Штука/Коробка/килограмм Киви, Ящик/килограмм гвоздей и т.д.)
Обработку “Проверка КА” реализовал перебором, хотя,наверно, было правильнее ЗАПРОСОМ ????
Нынча куда не плюнь – везде запрос xD
з.ы. делал запросом)
Выполнено.
Пока недостаточно навыков работы с управляемыми формами (в плане преобразования значений в данные\реквизиты формы и наоборот). Но потихоньку исправляюсь :)