Второй блок базового курса
Коллеги, поскольку до сих пор не все участники получили коробки, выкладываем второй блок курса.
Видео-уроки доступны на скачивание по ссылкам:
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
Вопрос: где можно скачать Блок1? имеющийся ранее скачанный Блок1 дает разбежку по нумерации слайдов в руководстве и в файлах… полученные диски пока что читать нечем – как оказалось я спокойно живу еще в каменном веке в CD-RW…
1. Ссылки на материалы первого блока были в рассылке начала июля. Но не понятно – если Вы его скачали, то зачем его перезакачивать?
2. Что значит “дает разбежку по нумерации слайдов в руководстве и в файлах”
3. Не очень понятно, в чем проблема с CD-RW
А теперь по-человечески: Сергей, почему я должен переспрашивать? Вы это писали для того чтобы Вас поняли или просто чтобы пальцы размять??
вопрос закрыт.
Сорри, вопрос не закрыт.
по пп.1,2 – в руководстве (печатные материалы, например, первый нумерованный слайд блока1(с полученного комплекта дисков) имеет #120, в файлах курса ему соответсвует файл под #block1-114 – и т.д. пошло… – или я как-то неверно смотрю..?
На номера файлов рекомендую не обращать внимание. Нумерация внутренняя и не всегда совпадает с номером слайда.
Во 3 и 4 модулях номер файла вообще не связан с номером слайда.
Отдельная благодарность за видео-уроки по СКД.
Раньше не пользовался СКД, т.к. работал в основном с 1С 7.7 и 8.Х без использования возможностей СКД.
А тут понадобилось переделать чужой отчет, созданный на основе Универсального отчета. Посмотрел, что там за код был (ужос 8(), да взял и сваял свой новый на основе СКД. Получилось легко и красиво :)
Здорово! :)
Самое главное – пока не надо было зафиксировать колонки и строки шапки, то вообще не было кодирования, чиста всё через параметры настройки СКД.
Но пришлось добавить немного покодить для расчета высоты шапки и фиксации строк-колонок шапки.
Хотя это (фиксацию строк-колонок) можно было сделать без кодирования? Я что-то нигде в СКД не нашел :(
Нет, фиксацию можно сделать только программным образом..
Об этом будет рассказано в Базовом или Продвинутом курсе?
Дело в том, что есть знания, которые берутся из теории либо получаются собственной практикой (почти что “кровью”), а есть знания от практических знаний других людей, например, как текущее обучение ;)
В продвинутом.
Есть замечание по 2 блоку в целом: громкость звука разная, т.е. один файл – звук громкий, второй файл – звук тихий… по крайней мере с середины и до конца это точно, а вначале я не сразу обратил внимание, но вроде тоже регулятором постоянно крутил через файл.
Изучим этот вопрос..
Еще один вопрос, только может забегаю снова вперед, но во втором блоке уже рассматривали момент времени: вот если нужно отслеживать хронологию документов не по дате документа, а по дате факта, то что нужно сделать: 1) в дату документа прописывать всё-таки дату факта и это и будет моментом времени 2) или всё таки в дате документа можно оставить дату документа, а хронологию по факту уже отслеживать через последовательность?
Дата факта, это дата создания?
Тогда журнал регистрации может помочь..
дата факта – это дата реального события, а дата документа – это дата документа, т.е. документ могут и заранее подготовить до события.
Запутанно получается, особенно
>дата документа – это дата документа
Давайте конкретный пример рассмотрим..
Вопрос: В блоке 2 рассматриваются реквизиты отчетов и обработок, но полной картины всё-равно нет. Поэтому повторю вопрос: для чего можно создавать реквизиты в иерархии конфигурации, если в них хранить ничего нельpя. Мы же можем просто открыть форму, создать на этой форме реквизиты (соответственно в иерархии конфигурации они не добавляются, а добавляются только на форму) и сохранить там значения формы, какой смысл добавлять еще отдельные реквизиты (отчеты, обработки) в дереве объекта конфигурации? Взаимосвязи же нет (у отчетов, обработок) между реквизитами дерева объекта конфигурации и реквизитам формы – т.е. получается два вида (или типа) реквизитов.
Да, получается два вида реквизитов: хранимые в БД и не хранимые.
Для чего нужны? Ответ прост – можем извне обращаться к этим реквизитам на уровне самого Объекта (отчета или обработки).
Чем лучше чем реквизиты формы? В случае внешнего обращения форму можно даже не создавать: создали объект обработки, установили реквизиты, вызвали экспортные методы модуля объекта, получили результат.
Также важно помнить, что реквизиты объекта будут доступны в модуле объекта, в отличие от реквизитов формы.
вот этого я и незнал, спасибо!
Решил всё-таки задать вопрос, но это скорее к нулевому блоку, но большинство учащихся на это может просто не обратить внимание, а хочется, чтобы всё-таки этот вопрос/ответ прочитали, поэтому задаю здесь:
У нас есть процедура в нее передают некоторые параметры, так вот, обычно разработчики пишут так:
Процедура (Парам1, Парам2)
// Парам1 и Парам 2 внутри процедуры не изменяют своего значения
КонецПроцедуры
не лучше ли писать и тем самым подсказывать другим программистам, что мы действительно не меняем в процедуре/функции переданные параметры и писать всё-таки:
Процедура (Знач Парам1, Знач Парам2)
// Парам1 и Парам 2 внутри процедуры не изменяют своего значения
КонецПроцедуры
Таким образом, если мы будем всегда указывать Знач, то мы всегда будем знать, что в данной процедуре/функции переданные параметры не возвращаются измененными в двух и более переменных. А если не указали Знач, то данные переданных параметров изменяются внутри процедуры и возвращаются измененными – и своего рода мы даем сигнал “внимание переданные параметры изменяются внутри процедуры/функции И используются вне процедуры/функции”!
Я конечно, понимаю, – лень писать каждый раз, т.к. таких случаев очень мало, и в большинстве случаев придется писать Знач, но зато появляется дополнительное понимание кода без анализа всей процедуры/функции – а они, на практике, бывают очень большие. И новички, лучше бы вырабатывали данную особенность в привычку. :)
Мотив предложения понятен.
Но здесь важно учитывать следующее: при передаче по значению, в оперативной памяти выделяются новые области.
То есть в общем случае, используя во всех методах передачу по значению, мы получим бОльшую потребность в памяти сервера, чем передача по ссылке.
Поэтому перегибать палку здесь не стоит..
В догонку про ключевое слово “Знач”. Опытным путем было установлено, что если попытаться передать в процедуру/функцию общего модуля переменную с типом объекта данных формы, то мы получим ошибку “Нельзя изменять поля, содержащие объект данных формы”. НО если переменной припишем ключевое слово “Знач”, то вуаля у нас все получиться(!) и в общем модуле сможешь работать с этим объектом. Это как вариант использования.
Да, такой вариант возможен.
И об этом мы поговорим в продвинутом курсе.
так вот еще какие секреты вы таите :)
Еще один момент, если позволите.
Глава 8. Видео 8-25
Из модуля формы документа вызываем серверную процедуру ОрдерНаСервере с директивой &НаСервере, мотивируя тем что нам нужен Объект (под объектом мы понимаем документ?). А зачем он нам? В данном случае на сервере уже все, наверное, есть – мы же вызвали метод Записать(), полагаю, что отработал неявно серверный вызов. Нам же достаточно передать ссылку на Документ в параметре, а потом по ней получить сам объект и его метод.
У меня этот код отработал, результат такой же – в регистр записалось, но как Вы учили – БезКонтекстный вызов сервера.
&НаКлиенте
Процедура Ордер(Команда)
Записать();
ОрдерНаСервереБез(Объект.Ссылка)
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ОрдерНаСервереБез(Док)
Док.ПолучитьОбъект().ПроведениеВариант();
КонецПроцедуры // ОрдерНаСервере()
Да, это хорошее решение.
Вопрос по главе №8.
Корректировка записей регистра пользователем – это очень интересно. Но в качестве “как бы табличной части” мы используем набор записей (Свойство Движения) одного регистра.
Таким образом, для каждого регистра будем создавать свой документ для корректировки или в этом документе много “табличных частей” на закладках – для разных регистров ?
>в этом документе много «табличных частей» на закладках – для разных регистров
Обычно выбирают такой подход.
Хотя, возможно, для некоторых регистров потребуются отдельные документы. Все будет зависеть от решаемой задачи..
Если мне не изменяет память, давным-давно я проводил тесты, в файле block2-375-part4-main.avi на 1 мин. 32 сек. вроде как оговорились, написали РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(. и далее сказали “первый параметр можно не указывать, чтобы получить текущая цена” – но это не так, этот метод получит именно последнюю запись во времени, даже если цена была ранее сохранена будущей датой.
Да, это оговорка, будет получена самая последняя запись.
Я правильно понял, что в уроке 8-38 в Функции ПолучитьОстаток(Товар, Дата) вы используете:
Возврат Таблица.Итог(“Количество”);
для оптимизации кода? Вместо:
Если Таблица.Количество()>0 Тогда
Возврат Таблица.Получить(0).Количество;
Иначе
Возврат 0;
КонецЕсли;
Т.е. если установлен отбор в методе Остатки(…), то в возвращаемой таблице значений будет одна (или не одной) строчка.
А если отбор не устанавливать, тогда “Таблица.Итог(“Количество”);” вернет сумму по колонке “Количество” по всем Номенклатурам (общая сумма). Т.к. в этом случае в таблице значений будет уже несколько строк (для каждой номенклатуры свой итог) Т.е. данную строчку кода, если не используется отбор, уже нельзя применять.
Все верно, Евгений.
Для метода Остатки(….) у РегистрНакопленияМенеджер. , второй параметр это Отбор.
Из синтакс – помощника:
” (необязательный)
Тип: Структура. Структура, содержащая набор значений для измерений регистра….”
У меня если структура с одним элементов, тогда все работает.
Если же добавляю второй элемент, тогда выдается ошибка.
Значит параметр Отбор это структура с одним элементом, а не набор значений?
Все разобрался (раньше времени поднял панику). Просто у регистра накопления второе измерение имело другой тип данных, нежели задавал в отборе.
Вопрос по главе №8.
Почему при заполнении набора записи регистра накопления (перед записью набора), в рассмотренных примерах, все свойства заполняются, а свойство “Активность” нет?
Она заполняется автоматически, как и номер строки?
Да, это свойство заполняется по умолчанию значением Истина.
И еще вопрос. Правильно ли я поняла. По новой методике проведения документа нужно сначала определить оперативное или неоперативное проведение. Если неоперативное, то проводить безусловно. А если оперативное – с анализом остатков?
Здесь все сильно зависит от контекста решаемой задачи.
Но если мы хотим создать масштабируемую многопользовательскую систему, то именно описанного подхода и нужно придерживаться.
В 4 главе второго модуля я не поняла, чем принципиально отличаются реквизиты справочника номенклатура – цена и артикул.
В обоих случаях их нужно автоматически подставлять в табличную часть формы документа, но делается это по-разному.
Может быть, цена – реквизит табличной части документа, а артикул в документе не хранится, а только выводится справочно?
Да, именно так.
тоже потестил документы, так и не получилось: выставил автовремя не использовать, в видео говорится что время документа таким образом будет установлено в 00:00:00 – у меня при создании документа и сохранении время в документе записывается текущее :(, в других случаях – всё получилось.
А если в модуле формы в событии перед записью использовать код:
АвтоВремя = РежимАвтоВремя.НеИспользовать;
?
проверю завтра отпишусь… и еще вопрос в эту же тему: создали документ, сохранили, провели, но потом оказалось что дата у него неправильная. Отменяем с проведения документ и проводим задним числом…. но на то число есть документ (определенного типа) и этот необходимо провести по времени позже – это уже вручную необходимо реализовывать? Если создать новый и провести задним числом, то он как раз и будет последним… а вот если правим, то время остается прежним :(
Да, только ручками.
Есть и такой выход – скопировать документ, установить нужную дату, записать, старый пометить на удаление..
да, тоже хорошая идея! я об этом не подумал :)
всё-таки не получилось через модуль формы…
Придется еще оперативное проведение запретить.
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
АвтоВремя=РежимАвтоВремя.НеИспользовать;
ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Неоперативный;
КонецПроцедуры
Поле объекта недоступно для записи (ИспользововатьРежимПроведения). Но в синтаксис-помощнике написано, объект доступен как для чтения, так и для записи. Странно.
На клиенте нельзя изменять это свойство, написано ниже.
Можете попробовать на уровне свойств документа запретить оперативное проведение.
на уровне свойств я запрещал – бесполезно.
Странно, должно работать.
Присылайте выгрузку базы с одним документом на ящик МГ, посмотрю..
Уточнение по уроку 1-17: Нумерация документов. Нумераторы.
Для приходных и расходных кассовых ордеров нет требования ОБЩЕЙ сквозной нумерации. ПКО и РКО нумеруются отдельно. А то новички могут поверить, а потом “блеснуть” перед бухами :)
Спасибо, взял на заметку )
Вопрос по материалам второго модуля.
Эксперементируя с проведением документов я сделал вывод:
Если нажать на кнопку “Записать” у проведенного документа, он автоматически перепроводится ?
Это я заключил из того, что время у него меняется на текущее.
Я имею ввиду оперативно проводимый или “записываемый” документ.
Это так ?
Да, так.
И это вполне логичное поведение системы.
И нет никаких вариантов ?
Например как в 7-ке – “ПриЗаписиПерепроводить”. Можно установить, а можно не устанавливать.
Так же в 7-ке это можно регулировать правами…
Я согласен что поведение платформы 8.2 логичное. Причем более логичное чем 7-ки.
Просто документ – это важный прикладной объект в 1С, и хочется изучить его поподробнее :)
В свойствах управляемой формы есть флаг – ПриЗаписиПерепроводить. Видимо он и управляет этим режимом.
Подскажите, пожалуйста!
На первом диске открываются разделы; Нулевой модуль, Первый модуль и Второй модуль.
Но в разделе Бонусы после запуска файла index.html и установки QuickTime не открывается ни один из пяти разделов по “Профессионалу”, хотя по “Специалисту” открываются все разделы.
Скажите, что неправильно?
Это ошибка. Бонус будет выложен отдельно
Да, спасибо, сразу нужно было догодатья что нет таких файлов на диске, тем более, что об этом же спрашивал mtv911 16.07.2010.
Уррааа!!! Мне посылка с дисками вчера пришла!
Мне тоже сегодня позвонили, но я в деревне был (раскидывали песок под будущий дом). Но сказали, можно забрать завтра или они сами приедут, но в рабочий день :) Завтра поеду сам :)
Фарит, Евгений – СпАсИбО большущее-большущее! и человеку, который рассылал заказы, отдельное спасибо :)
Спасибо за положительные эмоции )
И мне сегодня пришла :))
И мне! :)
Спасибо за понятные, доходчивые, удивительные знания!!!
Скажите, пожалуйста, А что существует такой Бонус «Вопросы, аналогичные 1С:Профессионал по платформе»?
Это тот самый разбор вопросов Тестов 1С:Профессионал?
Да, это разбор 58 вопросов, аналогичных 1С:Профессионал.
Вот это очень правильно. Эх, мне б еще часиков 10 в сутки, чтоб за графиком поспеть … вопросами завалил бы.
Та же проблема! :) Успеваю только кое-как просматривать уроки базового курса да видео-решения ДЗ после и выполнения!
жаль что не могу выкачатьсейчас в абхазии загараю. прийдется ждать коробку по приезду.
Разве это жаль? Я бы на вашем месте наслаждался моментом ))
Пожалуй не буду качать… Курьеры из ЕМС Почты уже звонили, посылка в городе. В субботу должны завести. Но все равно молодцы, что так внимательно относитесь к участникам мастер-группы! ;)
Уже изучаю. Так подробно, что невозможно не понять, очень нравится.
При распаковке выдает ошибку на …part08.rar (неожиданный конец архива).
Сейчас проверим!
Прошу прощения. Все ОК.
Все скачалось и распаковалось без проблем, попробуйте скачать 8й том заного
УРРА!
а я сильно переживал изза “далековизны” (читай – дальности) своей деревни )))
Кста, а когда начинаем второй блок? – вроде как с 19го?
С 19-го )
Кака деревня, в Мск до сих пор – НЕ пришли..
Как и сообщали ранее Москва, поскольку рядом, в наименьшем приоритете.
Ура! Качаю, спасибо)
Есть предложение : пометить тот материал, который уже имеется в комплекте поставки … это в основном касается бонусов.
Каким образом предлагаете пометить?
М.б. приписать в заголовках “(Есть в поставке)”? ;)
Все материалы есть в поставке кроме мастер-группы, решений домашних заданий и орг. видео :)
Заметил, что в “Базовом курсе по программированию” на диске #1 в разделе “Бонусные материалы” отсутствуют 57 шт. видеофайлов из темы “Вопросы, аналогичные 1С:Профессионал по платформе” для всех пяти частей. Это файлы, начинающиеся с “02-prof82-intro.avi” и по “02-prof82-q56.avi”.
Да, увы, ошибка при сборке…
DVD поправим, Евгений выложит бонусы на сервер
Спасибо, будем изучать в ожидании коробок :)