(Билет 3 ч. 2) Подготовка к экзамену 1С СПЕЦИАЛИСТ УТ 11.хх

  Рет қаралды 3,637

Роман Любеньков

Роман Любеньков

Күн бұрын

Пікірлер: 19
@fcstorm88
@fcstorm88 Жыл бұрын
Спасибо! Коммент для поддержки автора!
@ВикторГреку-ш1д
@ВикторГреку-ш1д 8 ай бұрын
Автор, ты красавчик! Просто отличный разбор. Кайф
@sukerinflames9068
@sukerinflames9068 Жыл бұрын
Добрый день. Роман, спасибо большое за ваш труд, респект ! Мои замечания: 1) В запросе на 1:55:17 при отмене проведения первичного ("правильного") "Приходного ордера", проверка обратно провести его не даст, так как выберет из регистра документы "приобретение товаров и услуг", которые так же являются регистраторами регистра "ТоварыКПоступлению" Можно добавить еще условие: И ТоварыКПоступлениюОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПриходныйОрдерНаТовары и тогда будут проверяться только приходные ордера (документ обратно будет проводиться), НО проверку так же можно обойти, распровести первый (правильный) ордер, и провести второй (неправильный) - получится что у двух ордеров одинаковое распоряжение. Может добавить еще проверку на реквизит "Распоряжение" ? Что бы нельзя было указать "приемку товара по факту" для ордера, когда у другого ордера уже установлена эта приёмка ? 2) Немного по другому сделал контроль при проведении. Весь фильтр, кроме даты остатков беру из ТЧ товары, в том числе и "ДокументПоступление" Кстати, для небольших таблиц (ТЧ товары - небольшая таблица) поля можно не индексировать - это излишнее. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТЧ_Товары.Ссылка.ПриемкаТоваровПоФакту КАК ДокументПоступление, | ТЧ_Товары.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация, | ТЧ_Товары.Ссылка.Склад КАК Склад, | ТЧ_Товары.Номенклатура КАК Номенклатура, | ТЧ_Товары.Характеристика КАК Характеристика, | ТЧ_Товары.Серия КАК Серия |ПОМЕСТИТЬ Вт_Товары |ИЗ | Документ.ПриобретениеТоваровУслуг.Товары КАК ТЧ_Товары |ГДЕ | ТЧ_Товары.Ссылка = &Ссылка | |ИНДЕКСИРОВАТЬ ПО | ДокументПоступление, | ХозяйственнаяОперация, | Склад, | Номенклатура, | Характеристика, | Серия |; |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыКПоступлениюОстатки.Номенклатура КАК Номенклатура, | ТоварыКПоступлениюОстатки.КОформлениюПоступленийПоОрдерамОстаток КАК Перерасход, | ТоварыКПоступлениюОстатки.ДокументПоступления КАК Распоряжение |ИЗ | РегистрНакопления.ТоварыКПоступлению.Остатки( | &ДатаОстатков, | (ДокументПоступления, ХозяйственнаяОперация, Склад, Номенклатура, Характеристика, Серия) В | (ВЫБРАТЬ | Вт_Товары.ДокументПоступление КАК ДокументПоступление, | Вт_Товары.ХозяйственнаяОперация КАК ХозяйственнаяОперация, | Вт_Товары.Склад КАК Склад, | Вт_Товары.Номенклатура КАК Номенклатура, | Вт_Товары.Характеристика КАК Характеристика, | Вт_Товары.Серия КАК Серия | ИЗ | Вт_Товары КАК Вт_Товары)) КАК ТоварыКПоступлениюОстатки |ГДЕ | ТоварыКПоступлениюОстатки.КОформлениюПоступленийПоОрдерамОстаток < 0"; Запрос.УстановитьПараметр("ДатаОстатков", Новый Граница(Дата,ВидГраницы.Включая)); Запрос.УстановитьПараметр("Ссылка", Ссылка); 3) Замечание по отчету, требуется: "нужно отображать данные по приходным ордерам" Я бы в финальном запросе выводил бы данные из табличной части ордера, т.е. ссылку на ордер, товар, количество, т.е. визуально понятный отчет для пользователя, а не детализацию регистра. 4) В документе "ПриходныйОрдерНаТовары" в форме "ВыборРаспоряжения" выводится некорректно строка с новым документом, нужно в динамическом запросе прописать: И НЕ ТоварыКПоступлению.ДокументПоступления ССЫЛКА Документ.ПриемкаТоваровПоФакту Если в этом списке выбора не выводить наш новый документ - это в какой то степени контроль, руками пользователь документ не перевыберет. (правда может скопировать другой ордер с заполненным распоряжением) 5) В обработке "Управление поступлением" нужно так же прописать в условиях СКЛАД | ВЫБРАТЬ | ПриемкаТоваровПоФакту.Ссылка, | ПриемкаТоваровПоФакту.Контрагент.Партнер, | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика), | ВЫРАЗИТЬ(ПриемкаТоваровПоФакту.Номер КАК СТРОКА(11)), | ПриемкаТоваровПоФакту.Дата, | """", | ДАТАВРЕМЯ(1, 1, 1), | ""ПриемкаТоваровПоФакту"", | ЛОЖЬ, | 2 | ИЗ | Документ.ПриемкаТоваровПоФактуКАК ПриемкаТоваровПоФакту | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПоступлению.Обороты КАК ТоварыКПоступлению | ПО ПриемкаТоваровПоФакту.Ссылка = ТоварыКПоступлению.ДокументПоступления | ГДЕ | ПриемкаТоваровПоФакту.Проведен = ИСТИНА | И ПриемкаТоваровПоФакту.Склад = &Склад | И ТоварыКПоступлению.ДокументПоступления ЕСТЬ NULL
@liubrom
@liubrom Жыл бұрын
Прошу прощения, я уже к этому моменту не помню нюансов решения билета, но ваши замечания выглядят как по делу. Спасибо, это поможет следующим сдающим)
@АляХасанова-е8щ
@АляХасанова-е8щ 11 ай бұрын
Просто спасение для тех кто начинает все это сдавать изучать и все в этом духе, еще бы спец конс хотелось полностью🙏
@МихаилШишканов-с2ь
@МихаилШишканов-с2ь Жыл бұрын
Благодарю! Отличный разбор билета!
@liubrom
@liubrom Жыл бұрын
Спасибо!)
@andreywonttell4016
@andreywonttell4016 6 ай бұрын
Спасибо за ролик. Задача какая-то долгая. Сколько времени на весь экзамен дается? Как это можно успеть? 1с предполагает, что мы заучивать наизусть будем?
@liubrom
@liubrom 5 ай бұрын
Действительно, это задача на фоне остальных сложная, но и по статистике она никому не попадается (на момент съемки видео)
@MamantVeb
@MamantVeb 25 күн бұрын
спасибо за видео Роман, как насчет такого решения при проведении документа ПриобретениеТоваровУслуг по регистру ТоварыКПоступлению вместо варианта с колонками: Модуль Набора Записей , Процедура Перед Записью, цикл типовой Для Каждого СтрНабора Из ЭтотОбъект Цикл //++Экзамен Если ТипЗнч(СтрНабора.ДокументПоступления) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") И ЗначениеЗаполнено(СтрНабора.ДокументПоступления.ПринятьТоварыПоФакту) Тогда СтрНабора.ДокументПоступления = СтрНабора.ДокументПоступления.ПринятьТоварыПоФакту; КонецЕсли; //++ КонецЦикла;
@АлексейЗемлянский-в2х
@АлексейЗемлянский-в2х 2 ай бұрын
Как 1с спец посмею чуть уточнить. в новой методике пишем вместо "Новый Граница(Дата, ВидГраницы.Включая)" -> "Новый Граница(МоментВремени(), ВидГраницы.Включая)", так как могут быть несколько документов в пределах одной секунды
@siniks7
@siniks7 Жыл бұрын
Капец, снова сломали мне мозг, Роман) Столько учил запросы и будто впустую. Зачем выбираем левое соединение если нам нужно найти данные где есть ордер, но нет приобретения? Очевидно же использовать внутреннее соединение. Вообще даже не понял как у вас это заработало через Левое соединение
@liubrom
@liubrom Жыл бұрын
Возможно, я не прав в своём решении) немного уже забыл в чем там суть отчёта, но в теории внутреннее соединение звучит лучше, чем отбор в условии... если через внутреннее работает также, то лучше внутренне... наверное😅
@shimorskiy
@shimorskiy 5 ай бұрын
По примеру из видео, внутреннее соединение не работает, только левое. Скинь пожалуйста пример, если решил иначе. Я лично смог только укоротить запрос до 2х временных таблиц вместо трёх)
@mobilitymoon5232
@mobilitymoon5232 Жыл бұрын
Приступай к УТ консультанту, тема востребована
@liubrom
@liubrom Жыл бұрын
Уже) Спаибо)
@mobilitymoon5232
@mobilitymoon5232 Жыл бұрын
Спасибо за видео. С колонками при проведении перемудрил, достаточно СтруктураТаблиц.ТаблицаТоварыКПоступлению.Колонки.Удалить(СтруктураТаблиц.ТаблицаТоварыКПоступлению.Колонки.Найти("ДокументПоступления")); СтруктураТаблиц.ТаблицаТоварыКПоступлению.Колонки.Добавить("ДокументПоступления",Новый ОписаниеТипов("ДокументСсылка.Экз_ПриемкаТоварПоФакту"));
@liubrom
@liubrom Жыл бұрын
Наверняка так тоже можно, но мне хотелось сделать минимум изменений в типовом механизме. Поэтому я сначала получаю все старые типы этой колонки чтобы к ним добавить еще и наш тип.
@RuslanValiev
@RuslanValiev Жыл бұрын
НовыйТипДокументПоступления = Новый ОписаниеТипов(ТоварыКПоступлению.Колонки.ДокументПоступления.ТипЗначения,"ДокументСсылка.ПринятьТоварПоФакту"); ТоварыКПоступлению.Колонки.Удалить("ДокументПоступления"); ТоварыКПоступлению.Колонки.Добавить("ДокументПоступления",НовыйТипДокументПоступления);
Jaidarman TOP / Жоғары лига-2023 / Жекпе-жек 1-ТУР / 1-топ
1:30:54
Ful Video ☝🏻☝🏻☝🏻
1:01
Arkeolog
Рет қаралды 14 МЛН
Хаги Ваги говорит разными голосами
0:22
Фани Хани
Рет қаралды 2,2 МЛН
Making allocators and object pools faster using a free list
17:34
Jacob Sorber
Рет қаралды 1,5 М.
Андрей Фурсов - Мир сломался. Почему? Как? Что дальше?
1:48:28
Сборник Топ 20 Номеров за 2024 - Уральские Пельмени
2:52:31
Уральские Пельмени
Рет қаралды 438 М.
Самый богатый человек в Вавилоне. Джордж Самюэль Клейсон. [Аудиокнига]
3:44:33
Аудиокниги издательства - AB Publishing
Рет қаралды 1,5 МЛН
Азы программирования в 1С за 3 часа
3:46:49
IRONSKILLS - Курсы по 1С
Рет қаралды 3,7 МЛН
Jaidarman TOP / Жоғары лига-2023 / Жекпе-жек 1-ТУР / 1-топ
1:30:54