Второй блок базового курса

Коллеги, поскольку до сих пор не все участники получили коробки, выкладываем второй блок курса.

Видео-уроки доступны на скачивание по ссылкам:

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part01.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part02.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part03.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part04.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part05.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part06.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part07.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part08.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part09.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part10.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part11.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part12.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part13.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part14.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part15.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part16.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part17.rar

https://mg.spec8.ru/mgroup/db2010_06/spec8_ru__dvd1_module2.part18.rar

комментариев 90 на “Второй блок базового курса”

  1. Сергей Коцюра 26.08.2010 в 17:07

    Вопрос: где можно скачать Блок1? имеющийся ранее скачанный Блок1 дает разбежку по нумерации слайдов в руководстве и в файлах… полученные диски пока что читать нечем – как оказалось я спокойно живу еще в каменном веке в CD-RW…

    • 1. Ссылки на материалы первого блока были в рассылке начала июля. Но не понятно – если Вы его скачали, то зачем его перезакачивать?
      2. Что значит “дает разбежку по нумерации слайдов в руководстве и в файлах”
      3. Не очень понятно, в чем проблема с CD-RW

      А теперь по-человечески: Сергей, почему я должен переспрашивать? Вы это писали для того чтобы Вас поняли или просто чтобы пальцы размять??

      • Сергей Коцюра 26.08.2010 в 18:02

        вопрос закрыт.

      • Сергей Коцюра 26.08.2010 в 19:02

        Сорри, вопрос не закрыт.
        по пп.1,2 – в руководстве (печатные материалы, например, первый нумерованный слайд блока1(с полученного комплекта дисков) имеет #120, в файлах курса ему соответсвует файл под #block1-114 – и т.д. пошло… – или я как-то неверно смотрю..?

        • На номера файлов рекомендую не обращать внимание. Нумерация внутренняя и не всегда совпадает с номером слайда.
          Во 3 и 4 модулях номер файла вообще не связан с номером слайда.

  2. Отдельная благодарность за видео-уроки по СКД.
    Раньше не пользовался СКД, т.к. работал в основном с 1С 7.7 и 8.Х без использования возможностей СКД.
    А тут понадобилось переделать чужой отчет, созданный на основе Универсального отчета. Посмотрел, что там за код был (ужос 8(), да взял и сваял свой новый на основе СКД. Получилось легко и красиво :)

    • Здорово! :)

      • Самое главное – пока не надо было зафиксировать колонки и строки шапки, то вообще не было кодирования, чиста всё через параметры настройки СКД.
        Но пришлось добавить немного покодить для расчета высоты шапки и фиксации строк-колонок шапки.
        Хотя это (фиксацию строк-колонок) можно было сделать без кодирования? Я что-то нигде в СКД не нашел :(

        • Нет, фиксацию можно сделать только программным образом..

          • Об этом будет рассказано в Базовом или Продвинутом курсе?
            Дело в том, что есть знания, которые берутся из теории либо получаются собственной практикой (почти что “кровью”), а есть знания от практических знаний других людей, например, как текущее обучение ;)

  3. Есть замечание по 2 блоку в целом: громкость звука разная, т.е. один файл – звук громкий, второй файл – звук тихий… по крайней мере с середины и до конца это точно, а вначале я не сразу обратил внимание, но вроде тоже регулятором постоянно крутил через файл.

  4. Еще один вопрос, только может забегаю снова вперед, но во втором блоке уже рассматривали момент времени: вот если нужно отслеживать хронологию документов не по дате документа, а по дате факта, то что нужно сделать: 1) в дату документа прописывать всё-таки дату факта и это и будет моментом времени 2) или всё таки в дате документа можно оставить дату документа, а хронологию по факту уже отслеживать через последовательность?

    • Дата факта, это дата создания?
      Тогда журнал регистрации может помочь..

      • дата факта – это дата реального события, а дата документа – это дата документа, т.е. документ могут и заранее подготовить до события.

        • Запутанно получается, особенно
          >дата документа – это дата документа
          Давайте конкретный пример рассмотрим..

  5. Вопрос: В блоке 2 рассматриваются реквизиты отчетов и обработок, но полной картины всё-равно нет. Поэтому повторю вопрос: для чего можно создавать реквизиты в иерархии конфигурации, если в них хранить ничего нельpя. Мы же можем просто открыть форму, создать на этой форме реквизиты (соответственно в иерархии конфигурации они не добавляются, а добавляются только на форму) и сохранить там значения формы, какой смысл добавлять еще отдельные реквизиты (отчеты, обработки) в дереве объекта конфигурации? Взаимосвязи же нет (у отчетов, обработок) между реквизитами дерева объекта конфигурации и реквизитам формы – т.е. получается два вида (или типа) реквизитов.

    • Да, получается два вида реквизитов: хранимые в БД и не хранимые.
      Для чего нужны? Ответ прост – можем извне обращаться к этим реквизитам на уровне самого Объекта (отчета или обработки).
      Чем лучше чем реквизиты формы? В случае внешнего обращения форму можно даже не создавать: создали объект обработки, установили реквизиты, вызвали экспортные методы модуля объекта, получили результат.
      Также важно помнить, что реквизиты объекта будут доступны в модуле объекта, в отличие от реквизитов формы.

  6. Решил всё-таки задать вопрос, но это скорее к нулевому блоку, но большинство учащихся на это может просто не обратить внимание, а хочется, чтобы всё-таки этот вопрос/ответ прочитали, поэтому задаю здесь:

    У нас есть процедура в нее передают некоторые параметры, так вот, обычно разработчики пишут так:

    Процедура (Парам1, Парам2)
    // Парам1 и Парам 2 внутри процедуры не изменяют своего значения
    КонецПроцедуры

    не лучше ли писать и тем самым подсказывать другим программистам, что мы действительно не меняем в процедуре/функции переданные параметры и писать всё-таки:

    Процедура (Знач Парам1, Знач Парам2)
    // Парам1 и Парам 2 внутри процедуры не изменяют своего значения
    КонецПроцедуры

    Таким образом, если мы будем всегда указывать Знач, то мы всегда будем знать, что в данной процедуре/функции переданные параметры не возвращаются измененными в двух и более переменных. А если не указали Знач, то данные переданных параметров изменяются внутри процедуры и возвращаются измененными – и своего рода мы даем сигнал “внимание переданные параметры изменяются внутри процедуры/функции И используются вне процедуры/функции”!

    Я конечно, понимаю, – лень писать каждый раз, т.к. таких случаев очень мало, и в большинстве случаев придется писать Знач, но зато появляется дополнительное понимание кода без анализа всей процедуры/функции – а они, на практике, бывают очень большие. И новички, лучше бы вырабатывали данную особенность в привычку. :)

    • Мотив предложения понятен.
      Но здесь важно учитывать следующее: при передаче по значению, в оперативной памяти выделяются новые области.
      То есть в общем случае, используя во всех методах передачу по значению, мы получим бОльшую потребность в памяти сервера, чем передача по ссылке.
      Поэтому перегибать палку здесь не стоит..

      • Илья Чернов 29.07.2010 в 21:39

        В догонку про ключевое слово “Знач”. Опытным путем было установлено, что если попытаться передать в процедуру/функцию общего модуля переменную с типом объекта данных формы, то мы получим ошибку “Нельзя изменять поля, содержащие объект данных формы”. НО если переменной припишем ключевое слово “Знач”, то вуаля у нас все получиться(!) и в общем модуле сможешь работать с этим объектом. Это как вариант использования.

        • Да, такой вариант возможен.
          И об этом мы поговорим в продвинутом курсе.

          • так вот еще какие секреты вы таите :)

  7. Еще один момент, если позволите.
    Глава 8. Видео 8-25
    Из модуля формы документа вызываем серверную процедуру ОрдерНаСервере с директивой &НаСервере, мотивируя тем что нам нужен Объект (под объектом мы понимаем документ?). А зачем он нам? В данном случае на сервере уже все, наверное, есть – мы же вызвали метод Записать(), полагаю, что отработал неявно серверный вызов. Нам же достаточно передать ссылку на Документ в параметре, а потом по ней получить сам объект и его метод.
    У меня этот код отработал, результат такой же – в регистр записалось, но как Вы учили – БезКонтекстный вызов сервера.

    &НаКлиенте
    Процедура Ордер(Команда)
    Записать();
    ОрдерНаСервереБез(Объект.Ссылка)
    КонецПроцедуры

    &НаСервереБезКонтекста
    Процедура ОрдерНаСервереБез(Док)

    Док.ПолучитьОбъект().ПроведениеВариант();

    КонецПроцедуры // ОрдерНаСервере()

  8. Вопрос по главе №8.
    Корректировка записей регистра пользователем – это очень интересно. Но в качестве “как бы табличной части” мы используем набор записей (Свойство Движения) одного регистра.
    Таким образом, для каждого регистра будем создавать свой документ для корректировки или в этом документе много “табличных частей” на закладках – для разных регистров ?

    • >в этом документе много «табличных частей» на закладках – для разных регистров
      Обычно выбирают такой подход.
      Хотя, возможно, для некоторых регистров потребуются отдельные документы. Все будет зависеть от решаемой задачи..

  9. Если мне не изменяет память, давным-давно я проводил тесты, в файле block2-375-part4-main.avi на 1 мин. 32 сек. вроде как оговорились, написали РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(. и далее сказали “первый параметр можно не указывать, чтобы получить текущая цена” – но это не так, этот метод получит именно последнюю запись во времени, даже если цена была ранее сохранена будущей датой.

    • Да, это оговорка, будет получена самая последняя запись.

  10. Евгений Ершов 22.07.2010 в 15:57

    Я правильно понял, что в уроке 8-38 в Функции ПолучитьОстаток(Товар, Дата) вы используете:
    Возврат Таблица.Итог(“Количество”);
    для оптимизации кода? Вместо:
    Если Таблица.Количество()>0 Тогда
    Возврат Таблица.Получить(0).Количество;
    Иначе
    Возврат 0;
    КонецЕсли;
    Т.е. если установлен отбор в методе Остатки(…), то в возвращаемой таблице значений будет одна (или не одной) строчка.
    А если отбор не устанавливать, тогда “Таблица.Итог(“Количество”);” вернет сумму по колонке “Количество” по всем Номенклатурам (общая сумма). Т.к. в этом случае в таблице значений будет уже несколько строк (для каждой номенклатуры свой итог) Т.е. данную строчку кода, если не используется отбор, уже нельзя применять.

  11. Евгений Ершов 22.07.2010 в 14:14

    Для метода Остатки(….) у РегистрНакопленияМенеджер. , второй параметр это Отбор.
    Из синтакс – помощника:
    ” (необязательный)
    Тип: Структура. Структура, содержащая набор значений для измерений регистра….”
    У меня если структура с одним элементов, тогда все работает.
    Если же добавляю второй элемент, тогда выдается ошибка.
    Значит параметр Отбор это структура с одним элементом, а не набор значений?

    • Евгений Ершов 22.07.2010 в 14:26

      Все разобрался (раньше времени поднял панику). Просто у регистра накопления второе измерение имело другой тип данных, нежели задавал в отборе.

  12. Евгений Ершов 22.07.2010 в 12:11

    Вопрос по главе №8.
    Почему при заполнении набора записи регистра накопления (перед записью набора), в рассмотренных примерах, все свойства заполняются, а свойство “Активность” нет?
    Она заполняется автоматически, как и номер строки?

    • Да, это свойство заполняется по умолчанию значением Истина.

  13. И еще вопрос. Правильно ли я поняла. По новой методике проведения документа нужно сначала определить оперативное или неоперативное проведение. Если неоперативное, то проводить безусловно. А если оперативное – с анализом остатков?

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

  14. В 4 главе второго модуля я не поняла, чем принципиально отличаются реквизиты справочника номенклатура – цена и артикул.
    В обоих случаях их нужно автоматически подставлять в табличную часть формы документа, но делается это по-разному.
    Может быть, цена – реквизит табличной части документа, а артикул в документе не хранится, а только выводится справочно?

  15. тоже потестил документы, так и не получилось: выставил автовремя не использовать, в видео говорится что время документа таким образом будет установлено в 00:00:00 – у меня при создании документа и сохранении время в документе записывается текущее :(, в других случаях – всё получилось.

    • А если в модуле формы в событии перед записью использовать код:
      АвтоВремя = РежимАвтоВремя.НеИспользовать;
      ?

      • проверю завтра отпишусь… и еще вопрос в эту же тему: создали документ, сохранили, провели, но потом оказалось что дата у него неправильная. Отменяем с проведения документ и проводим задним числом…. но на то число есть документ (определенного типа) и этот необходимо провести по времени позже – это уже вручную необходимо реализовывать? Если создать новый и провести задним числом, то он как раз и будет последним… а вот если правим, то время остается прежним :(

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

          • да, тоже хорошая идея! я об этом не подумал :)

      • всё-таки не получилось через модуль формы…

        • Придется еще оперативное проведение запретить.

          • &НаКлиенте
            Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
            АвтоВремя=РежимАвтоВремя.НеИспользовать;
            ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Неоперативный;
            КонецПроцедуры

            Поле объекта недоступно для записи (ИспользововатьРежимПроведения). Но в синтаксис-помощнике написано, объект доступен как для чтения, так и для записи. Странно.

            • На клиенте нельзя изменять это свойство, написано ниже.
              Можете попробовать на уровне свойств документа запретить оперативное проведение.

              • на уровне свойств я запрещал – бесполезно.

                • Странно, должно работать.
                  Присылайте выгрузку базы с одним документом на ящик МГ, посмотрю..

  16. Константин Павленко 20.07.2010 в 16:45

    Уточнение по уроку 1-17: Нумерация документов. Нумераторы.
    Для приходных и расходных кассовых ордеров нет требования ОБЩЕЙ сквозной нумерации. ПКО и РКО нумеруются отдельно. А то новички могут поверить, а потом “блеснуть” перед бухами :)

  17. Вопрос по материалам второго модуля.
    Эксперементируя с проведением документов я сделал вывод:
    Если нажать на кнопку “Записать” у проведенного документа, он автоматически перепроводится ?
    Это я заключил из того, что время у него меняется на текущее.
    Я имею ввиду оперативно проводимый или “записываемый” документ.
    Это так ?

    • Да, так.
      И это вполне логичное поведение системы.

      • И нет никаких вариантов ?
        Например как в 7-ке – “ПриЗаписиПерепроводить”. Можно установить, а можно не устанавливать.
        Так же в 7-ке это можно регулировать правами…
        Я согласен что поведение платформы 8.2 логичное. Причем более логичное чем 7-ки.
        Просто документ – это важный прикладной объект в 1С, и хочется изучить его поподробнее :)

        • В свойствах управляемой формы есть флаг – ПриЗаписиПерепроводить. Видимо он и управляет этим режимом.

  18. Подскажите, пожалуйста!
    На первом диске открываются разделы; Нулевой модуль, Первый модуль и Второй модуль.
    Но в разделе Бонусы после запуска файла index.html и установки QuickTime не открывается ни один из пяти разделов по “Профессионалу”, хотя по “Специалисту” открываются все разделы.
    Скажите, что неправильно?

    • Это ошибка. Бонус будет выложен отдельно

      • Да, спасибо, сразу нужно было догодатья что нет таких файлов на диске, тем более, что об этом же спрашивал mtv911 16.07.2010.

  19. Уррааа!!! Мне посылка с дисками вчера пришла!

    • Мне тоже сегодня позвонили, но я в деревне был (раскидывали песок под будущий дом). Но сказали, можно забрать завтра или они сами приедут, но в рабочий день :) Завтра поеду сам :)
      Фарит, Евгений – СпАсИбО большущее-большущее! и человеку, который рассылал заказы, отдельное спасибо :)

    • И мне сегодня пришла :))

    • Сергей Гуков 18.07.2010 в 12:08

      И мне! :)

  20. Спасибо за понятные, доходчивые, удивительные знания!!!
    Скажите, пожалуйста, А что существует такой Бонус «Вопросы, аналогичные 1С:Профессионал по платформе»?
    Это тот самый разбор вопросов Тестов 1С:Профессионал?

    • Да, это разбор 58 вопросов, аналогичных 1С:Профессионал.

  21. Вот это очень правильно. Эх, мне б еще часиков 10 в сутки, чтоб за графиком поспеть … вопросами завалил бы.

    • Сергей Гуков 17.07.2010 в 05:42

      Та же проблема! :) Успеваю только кое-как просматривать уроки базового курса да видео-решения ДЗ после и выполнения!

  22. Кучеров Дмитрий 16.07.2010 в 19:49

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

    • Разве это жаль? Я бы на вашем месте наслаждался моментом ))

  23. Сергей Гуков 16.07.2010 в 15:33

    Пожалуй не буду качать… Курьеры из ЕМС Почты уже звонили, посылка в городе. В субботу должны завести. Но все равно молодцы, что так внимательно относитесь к участникам мастер-группы! ;)

  24. progr-2008 16.07.2010 в 13:35

    Уже изучаю. Так подробно, что невозможно не понять, очень нравится.

  25. Евгений Ершов 16.07.2010 в 12:33

    При распаковке выдает ошибку на …part08.rar (неожиданный конец архива).

    • Сейчас проверим!

    • Евгений Ершов 16.07.2010 в 12:43

      Прошу прощения. Все ОК.

    • Все скачалось и распаковалось без проблем, попробуйте скачать 8й том заного

  26. УРРА!
    а я сильно переживал изза “далековизны” (читай – дальности) своей деревни )))
    Кста, а когда начинаем второй блок? – вроде как с 19го?

    • С 19-го )

    • Кака деревня, в Мск до сих пор – НЕ пришли..

      • Как и сообщали ранее Москва, поскольку рядом, в наименьшем приоритете.

  27. Ура! Качаю, спасибо)

  28. Есть предложение : пометить тот материал, который уже имеется в комплекте поставки … это в основном касается бонусов.

    • Каким образом предлагаете пометить?

      • М.б. приписать в заголовках “(Есть в поставке)”? ;)

        • Все материалы есть в поставке кроме мастер-группы, решений домашних заданий и орг. видео :)

          • Заметил, что в “Базовом курсе по программированию” на диске #1 в разделе “Бонусные материалы” отсутствуют 57 шт. видеофайлов из темы “Вопросы, аналогичные 1С:Профессионал по платформе” для всех пяти частей. Это файлы, начинающиеся с “02-prof82-intro.avi” и по “02-prof82-q56.avi”.

            • Да, увы, ошибка при сборке…
              DVD поправим, Евгений выложит бонусы на сервер

  29. Филимонов Юрий Николаевич 16.07.2010 в 10:08

    Спасибо, будем изучать в ожидании коробок :)