Решение задачи 5.12 из Сборника задач для подготовки к экзамену 1С:Специалист по платформе

23.12.21

Разработка - Подготовка к аттестации

Вариант решения задачи с выбором срока годности сразу после выбора товара на платформе 8.3.17.1496.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Задача5_12
.dt 176,93Kb
49
49 Скачать бесплатно

Решение выполнено на "каркасной конфигурации" https://1c.ru/spec/questions.htm.

Описание решения:

1. в документ РасходнаяНакладная ТабличнаяЧасть СписокНоменклатуры добавлен реквизит СрокГодности типа Дата.

2. в РегистрНакопления.ОстаткиНоменклатуры добавлено измерение СрокГодности типа Дата.

3. в РегистрНакопления.ОстаткиНоменклатуры добавлена неосновная ФормаОстаткиПоСрокамГодности, в ней

3.1 добавлен реквизит ОстаткиПоСрокамГодности типа ДинамическийСписок Основная таблица - РегистрНакопления.ОстаткиНоменклатуры.Остатки


 

3.2 в таблице ДинамическогоСписка отключена КоманднаяПанель, отображены колонки СрокГодности, КоличествоОстаток, определён обработчик Выбор()



 

&НаКлиенте
Процедура ОстаткиПоСрокамГодностиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	РезультатВыбора = Новый Структура("СрокГодности, КоличествоОстаток");
	ЗаполнитьЗначенияСвойств(РезультатВыбора, Элемент.ТекущиеДанные);
	ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры

 

4. добавлена основная форма документа РасходнаяНакладная

4.1 определена клиентская переменная модуля формы (используется для передачи Номенклатуры между обработчиками событий формы)

&НаКлиенте
Перем ВыбраннаяНоменклатура;

4.2 для поля Номенклатура таблицы СписокНоменклатуры определён обработчик ОбработкаВыбора():

&НаКлиенте
Процедура СписокНоменклатурыНоменклатураОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ВыбраннаяНоменклатура = ВыбранноеЗначение;
	ПараметрыОткрытия = Новый Структура("Отбор", Новый Структура("Номенклатура", ВыбраннаяНоменклатура));
	ОткрытьФорму("РегистрНакопления.ОстаткиНоменклатуры.Форма.ФормаОстаткиПоСрокамГодности", ПараметрыОткрытия, Элементы.СписокНоменклатуры);
КонецПроцедуры

4.3 для таблицы СписокНоменклатуры определён обработчик ОбработкаВыбора():

&НаКлиенте
Процедура СписокНоменклатурыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	Элемент.ТекущиеДанные.Номенклатура = ВыбраннаяНоменклатура;
	Элемент.ТекущиеДанные.СрокГодности = ВыбранноеЗначение.СрокГодности;
	Элемент.ТекущиеДанные.Количество   = ВыбранноеЗначение.КоличествоОстаток;
КонецПроцедуры

По многим пунктам возможно альтернативное решение (отличающееся от описанного), например:

- В динамическом списке остатков по срокам годности используется основная таблица Остатки. Чаще можно встретить произвольный запрос с параметром. С точки зрения экзамена, описанный вариант представляется более предпочтительным.

- В модуле формы используется переменная ВыбраннаяНоменклатура. Другой вариант - передача номенклатуры из формы остатков по срокам годности вместе с Количеством и СрокомГодности.

Если есть мнение относительно корректности, правильности описанного решения, добавьте, пожалуйста, в комментарии.

Ограничение ответственности.

Материалы этой публикации предоставляются "как есть". Вы можете пользоваться ими, вносить изменения.

Автор не гарантирует, что результаты использования будут соответствовать Вашим ожиданиям.

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

Вы используете материалы этой публикации (включая приложенные файлы) на свой риск и под свою ответственность.

Решение задачи 1С:Специалист платформа 8.3

См. также

Подготовка к аттестации Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Обучающая программа 1С Online представляет собой интерактивное изучение языка запросов с самого начала: - 50 практических заданий с различным уровнем сложности; - Методические материалы по практике написания запросов; - Описание назначения таблиц и индексов 1С Предприятие 8; - Методика решения реальных задач запросом 1С; - Автоматическая система проверки решений с указанием ошибок; - Инструкции по решению задач с разъяснениями; - Техническая поддержка пользователей. Тренажер запросов подходит для начинающих и действующих разработчиков 1С

1800 руб.

11.02.2014    79680    106    15    

200

Подготовка к аттестации Программист Запросы 1C:Бухгалтерия Платные (руб)

Желаете повысить свой уровень разработки? Не знаете, как оптимизировать работу тяжелых запросов 1С? Или знаете методы оптимизации, но на практике не получаете результат? Тогда эта интерактивная обучающая программа для Вас! Оптимизация запросов прямо в программе 1С:Предприятие 8. Несколько десятков практических заданий, рассматривающих методы оптимизации на практике. От Вас требуются реальные решения - оптимизация представленных запросов. Автоматизированная система оценит Ваш запрос и представит результат проверки.

1800 руб.

06.07.2015    73141    123    9    

136

Подготовка к аттестации Программист Россия Бесплатно (free)

Источники информации для подготовки к Эксперту.

18.12.2024    10900    GraVVitY    61    

64

Подготовка к аттестации Программист Стажер Бесплатно (free)

Меня зовут Татьяна, в 1С-разработке я уже семь лет, а в этом году официально стала junior-специалистом. Рассказываю, как всё происходило.

10.09.2024    8783    PROSTO-1C    21    

14

Подготовка к аттестации Программист Стажер Платформа 1С v8.3 Россия Бесплатно (free)

Я Олег, разработчик 1С. Расскажу, как сдавал на сертификат Специалиста, в чём ошибся и что стоит учесть.

11.06.2024    17440    PROSTO-1C    52    

70

Подготовка к аттестации Программист Стажер Платформа 1С v8.3 Россия Бесплатно (free)

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

04.06.2024    11725    anton99    50    

58

Подготовка к аттестации Стажер 1C:Бухгалтерия Фармацевтика, аптеки Россия Управленческий учет Бесплатно (free)

Краткий рассказ о выборе 1С как основного языка программирования для дипломной работы в университете, и само приложение к диплому.

28.05.2024    5207    DmitryOneBit    20    

20
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. HeartlessALieN 13.01.22 14:34 Сейчас в теме
Решение очень даже гуд как по мне, но ооочень сильно зависит от конфигурации, т.к только начинаешь привязываться к партиям схемка чуть ломается
2. buhkniga86 16.10.23 10:04 Сейчас в теме
Добрый день.
Всё хорошо. Одно автор упустил из вида в описании. В форме ФормаОстаткиПоСрокамГодности
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыйЭлементОтбора = ОстаткиПоСрокамГодности.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.Использование=Истина;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура");
НовыйЭлементОтбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение=Параметры.Отбор.Номенклатура;
КонецПроцедуры

иначе программа не обращает внимания на то, что мы передаём параметр отбора.
Оставьте свое сообщение