helpf.pro
Регистрация

v8.3: Помощь Гуру

saha85
26.01.2018 19:53Прочитано: 1351

Сразу скажу студент делаю курсачНужна помощь

Yandex
Возможно, вас также заинтересует
Реклама на портале
АВП
29.01.2018 20:49Ответ № 1

Странный у вас справочник Клиенты. В реквизитах только то что указано? А Наименование хотя бы? По вопросу:

В модуле формы, в свойствах поля Клиент - стандартные обработчики - ПриИзменении - получите в модуле процедуру КлиентПриИзменении

Код 1C v 8.3
 Объект.АдресКлиента = Объект.Клиент.АдресКлиента;   
Объект.ТелефонКлиента = Объект.Клиент.ТелефонКлиента;[/pre]
saha85
08.02.2018 20:03Ответ № 2

Суть проста Делаю дипломную программу на 1с я её более понимаю не научился делать отчеты с макетом и есть мало что еше недопонимаю как эти действия компилируются а так в ней все приятно и есть помощник.

На работе есть программа на Access написано вот решил её переделать и улучшить сделал все осталось сделать отчеты и права доступа. но так чтобы в конфигурация не заходить а прям из толстого или тонкого клиента добавлять пользователя и назначать ему права доступа.

1.Вопрос: как сделать чтобы все области и итог в макете заполнялись

2.Вопрос: Как сделать в отчете отбор по дате, МО,Профилю

Код 1C v 8.3
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Дата = ТекущаяДата();
СформироватьОтчет();
КонецПроцедуры


&НаКлиенте
Процедура Сформировать(Команда)
СформироватьОтчет();
КонецПроцедуры


&НаСервере
Процедура СформироватьОтчет()

ТабДок.Очистить();
ТабДок.НачатьАвтогруппировкуСтрок();
Макет = Отчеты.ОтчётМДМУ.ПолучитьМакет("Макет");

//Получение данных для вывода в отчет
//ПостроительЗапроса = Новый ПостроительЗапроса;
//ПостроительЗапроса.Текст = "ВЫБРАТЬ
Запрос = Новый Запрос;      
    Запрос.Текст = "ВЫБРАТЬ
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Дата КАК Дата,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Номер КАК Номер,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.МО КАК МО,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Пациент КАК Пациент,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Пол КАК Пол,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаРождения КАК ДатаРождения,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Возраст КАК Возраст,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Срок КАК Срок,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ПрофильноеОтделение КАК ПрофильноеОтделение,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПоступленияВМО КАК ДатаПоступленияВМО,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПеревода КАК ДатаПеревода,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ВремяПеревода КАК ВремяПеревода,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПереводаИВЛ КАК ДатаПереводаИВЛ,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ВремяПереводаИВЛ КАК ВремяПереводаИВЛ,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ПричинаМониторинг КАК ПричинаМониторинг,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.КонсультацииКпециалистовТЦМК КАК КонсультацииКпециалистовТЦМК,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.КонсультацииДругогоМЗСО КАК КонсультацииДругогоМЗСО,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Результат КАК Результат,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ПереданНаМониторинг КАК ПереданНаМониторинг,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаОп КАК ДатаОп,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ОбъемОпераВмеша КАК ОбъемОпераВмеша,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ОсложненияОпер КАК ОсложненияОпер,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Препората КАК Препората,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаОчонКонсулДети КАК ДатаОчонКонсулДети,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПерегосДет КАК ДатаПерегосДет,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.КудаПерегоспетД КАК КудаПерегоспетД,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ПричинаСнятия КАК ПричинаСнятия,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ДатаСнятия КАК ДатаСнятия,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Диагноз КАК Диагноз,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Мес КАК Мес,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Дней КАК Дней,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Время КАК Время,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.Препорат КАК Препорат,
                   | ЖурналУчётнаяКартаРеанимационногоБольного.ВремяПоступления КАК ВремяПоступления
                   |ИЗ
                   | ЖурналДокументов.ЖурналУчётнаяКартаРеанимационногоБольного КАК ЖурналУчётнаяКартаРеанимационногоБольного
                   |";
//Запроса.Параметры.Вставить("НаДату", Дата);
//Запроса.ЗаполнитьНастройки();
//Запроса.Выполнить();
//Результат = Запроса.Результат;
Выборка = Запрос.Выполнить().Выбрать();
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Дата));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(Дата));
ТабДок.Очистить();

