Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:05

Услуги и привязанные к ним материалы

Автор Дмитрий357, 24 дек 2022, 09:07

0 Пользователей и 1 гость просматривают эту тему.

Дмитрий357

Здравствуйте! Подскажите пожалуйста, что требуется сделать и как это сделать в 1с 8.3.22. Не могу понять текст задания. Задание:
Компания занимается оказанием медицинских услуг физ. лицам. Для оказания услуг списываются материалы и медикаменты. Поступление материалов отражается документом «Приходная накладная», оказание услуг - «Оказание услуг». И услуги указываются в табличной части «Работы», а медикаменты и прочие материалы в табличной части «Материалы». Каждая стока материалов должна быть привязана к услуге которая есть в табличной части «Услуги», причем к одной услуге из табличной части  «Работы» может быть привязано несколько строк из таблицы «Материалы» или не привязана не одной.  Список материалов и медикаментов, списываемых по умолчанию, указывается в карточке «Номенклатуры» с типом услуга.  В форме при выборе услуг табличная часть материалы должна заполняться по умолчанию, с возможностью изменения списываемых материалов. Складской учет товаров не ведется. При проведении оказания услуг при нехватке материалов необходимо выдавать соответствующее предупреждение с указанием количества нехватки и не позволять проводить документ.
Я так понимаю для начала надо создать справочник Номенклатура с содержанием услуг и материалов (как здесь сделать две группы внутри одного справочника или создать два разных справочника?). Создаем два документа Приходная накладная и Оказание услуг. В документе Оказании услуг создаем две табличные части: Работы для услуг, Материалы для медикаментов и прочих материалов. Далее как связать строки Работы к строкам Материалы: обычная настройка в конфигураторе или программный код и где? Вот эту строчку совсем не могу вообразить как должна быть "Список материалов и медикаментов, списываемых по умолчанию, указывается в карточке «Номенклатуры» с типом услуга"

alexandr_ll

Дмитрий357, В конфигураторе создается справочник "Работы услуги", в нем табличная часть "Материалы". Выводим все на форму элемента. Нужен регистр накопления "Остатки материалов". В документе "Оказание услуг" при изменении (вводе)  услуги прочитывается табличная часть справочника услуги и в табличную часть "Материалы" документа добавляются строки соответствующего содержания.

Дмитрий357

alexandr_ll, и каким образом прочитывается? автоматически не получается или еще какие настройки надо?

alexandr_ll

Дмитрий357, На форме документа для поля "Услуга" в свойствах нужно задать событие "При изменении" и в модуле формы описать процедуры чтения табличной части справочника. https://forum.infostart.ru/forum9/topic205443/

ospov11789

Цитата: Дмитрий357 от 24 дек 2022, 09:07Здравствуйте! Подскажите пожалуйста, что требуется сделать и как это сделать в 1с 8.3.22. Не могу понять текст задания. Задание:
Компания занимается оказанием медицинских услуг физ. лицам. Для оказания услуг списываются материалы и медикаменты. Поступление материалов отражается документом «Приходная накладная», оказание услуг - «Оказание услуг». И услуги указываются в табличной части «Работы», а медикаменты и прочие материалы в табличной части «Материалы». Каждая стока материалов должна быть привязана к услуге которая есть в табличной части «Услуги», причем к одной услуге из табличной части  «Работы» может быть привязано несколько строк из таблицы «Материалы» или не привязана не одной.  Список материалов и медикаментов, списываемых по умолчанию, указывается в карточке «Номенклатуры» с типом услуга.  В форме при выборе услуг табличная часть материалы должна заполняться по умолчанию, с возможностью изменения списываемых материалов. Складской учет товаров не ведется. При проведении оказания услуг при нехватке материалов необходимо выдавать соответствующее предупреждение с указанием количества нехватки и не позволять проводить документ.
Я так понимаю для начала надо создать справочник Номенклатура с содержанием услуг и материалов (как здесь сделать две группы внутри одного справочника или создать два разных справочника?). Создаем два документа Приходная накладная и Оказание услуг. В документе Оказании услуг создаем две табличные части: Работы для услуг, Материалы для медикаментов и прочих материалов. Далее как связать строки Работы к строкам Материалы: обычная настройка в конфигураторе или программный код и где? Вот эту строчку совсем не могу вообразить как должна быть "Список материалов и медикаментов, списываемых по умолчанию, указывается в карточке «Номенклатуры» с типом услуга"
Все очень просто. Создаётся документ с оказание услуг и реквизитами услуги тип справочник ссылка услуги и  реквизитами табличной части оказываемая услуга, тип справочник ссылка услуги, материалы, тип справочник ссылка материалы, затем реквизит количество текущих материалов тип число, затем количество списываемых материалов тип число, затем реквизит остатки материалов тип число с установлением запрета отрицательного значения. Затем зная сколько материалов списывается при оказании той или иной услуги, это вы указываете в регистре сведений оказываемые услуги с изменением (ведущее, основной отбор),  пишите в общем модуле следующую функцию Функция ОпределитьКоличествоСписываемыхМатермалов (АктуальнаяДата,ЭлементОказыванмыеУслуги) Экспорт;Отбор=Новый Структура("ОказываемыеУслуги",Элемент,Оказываемые услуги); ЗначенмяРесурсов=РегистрыСведений.РегистрсСписываемыхМатеомалов.ПолучитьПосоеднее(АктуальнаяДата,Отбор);Возврат ЗначенияРесурсов.КоличествоСписываемыхМатеомалов; КонецФункции. Затем создаете процедуру РассчитатьОстаткиМатериалов(СтрокаТабличнойЧасти) Экспорт СтрокаТабличнойЧасти.ОстаткиМатериалов=строкатабличнойчасти.КоличествоМатериалов- СтрокаТабличнойЧасти.КоличествоСписываемыхМатермалов. Затем все эти процедуры и функции вставляете в процедуру которая вызывается при изменении реквизита оказываемые услуги. Затем организуете движение документа по регистру накопления остатки материалов, вид движения расход. Измерения регистра Оказываемые услуги, ресурсы количество материалов, списываемые материалы, остатки материалов. В значении ресурса остатки материалов устанавливаем запрет отрицательного значения. И все. Если надо узнать нехватку материалов создаём ещё один реквизит нехватка матермалов, процедуру определить нехватку материалов и пишем слелующую процедуру в общем модуле. Определить нехватку материалов(СтрокаТабличнойЧасти) Экспорт. СтрокаТабличнойЧасти.НехваткаМатериалов=СтрокаТабличнойЧасти.КоличествоСписываемыхМатериалов-СтрокаТабличнойЧасти.Количество.Матениалов. И все.Нажмите на фрагмент, чтобы вставить его в текстовое поле..

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск