TEXT 52
123 Guest on 20th December 2022 03:15:36 PM
  1. Перем РезультатОбработки;
  2. Процедура ОбработкаПроведения(Отказ, Режим)
  3.     Сообщение = 0;
  4.  ЗапросНаличиеПриемаВРасписании = Новый Запрос;
  5.  ЗапросНаличиеПриемаВРасписании.Текст="ВЫБРАТЬ
  6.  | РасписаниеПриема.Врач КАК Врач,
  7.  | РасписаниеПриема.ВремяПриема КАК ВремяПриема
  8.  |ИЗ
  9.  | РегистрСведений.РасписаниеПриема КАК РасписаниеПриема";
  10.  РезультатЗапросаНаПрием = ЗапросНаличиеПриемаВРасписании.Выполнить();
  11.  ВыборкаЗапросаНаПрием = РезультатЗапросаНаПрием.Выбрать();
  12.  Пока ВыборкаЗапросаНаПрием.Следующий () Цикл
  13.   Если Дата = ВыборкаЗапросаНаПрием.ВремяПриема и Специалист = ВыборкаЗапросаНаПрием.Врач Тогда
  14.   ЗапросНаличиеСпециалистаВРегистреНакоплений=Новый Запрос; //проверка на то занято это время или нет.
  15.   ЗапросНаличиеСпециалистаВРегистреНакоплений.Текст="ВЫБРАТЬ
  16.                                                     | ПромежуточныеЗаписи.Врач КАК Врач,
  17.                                                     | ПромежуточныеЗаписи.ВремяПриема КАК ВремяПриема
  18.                                                     |ИЗ
  19.                                                     | РегистрНакопления.ПромежуточныеЗаписи КАК ПромежуточныеЗаписи";
  20.   РезультатЗапросаНаличияВРегистре = ЗапросНаличиеСпециалистаВРегистреНакоплений.Выполнить ();
  21.   ВыборкаЗапросаНаНаличие=РезультатЗапросаНаличияВРегистре.Выбрать ();
  22.  
  23.   Пока ВыборкаЗапросаНаНаличие.Следующий() Цикл
  24.    Если Специалист=ВыборкаЗапросаНаНаличие.Врач и Дата = ВыборкаЗапросаНаНаличие.ВремяПриема Тогда
  25.     Сообщить ("Данное время приема занято.");
  26.     Отказ = Истина;
  27.     Сообщение = 1;
  28.     РезультатОбработки=1;
  29.    Иначе
  30.     РезультатОбработки=0;
  31.     //Прервать;
  32.    КонецЕсли;
  33.   КонецЦикла;
  34.   ИначеЕсли
  35.    РезультатОбработки = 0 тогда
  36.   Иначе
  37.    РезультатОбработки = 1;
  38.   КонецЕсли;
  39.  КонецЦикла;
  40.  Если РезультатОбработки=1 Тогда
  41.   Если Сообщение = 1 тогда
  42.   Иначе
  43.   Сообщить("На данное время нет приёма");
  44.   Отказ=Истина;
  45.   КонецЕсли;
  46.  Иначе
  47.   Движения.ПромежуточныеЗаписи.Записывать = Истина;
  48.   Движение=Движения.ПромежуточныеЗаписи.Добавить();
  49.   Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
  50.   Движение.ВремяПриема = Дата;
  51.   Движение.Врач = Специалист;
  52.  // Движение.СтатусЗаписи=Перечисления.СтатусЗаписи.Записано;
  53.   Движение.НомерЗаписи = 1;
  54.   Движение.Период=Дата;
  55.  КонецЕсли;
  56. КонецПроцедуры

Text Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.