Область = Макет.ПолучитьОбласть("Шапка");
Область.Параметры.Дата = Дата;
ТабДок.Вывести(Область);

//ИтогиОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Область = Макет.ПолучитьОбласть("ШапкаТЧ");
ТабДок.Вывести(Область);

ОбластьМакетаСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТЧ");


//Область = Макет.ПолучитьОбласть("СтрокаТЧ");
//
//ТабДок.Вывести(Область);

//Область = Макет.ПолучитьОбласть("СтрокаТЧПациенты");
//ТабДок.Вывести(Область);

//Область = Макет.ПолучитьОбласть("Подвал");
//ТабДок.Вывести(Область);



////Получим и заполним общий итог
//ИтогиОбщие.Следующий();
//ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
//ЗаполнитьЗначенияСвойств(ОбластьПодвал.Параметры, ИтогиОбщие);

           
Пока Выборка.Следующий() Цикл 
Область = Макет.ПолучитьОбласть("СтрокаТЧПациенты");
Область.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Область); 
  КонецЦикла;

КонецПроцедуры

OtchetMDMU.erf

saha85
08.02.2018 20:03Ответ № 3

Суть проста Делаю дипломную программу на 1с я её более понимаю не научился делать отчеты с макетом и есть мало что еше недопонимаю как эти действия компилируются а так в ней все приятно и есть помощник.

На работе есть программа на Access написано вот решил её переделать и улучшить сделал все осталось сделать отчеты и права доступа. но так чтобы в конфигурация не заходить а прям из толстого или тонкого клиента добавлять пользователя и назначать ему права доступа.

1.Вопрос: как сделать чтобы все области и итог в макете заполнялись

2.Вопрос: Как сделать в отчете отбор по дате, МО,Профилю

Код 1C v 8.3
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Дата = ТекущаяДата();
СформироватьОтчет();
КонецПроцедуры


&НаКлиенте
Процедура Сформировать(Команда)
СформироватьОтчет();
КонецПроцедуры


&НаСервере
Процедура СформироватьОтчет()

ТабДок.Очистить();
ТабДок.НачатьАвтогруппировкуСтрок();
Макет = Отчеты.ОтчётМДМУ.ПолучитьМакет("Макет");

//Получение данных для вывода в отчет
//ПостроительЗапроса = Новый ПостроительЗапроса;
//ПостроительЗапроса.Текст = "ВЫБРАТЬ
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЖурналУчётнаяКартаРеанимационногоБольного.Дата КАК Дата,
| ЖурналУчётнаяКартаРеанимационногоБольного.Номер КАК Номер,
| ЖурналУчётнаяКартаРеанимационногоБольного.МО КАК МО,
| ЖурналУчётнаяКартаРеанимационногоБольного.Пациент КАК Пациент,
| ЖурналУчётнаяКартаРеанимационногоБольного.Пол КАК Пол,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаРождения КАК ДатаРождения,
| ЖурналУчётнаяКартаРеанимационногоБольного.Возраст КАК Возраст,
| ЖурналУчётнаяКартаРеанимационногоБольного.Срок КАК Срок,
| ЖурналУчётнаяКартаРеанимационногоБольного.ПрофильноеОтделение КАК ПрофильноеОтделение,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПоступленияВМО КАК ДатаПоступленияВМО,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПеревода КАК ДатаПеревода,
| ЖурналУчётнаяКартаРеанимационногоБольного.ВремяПеревода КАК ВремяПеревода,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПереводаИВЛ КАК ДатаПереводаИВЛ,
| ЖурналУчётнаяКартаРеанимационногоБольного.ВремяПереводаИВЛ КАК ВремяПереводаИВЛ,
| ЖурналУчётнаяКартаРеанимационногоБольного.ПричинаМониторинг КАК ПричинаМониторинг,
| ЖурналУчётнаяКартаРеанимационногоБольного.КонсультацииКпециалистовТЦМК КАК КонсультацииКпециалистовТЦМК,
| ЖурналУчётнаяКартаРеанимационногоБольного.КонсультацииДругогоМЗСО КАК КонсультацииДругогоМЗСО,
| ЖурналУчётнаяКартаРеанимационногоБольного.Результат КАК Результат,
| ЖурналУчётнаяКартаРеанимационногоБольного.ПереданНаМониторинг КАК ПереданНаМониторинг,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаОп КАК ДатаОп,
| ЖурналУчётнаяКартаРеанимационногоБольного.ОбъемОпераВмеша КАК ОбъемОпераВмеша,
| ЖурналУчётнаяКартаРеанимационногоБольного.ОсложненияОпер КАК ОсложненияОпер,
| ЖурналУчётнаяКартаРеанимационногоБольного.Препората КАК Препората,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаОчонКонсулДети КАК ДатаОчонКонсулДети,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаПерегосДет КАК ДатаПерегосДет,
| ЖурналУчётнаяКартаРеанимационногоБольного.КудаПерегоспетД КАК КудаПерегоспетД,
| ЖурналУчётнаяКартаРеанимационногоБольного.ПричинаСнятия КАК ПричинаСнятия,
| ЖурналУчётнаяКартаРеанимационногоБольного.ДатаСнятия КАК ДатаСнятия,
| ЖурналУчётнаяКартаРеанимационногоБольного.Диагноз КАК Диагноз,
| ЖурналУчётнаяКартаРеанимационногоБольного.Мес КАК Мес,
| ЖурналУчётнаяКартаРеанимационногоБольного.Дней КАК Дней,
| ЖурналУчётнаяКартаРеанимационногоБольного.Время КАК Время,
| ЖурналУчётнаяКартаРеанимационногоБольного.Препорат КАК Препорат,
| ЖурналУчётнаяКартаРеанимационногоБольного.ВремяПоступления КАК ВремяПоступления
|ИЗ
| ЖурналДокументов.ЖурналУчётнаяКартаРеанимационногоБольного КАК ЖурналУчётнаяКартаРеанимационногоБольного
|";
//Запроса.Параметры.Вставить("НаДату", Дата);
//Запроса.ЗаполнитьНастройки();
//Запроса.Выполнить();
//Результат = Запроса.Результат;
Выборка = Запрос.Выполнить().Выбрать();
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Дата));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(Дата));
ТабДок.Очистить();

