Спасибо! Классное видео! Молодцы! Я начинающий программист 1с, все очень доступно объяснено, но застряла на следующем моменте: как на минуте 21:26 Вы в табло вставили КоллекцияПечатныхФорм.
Долго не мог понять, о чем вы:) Можно тремя способами передать туда значение: 1) написать руками имя параметра/переменной/объекта 2) скопировать из модуля нужное имя через ctrl+c, а затем в табло вставить через ctrl+v 3) выделить нужное имя в модуле, зажать левую кнопку мыши и перетащить в табло. Кажется именно так я и сделал.
Дмитрий, ОГРОМНОЕ спасибо. Очень хороший урок, действительно рассказано и показаны те ошибки с которыми сам столкнулся и не мог решить. Еще раз спасибо. А есть еще где ваши уроки для ознакомления ?
Спасибо за приятные слова. Пароль от аккаунта потерял, долго не заходил сюда) Да, видео есть, но не выложены. Планирую в ближайшие дни что-нибудь новое разобрать. Думаю будет перевод базы из файлового варианта на клиент-серверный с разбором возможных ошибок. А далее скорее всего пойдут разборы типовых функций и процедур. Как показывает практика, начинающие разработчики их вовсе не используют, а ведь могут значительно облегчить себе жизнь. p.s. к примеру на днях видел написанную в общем модуле процедуру, заполняющую цену товара. В то время как в самой типовой конфигурации(в данном случае речь идет о КА 1.1) есть замечательное решение: ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти(); + ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, ЭтотОбъект); + ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
Спасибо большое! Очень помогло. Сделал подобное для документа СборкаТоваров. С отладкой правда немного закис. Не открывается макет и все. Сделал все как в уроке: параметр отладка передается нормально. Но при нажатии кнопки "Отладка" ничего не происходит.
Здравствуйте! Так как все таки поступить с методом Показать()? он недоступен на сервере... всё верно, в толстом клиенте таблица выводится, но если через конфигуратор запускать отладку, то запускается в тонком клиенте и ошибка остается актуальной.
Большое спасибо за видео, очень помогло, особенно в части организации отладки ПФ. Кстати, у меня на сегодняшний день стоит последняя версия платформы, 8.3.8.2054, отладка там слетает постоянно, приходится перезапускаться.
У меня не открывается обработка на начальном этапе, пишет ошибку "задано неправильное имя атрибута структуры" хотя код тот же. в чем мб проблема? База Ут 11.1 Демо
+Юрий Север Погуглите, их полно. На практике я использую: ctrl+space (завершение ключевого слова или функции/процедуры), ctrl+q(завершение конструкции). Обязательно научитесь пользоваться Home End(конец и начало строки), используйте клаву с вынесением этих клавиш в отдельный блок. Это существенно ускоряет написание кода и самое важное - его редактирование, то есть приведение в удобно читаемый вид. Вот еще: ctrl+ стрелка лево/право - быстрый переход через все пробелы к первому символу(попробуйте - поймете). Для красивого удаления строк: Home(переходи в начало строки) и shift+вниз - выделяет вся строка без лишнего захвата символов на новой строке, а дальше del. Раньше для этого использовал ctrl+L в любом месте строки, она сразу удаляется, но минус в том, что она пихается в буфер обмена, где частенько лежит что-то нужное. Переучивался пару дней.
Скорее всего отладка будет работать только в файловом варианте работы базы. На серверной базе все равно не получиться провалиться в серверные процедуры. А так супер.
Предлагаю вместо параметра "Отладка" использовать что-то вроде этого &НаСервере Процедура ОтладкаНаСервере() ОбъектОбработка = РеквизитФормыВЗначение("Объект"); СтрокаМакетов = ""; Для каждого ТекМакет Из ОбъектОбработка.Метаданные().Макеты Цикл СтрокаМакетов = СтрокаМакетов + ?(СтрокаМакетов = "", "", ",") + ТекМакет.Имя; КонецЦикла; МассивОбъектов = Новый Массив; МассивОбъектов.Добавить(Объект.СсылкаНаОбъект); КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(СтрокаМакетов); ОбъектыПечати = Новый СписокЗначений; ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); ОбъектОбработка.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); Для каждого ТекСтр Из КоллекцияПечатныхФорм Цикл Если ТекСтр.ТабличныйДокумент Неопределено Тогда ТекСтр.ТабличныйДокумент.Показать(ТекСтр.СинонимМакета, , Истина) ; КонецЕсли; КонецЦикла; КонецПроцедуры
Хороший вариант! На видео была чистая импровизация, поэтому не до такого кода было: Для каждого ТекМакет Из ОбъектОбработка.Метаданные().Макеты Цикл СтрокаМакетов = СтрокаМакетов + ?(СтрокаМакетов = "", "", ",") + ТекМакет.Имя; КонецЦикла; =))
Благодаря Вам научилась делать внешние печатные формы. Следующая задача - научиться создавать внешние отчеты. Например, в данный момент мне требуется создать внешний отчет в 1с 8.3 ЗУП 3.0 личную карточку Т-2, которая находится в Отчеты/Отчеты по сотрудникам (для дальнейшего редактирования). Может быть поделитесь ссылкой, где подробно разъяснено как делать отчеты или может быть видео выложите. Очень нужно! Заранее спасибо!
Научилась делать внешний отчет. Только вот с редактированием программного кода, чтобы личная карточка выводила информацию как мне необходимо придется долго посидеть. Если у меня не все получится, можно будет задать вам вопросы?
Дмитрий Мелиус Внешний отчет я сделала, мне его нужно отредактировать. Некоторые задачи я уже решила путем изменения модуля объекта, осталась одна задача - в личной карточке Т-2 в разделе отпуска не включается в таблицу Отпуск без сохранения заработной платы, а нужно, чтобы включалось. Вы не могли бы помочь мне это сделать? Не хватает знаний, к сожалению.
Индира Миргасимова Я с ЗУПом не работаю, под рукой сейчас только типовая БП 3.0. В ней есть отчет карточкаТ2, внутри есть объект типа "Соответствие" называется ДополнительныеСведения. Также для вывода карточкиТ2 есть кусок кода: // Отпуск МассивЗаголовков = Новый Массив; МассивЗаголовков.Добавить(ЗаголовокДополнительногоЛиста); МассивЗаголовков.Добавить(ЗаголовокОтпуска); ДокументРезультат.Вывести(ЗаголовокОтпуска, Уровень+1); ДокументРезультат.Вывести(ШапкаОтпуска, Уровень+1); ДанныеЗаполнения = ДополнительныеСведения.Получить("ДанныеЗаполненияОтпуска"); Посмотрите, как формируется это соответствие, что туда попадает. В БП 3.0 в одном из общих модулей лежит код заполнения этого соответствия(выйти на него просто, порядка 2-3 процедур), там даже и не пахнет запросами из регистров каких-либо отпусков за свой счет, только положенные законодательством. Добавьте свой запрос в этот модуль или лучше в своем внешнем отчете добавьте в соответствие ДополнительныеСведения необходимые поля. Поймайте отладчиком момент формирования карточки и посмотрите, что лежит в этом ДополнительныеСведения, так будет понятнее, что с ним делать. На самом деле задача не должна быть такой уже сложной, главное сделайте запрос, который вернет все отпуска за свой счет и впихните эти данные в момент отрисовки макета карточкиТ2. Как именно это делать, по шагам, вам никто не скажет.
В макете карточкиТ2 есть раздел отпуска, посмотрите названия параметров. С вероятностью в 99.99% данные, которые лежат в ДанныеЗаполнения = ДополнительныеСведения.Получить("ДанныеЗаполненияОтпуска"); имеют схожие названия. Соответственно добавьте новые данные о новых отпусках с теми же именами. Это всего лишь один из вариантов. Ну да, смотрю код: // Отпуска Запрос = Новый Запрос; Запрос.УстановитьПараметр("Сотрудники", СтрокиДанных.ВыгрузитьКолонку("РабочееМестоСотрудник")); Запрос.Текст = "ВЫБРАТЬ | Отпуск.Сотрудник КАК Сотрудник, | Отпуск.Номер КАК НомерПриказа, | Отпуск.Дата КАК ДатаПриказа, | Отпуск.ДатаНачалаОсновногоОтпуска КАК ДатаС, | Отпуск.ДатаОкончанияОсновногоОтпуска КАК ДатаПо, | Отпуск.КоличествоДнейОсновногоОтпуска КАК ДнейОтпуска, | Отпуск.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск КАК РабочийГодС, | Отпуск.КонецПериодаЗаКоторыйПредоставляетсяОтпуск КАК РабочийГодПо, | Отпуск.Основание |ИЗ | Документ.Отпуск КАК Отпуск |ГДЕ | Отпуск.Проведен | И Отпуск.Сотрудник В(&Сотрудники) | |УПОРЯДОЧИТЬ ПО | Сотрудник, | ДатаС"; РезультатЗапроса = Запрос.Выполнить(); Если НЕ РезультатЗапроса.Пустой() Тогда ДанныеЗаполнения = Новый Соответствие; ВыборкаОтпуска = РезультатЗапроса.Выбрать(); Пока ВыборкаОтпуска.СледующийПоЗначениюПоля("Сотрудник") Цикл ДанныеЗаполненияПоСотруднику = Новый Массив; Пока ВыборкаОтпуска.Следующий() Цикл СтруктураСтроки = Новый Структура(); СтруктураСтроки.Вставить("ВидОтпуска", НСтр("ru='Основной'")); СтруктураСтроки.Вставить("ДатаС", ВыборкаОтпуска.ДатаС); СтруктураСтроки.Вставить("ДатаПо", ВыборкаОтпуска.ДатаПо); СтруктураСтроки.Вставить("ДнейОтпуска", ВыборкаОтпуска.ДнейОтпуска); СтруктураСтроки.Вставить("РабочийГодС", ВыборкаОтпуска.РабочийГодС); СтруктураСтроки.Вставить("РабочийГодПо", ВыборкаОтпуска.РабочийГодПо); СтруктураСтроки.Вставить("ОснованиеОтпуска", "Пр.№ "+ СокрЛП(ВыборкаОтпуска.НомерПриказа) +" от " + Формат(ВыборкаОтпуска.ДатаПриказа, "ДЛФ=D") + " " + ВыборкаОтпуска.Основание); ДанныеЗаполненияПоСотруднику.Добавить(СтруктураСтроки); КонецЦикла; ДанныеЗаполнения.Вставить(ВыборкаОтпуска.Сотрудник, ДанныеЗаполненияПоСотруднику); КонецЦикла; ДополнительныеСведения.Вставить("ДанныеЗаполненияОтпуска", ДанныеЗаполнения); КонецЕсли; Названия полей те же. По аналогии добавьте свой запрос.
Konstantin Serov Как вы можете судить, нужен ли этот урок для продвинутых разработчиков или нет, если сами таковым не являетесь? К слову, урок для очень начинающих. В пору, когда появились управляемые формы и стали входить в моду, вокруг создания ВПФ и тем более их отладки создавалось ОЧЕНЬ много тем на разных форумах, посвященных программированию 1С, так что можете мне верить, вопрос актуален и по сей день.
Автор наверно профессионал. Но слишком много ошибок, о которых остальным не нужно знать. Урок все время из-за этого уходит в сторону. Наверно исправление ошибок автору можно было удалить из видео, а то как-то все неопрятно
+Зарубежные беспилотники Не, так не интересно. интернет пестрит отредактированными видео, где все получается с первого раза. Я пришел в мир программирования, не зная что такое переменная, и лично меня очень удручало, что у всех вроде все получается с лету, а я вожусь по несколько часов, чтобы написать простейшее выражение. А все на самом деле не так. Когда выполняешь реальное задание, ошибок выскакивает много, в том числе и после сдачи работ. Все ошибки я оставил специально. И это всего лишь печатная форма. Когда работаешь над серьезной задачей сложностей появляется в разы больше и порой тупить приходится не один день.
Первое обучающее видео по 1С, которое более-менее не скучно смотреть)
Дима, привет!
Благодарю за такое подробное видео! Очень было для меня полезно. Спасибо от души! Снимай ещё.
Огромный Респект и уважуха. Для новичков самое то. Побольше таких уроков )))
от души за видео, 3 дня до этого мучался с отладкой) уже сляпал себе шаблон для отладки!!! СПАСИБО!!!
Без воды и по теме. Спасибо!
Спасибо! Классное видео! Молодцы! Я начинающий программист 1с, все очень доступно объяснено, но застряла на следующем моменте: как на минуте 21:26 Вы в табло вставили КоллекцияПечатныхФорм.
Долго не мог понять, о чем вы:) Можно тремя способами передать туда значение: 1) написать руками имя параметра/переменной/объекта 2) скопировать из модуля нужное имя через ctrl+c, а затем в табло вставить через ctrl+v 3) выделить нужное имя в модуле, зажать левую кнопку мыши и перетащить в табло. Кажется именно так я и сделал.
Разобралась.
Отличный урок! Здорово помог. Огромная благодарность автору!
Эталон хорошего информативного видеоурока.
По больше подобных уроков! Автору РЕСПЕКТ!
Спасибо! Очень доходчиво и голос приятный!
Дмитрий, спасибо за видео! Все получилось:)
Дмитрий, ОГРОМНОЕ спасибо.
Очень хороший урок, действительно рассказано и показаны те ошибки с которыми сам столкнулся и не мог решить.
Еще раз спасибо.
А есть еще где ваши уроки для ознакомления ?
Спасибо за приятные слова. Пароль от аккаунта потерял, долго не заходил сюда) Да, видео есть, но не выложены. Планирую в ближайшие дни что-нибудь новое разобрать. Думаю будет перевод базы из файлового варианта на клиент-серверный с разбором возможных ошибок. А далее скорее всего пойдут разборы типовых функций и процедур. Как показывает практика, начинающие разработчики их вовсе не используют, а ведь могут значительно облегчить себе жизнь.
p.s. к примеру на днях видел написанную в общем модуле процедуру, заполняющую цену товара. В то время как в самой типовой конфигурации(в данном случае речь идет о КА 1.1) есть замечательное решение: ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти(); + ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, ЭтотОбъект); +
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
Спасибо большое! Очень помогло. Сделал подобное для документа СборкаТоваров. С отладкой правда немного закис. Не открывается макет и все. Сделал все как в уроке: параметр отладка передается нормально. Но при нажатии кнопки "Отладка" ничего не происходит.
Спасибо, видео отличное. Но куды бечь, если печатная форма, копию которой я создаю, печатается не из обработки "ПечатьВнешнихФорм"?
Здравствуйте! Так как все таки поступить с методом Показать()? он недоступен на сервере... всё верно, в толстом клиенте таблица выводится, но если через конфигуратор запускать отладку, то запускается в тонком клиенте и ошибка остается актуальной.
годный мануал. для начинающих просто клад.
Ochen Xoroshiy urok. Mojna pokazat , kak dobavit tekushiy dolq kontragenta v nakladnoy?
Спасибо за иформацию
Очень помогли!)
Большое спасибо за видео, очень помогло, особенно в части организации отладки ПФ. Кстати, у меня на сегодняшний день стоит последняя версия платформы, 8.3.8.2054, отладка там слетает постоянно, приходится перезапускаться.
Хороший урок, единственный подходящий, который я смог найти при этом рабочий. Только вот не работает отладка, нет доступа к методу "Показать()"
Дмитрий здравствуйте! Вы отладку запускали в тонком клиенте? Просто у меня метод Показать() работает только в толстом клиенте.
У меня не открывается обработка на начальном этапе, пишет ошибку "задано неправильное имя атрибута структуры" хотя код тот же. в чем мб проблема? База Ут 11.1 Демо
на 10:18 что за волшебство?
Скорость печати, никакого волшебства) Отвлекали меня, пришлось вырезать некоторые моменты. Но весь текст виден.
Подскажите пожалуйста горячие клавиши для вставки конструкций языка (типа "Если" и др.)
+Юрий Север Погуглите, их полно. На практике я использую: ctrl+space (завершение ключевого слова или функции/процедуры), ctrl+q(завершение конструкции). Обязательно научитесь пользоваться Home End(конец и начало строки), используйте клаву с вынесением этих клавиш в отдельный блок. Это существенно ускоряет написание кода и самое важное - его редактирование, то есть приведение в удобно читаемый вид. Вот еще: ctrl+ стрелка лево/право - быстрый переход через все пробелы к первому символу(попробуйте - поймете). Для красивого удаления строк: Home(переходи в начало строки) и shift+вниз - выделяет вся строка без лишнего захвата символов на новой строке, а дальше del. Раньше для этого использовал ctrl+L в любом месте строки, она сразу удаляется, но минус в том, что она пихается в буфер обмена, где частенько лежит что-то нужное. Переучивался пару дней.
Дмитрий Мелиус
спасибо большое Дмитрий за развернутый ответ! побольше было бы ваших видео!
Скорее всего отладка будет работать только в файловом варианте работы базы. На серверной базе все равно не получиться провалиться в серверные процедуры. А так супер.
Предлагаю вместо параметра "Отладка" использовать что-то вроде этого
&НаСервере
Процедура ОтладкаНаСервере()
ОбъектОбработка = РеквизитФормыВЗначение("Объект");
СтрокаМакетов = "";
Для каждого ТекМакет Из ОбъектОбработка.Метаданные().Макеты Цикл
СтрокаМакетов = СтрокаМакетов + ?(СтрокаМакетов = "", "", ",") + ТекМакет.Имя;
КонецЦикла;
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(Объект.СсылкаНаОбъект);
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(СтрокаМакетов);
ОбъектыПечати = Новый СписокЗначений;
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
ОбъектОбработка.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
Для каждого ТекСтр Из КоллекцияПечатныхФорм Цикл
Если ТекСтр.ТабличныйДокумент Неопределено Тогда
ТекСтр.ТабличныйДокумент.Показать(ТекСтр.СинонимМакета, , Истина) ;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Хороший вариант! На видео была чистая импровизация, поэтому не до такого кода было:
Для каждого ТекМакет Из ОбъектОбработка.Метаданные().Макеты Цикл
СтрокаМакетов = СтрокаМакетов + ?(СтрокаМакетов = "", "", ",") + ТекМакет.Имя;
КонецЦикла; =))
Благодаря Вам научилась делать внешние печатные формы. Следующая задача - научиться создавать внешние отчеты. Например, в данный момент мне требуется создать внешний отчет в 1с 8.3 ЗУП 3.0 личную карточку Т-2, которая находится в Отчеты/Отчеты по сотрудникам (для дальнейшего редактирования). Может быть поделитесь ссылкой, где подробно разъяснено как делать отчеты или может быть видео выложите. Очень нужно! Заранее спасибо!
Научилась делать внешний отчет. Только вот с редактированием программного кода, чтобы личная карточка выводила информацию как мне необходимо придется долго посидеть. Если у меня не все получится, можно будет задать вам вопросы?
Индира Миргасимова Не пойму, в чем задача состоит? Зайдите в конфигуратор, сохраните отчет как внешнюю обработку. Внешний отчет готов.
Дмитрий Мелиус Внешний отчет я сделала, мне его нужно отредактировать. Некоторые задачи я уже решила путем изменения модуля объекта, осталась одна задача - в личной карточке Т-2 в разделе отпуска не включается в таблицу Отпуск без сохранения заработной платы, а нужно, чтобы включалось. Вы не могли бы помочь мне это сделать? Не хватает знаний, к сожалению.
Индира Миргасимова Я с ЗУПом не работаю, под рукой сейчас только типовая БП 3.0. В ней есть отчет карточкаТ2, внутри есть объект типа "Соответствие" называется ДополнительныеСведения. Также для вывода карточкиТ2 есть кусок кода:
// Отпуск
МассивЗаголовков = Новый Массив;
МассивЗаголовков.Добавить(ЗаголовокДополнительногоЛиста);
МассивЗаголовков.Добавить(ЗаголовокОтпуска);
ДокументРезультат.Вывести(ЗаголовокОтпуска, Уровень+1);
ДокументРезультат.Вывести(ШапкаОтпуска, Уровень+1);
ДанныеЗаполнения = ДополнительныеСведения.Получить("ДанныеЗаполненияОтпуска");
Посмотрите, как формируется это соответствие, что туда попадает. В БП 3.0 в одном из общих модулей лежит код заполнения этого соответствия(выйти на него просто, порядка 2-3 процедур), там даже и не пахнет запросами из регистров каких-либо отпусков за свой счет, только положенные законодательством. Добавьте свой запрос в этот модуль или лучше в своем внешнем отчете добавьте в соответствие ДополнительныеСведения необходимые поля. Поймайте отладчиком момент формирования карточки и посмотрите, что лежит в этом ДополнительныеСведения, так будет понятнее, что с ним делать. На самом деле задача не должна быть такой уже сложной, главное сделайте запрос, который вернет все отпуска за свой счет и впихните эти данные в момент отрисовки макета карточкиТ2. Как именно это делать, по шагам, вам никто не скажет.
В макете карточкиТ2 есть раздел отпуска, посмотрите названия параметров. С вероятностью в 99.99% данные, которые лежат в ДанныеЗаполнения = ДополнительныеСведения.Получить("ДанныеЗаполненияОтпуска"); имеют схожие названия. Соответственно добавьте новые данные о новых отпусках с теми же именами. Это всего лишь один из вариантов.
Ну да, смотрю код:
// Отпуска
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Сотрудники", СтрокиДанных.ВыгрузитьКолонку("РабочееМестоСотрудник"));
Запрос.Текст =
"ВЫБРАТЬ
| Отпуск.Сотрудник КАК Сотрудник,
| Отпуск.Номер КАК НомерПриказа,
| Отпуск.Дата КАК ДатаПриказа,
| Отпуск.ДатаНачалаОсновногоОтпуска КАК ДатаС,
| Отпуск.ДатаОкончанияОсновногоОтпуска КАК ДатаПо,
| Отпуск.КоличествоДнейОсновногоОтпуска КАК ДнейОтпуска,
| Отпуск.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск КАК РабочийГодС,
| Отпуск.КонецПериодаЗаКоторыйПредоставляетсяОтпуск КАК РабочийГодПо,
| Отпуск.Основание
|ИЗ
| Документ.Отпуск КАК Отпуск
|ГДЕ
| Отпуск.Проведен
| И Отпуск.Сотрудник В(&Сотрудники)
|
|УПОРЯДОЧИТЬ ПО
| Сотрудник,
| ДатаС";
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
ДанныеЗаполнения = Новый Соответствие;
ВыборкаОтпуска = РезультатЗапроса.Выбрать();
Пока ВыборкаОтпуска.СледующийПоЗначениюПоля("Сотрудник") Цикл
ДанныеЗаполненияПоСотруднику = Новый Массив;
Пока ВыборкаОтпуска.Следующий() Цикл
СтруктураСтроки = Новый Структура();
СтруктураСтроки.Вставить("ВидОтпуска", НСтр("ru='Основной'"));
СтруктураСтроки.Вставить("ДатаС", ВыборкаОтпуска.ДатаС);
СтруктураСтроки.Вставить("ДатаПо", ВыборкаОтпуска.ДатаПо);
СтруктураСтроки.Вставить("ДнейОтпуска", ВыборкаОтпуска.ДнейОтпуска);
СтруктураСтроки.Вставить("РабочийГодС", ВыборкаОтпуска.РабочийГодС);
СтруктураСтроки.Вставить("РабочийГодПо", ВыборкаОтпуска.РабочийГодПо);
СтруктураСтроки.Вставить("ОснованиеОтпуска", "Пр.№ "+ СокрЛП(ВыборкаОтпуска.НомерПриказа) +" от "
+ Формат(ВыборкаОтпуска.ДатаПриказа, "ДЛФ=D") + " " + ВыборкаОтпуска.Основание);
ДанныеЗаполненияПоСотруднику.Добавить(СтруктураСтроки);
КонецЦикла;
ДанныеЗаполнения.Вставить(ВыборкаОтпуска.Сотрудник, ДанныеЗаполненияПоСотруднику);
КонецЦикла;
ДополнительныеСведения.Вставить("ДанныеЗаполненияОтпуска", ДанныеЗаполнения);
КонецЕсли;
Названия полей те же. По аналогии добавьте свой запрос.
а для БП 3.0 есть шаблон печатной формы?
Вы имеете в виду шаблон заготовки для внешней печатной формы? Так подойдет та, что на видео. БП 3.0 - это тоже управляемые формы, как и УТ 11
Быстро и не понятно. Может это для продвинутых 1с разработчиков, но продвинутые вряд ли не смогут этого сделать сами. На урок не тянет
Konstantin Serov Как вы можете судить, нужен ли этот урок для продвинутых разработчиков или нет, если сами таковым не являетесь? К слову, урок для очень начинающих. В пору, когда появились управляемые формы и стали входить в моду, вокруг создания ВПФ и тем более их отладки создавалось ОЧЕНЬ много тем на разных форумах, посвященных программированию 1С, так что можете мне верить, вопрос актуален и по сей день.
Автор наверно профессионал. Но слишком много ошибок, о которых остальным не нужно знать. Урок все время из-за этого уходит в сторону. Наверно исправление ошибок автору можно было удалить из видео, а то как-то все неопрятно
+Зарубежные беспилотники Не, так не интересно. интернет пестрит отредактированными видео, где все получается с первого раза. Я пришел в мир программирования, не зная что такое переменная, и лично меня очень удручало, что у всех вроде все получается с лету, а я вожусь по несколько часов, чтобы написать простейшее выражение. А все на самом деле не так. Когда выполняешь реальное задание, ошибок выскакивает много, в том числе и после сдачи работ. Все ошибки я оставил специально. И это всего лишь печатная форма. Когда работаешь над серьезной задачей сложностей появляется в разы больше и порой тупить приходится не один день.