Область = Макет.ПолучитьОбласть("Шапка");
Область.Параметры.Дата = Дата;
ТабДок.Вывести(Область);

//ИтогиОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Область = Макет.ПолучитьОбласть("ШапкаТЧ");
ТабДок.Вывести(Область);

ОбластьМакетаСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТЧ");


//Область = Макет.ПолучитьОбласть("СтрокаТЧ");
//
//ТабДок.Вывести(Область);

//Область = Макет.ПолучитьОбласть("СтрокаТЧПациенты");
//ТабДок.Вывести(Область);

//Область = Макет.ПолучитьОбласть("Подвал");
//ТабДок.Вывести(Область);



////Получим и заполним общий итог
//ИтогиОбщие.Следующий();
//ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
//ЗаполнитьЗначенияСвойств(ОбластьПодвал.Параметры, ИтогиОбщие);


Пока Выборка.Следующий() Цикл
Область = Макет.ПолучитьОбласть("СтрокаТЧПациенты");
Область.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Область);
КонецЦикла;

КонецПроцедуры<br>

OtchetMDMU.erf

АВП
09.02.2018 00:46Ответ № 4

Отчет ваш не скачать. То ли сайт глючит, то ли вы не так его прикрепили, трудно сказать не видя отчета и макета. Но то что уже видно:

В запросе нет ни одного параметра, хотя вы что-то пытаетесь прописать в УстановитьПараметр

Предполагаю, что период должен выводиться по Дате документа. Тогда окончание запроса:

|ИЗ

|ЖурналДокументов.ЖурналУчётнаяКартаРеанимационногоБольного КАК ЖурналУчётнаяКартаРеанимационногоБольного

|ГДЕ

|ЖурналУчётнаяКартаРеанимационногоБольного.Дата МЕЖДУНачалоПериода ИКонецПериода";

Дальше:

Сначала устанавливаются параметры, потом выполняется запрос, поменяйте местами строчки 

Дальше

Код 1C v 8.3
 
Область = Макет.ПолучитьОбласть("СтрокаТЧПациенты");
Код 1C v 8.3
 Пока Выборка.Следующий() Цикл 
Область.Параметры.Заполнить(Выборка);
КонецЦикла;
ТабДок.Вывести(Область); 

При этом в Области "СтрокаТЧПациенты"

должны быть параметры с именами точно совпадающими с именем выборки (то что в запросе в каждой строчке идет после КАК, например в запросе

ЖурналУчётнаяКартаРеанимационногоБольного.Номер КАК Номер, параметр в макете тоже имеет имя Номер

Вот этот код:

Код 1C v 8.3
 Область = Макет.ПолучитьОбласть("ШапкаТЧ");
ТабДок.Вывести(Область);

Говорит о том, что в шапкеТЧ нет ни одного параметра, только какой-то текст (возможно так оно и есть)

В общем, выложите отчет на файлообменник и сюда ссылку, тогда можно будет сказать что-то более конкретное

АВП
09.02.2018 00:48Ответ № 5

Как-то не так передалась строчка. Попробую еще раз. Правильно:

ЖурналУчётнаяКартаРеанимационногоБольного.Дата МЕЖДУНачалоПериода ИКонецПериода";

АВП
09.02.2018 00:49Ответ № 6

Да что за хрень:

Код 1C v 8.3
 ЖурналУчётнаяКартаРеанимационногоБольного.Дата МЕЖДУНачалоПериода ИКонецПериода";   
АВП
09.02.2018 00:55Ответ № 7

Прошу прощения, но сайт не желает принимать правильно строчку знак амперсанда (and по англицки, тот что над цифрой 7 на клавиатуре) не желает приниматься: МЕЖДУ (амперсанд)ПериодНачала И (амперсанд)ПериодОкончания. В коде замените (амперсанд)ПериодНачала на сам знак

saha85
09.02.2018 19:32Ответ № 8

Отчет переплавляю  сюда да и на яндекс диск по ложыл Скачать OtchetMDMU.erf

saha85
09.02.2018 19:33Ответ № 9

Отчет прикрепляю Скачать  OtchetMDMU.erf

saha85
09.02.2018 19:37Ответ № 10

На сайт загружаю нажимаю отправить вылетает ошибка так что выкладываю на яндекс диск Скачать

saha85
09.02.2018 19:58Ответ № 11

Проблема в том что там 

№+A1:X11 п/п Пациент Ф.И.О. Пол (выбор из справочника) Дата рождения (ДД.ММ.ГГГГ) Возраст Диагноз При беременности указать срок Профили (выбор из справочника, согласно Приложению 6) Дата поступления в МО (ДД.ММ.ГГГГ) Дата перевода в РАО (ДД.ММ.ГГГГ) Время перевода в РАО Дата перевода на ИВЛ (ДД.ММ.ГГГГ) Время перевода на ИВЛ Дата обращения в ЕЦКМРБ (ДД.ММ.ГГГГ) Причина постановки на мониторинг Необходимость конультации специалистов ТЦМК, другого консультативного центра, специалистов МЗ СО (выбор из справочника) Указать какого другого консультативного центра Для пациентов хирургического (травмотологического) профиля - дата и объем оперативного вмешательства, осложнения (выбор из справочника) При инотропной поддержке количество препарата в мг/кг/мин (выбор из справочника) Для детей - дата очной консультации (ДД.ММ.ГГГГ) Для детей - дата перегоспитализации (ДД.ММ.ГГГГ) Для детей - куда перегоспитализирован (наименование медицинской организации) Дата снятие с мониторинга (ДД.ММ.ГГГГ) Причина снятия с мониторинга (выбор из справочника)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Сердечная недостаточность 2
Больница тест 1
1 ЗЗЗЗЗ М 0 0 0 0 01 Сердечно-сосудистая недостаточность 0 0 0 0 0 0 0 Нет 0 Нет Нет 0 0 0 0 0
2 1111 Ж 0 0 0 0 01 Сердечно-сосудистая недостаточность 0 0 0 0 0 0 0 Нет 0 Нет Нет 0 0 0 0
Итого Сердечная недостаточность а на да так                                      
Дети в реанимации 2
Больница тест 1
1 ЗЗЗЗЗ М 0 0 0 0 01 Сердечно-сосудистая недостаточность 0 0 0 0 0 0 Нет 0 Нет Нет 0 0 0 0 0
2 1111 Ж 0 0 0 0 01 Сердечно-сосудистая недостаточность 0 0 0 0 0 0 0 Нет 0 Нет Нет 0 0 0 0 0
saha85
09.02.2018 20:15Ответ № 12

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

Night_ost
13.03.2018 15:03Ответ № 13

уровень грамоты - 0 lvl...

saha85
16.04.2018 12:48Ответ № 14
Вопрос закрыт!
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.