"Сделай САМ"

Всё о КПС «Самсон»

Модератор: NRykalo

"Сделай САМ"

Сообщение max » 14 авг 2014, 13:24

Расскажу как подправить шаблон формы "Карта регистрации", для того чтобы при выводе на печать отображался номер участка, к которому прикреплен пациент!
1.Для этого нам понадобится документация шаблонов печати, ее можно изучить тут:
http://samson-rus.com/content/view/244/245/
2. Открываем шаблон формы "Карта регистрации": Настройки >> Шаблоны печати, ищем нужный нам шаблон, в поле "Контекст" будет задан параметр "token", поле "Наименование" - "Карта регистрации".
3.Как мы видим шаблон формируется средствами НТML разметки, т.к. что трудностей думаю не у кого не возникнет.
Используя документацию шаблонов печати, вставляем в код шаблона следующий код после закрывающегося тега </tr>, в котором идет выгрузка номера "Медицинской амбулаторной карты больного №", в принципе можете отредактировать шаблон так, как нужно Вам :
Код: выделить все
<tr>
  <td colspan="2">
    <b> <font size="+2"> Участок: </font> </b>
   </td>
   <td align="right">
       <b> <font size="+2"> {client.permanentAttach.orgStructure.name} </font> </b>
   </td>
  </tr>

4.Сохраняем шаблон и радуемся.

Данное решение предоставил коллега из МБУЗ "Городская поликлиника №3" г. Армавир
Михайличенко Максим
МБУЗ "Городская многопрофильная больница" г. Армавир
МБУЗ "Детская городская больница" г. Армавир
сот.: 8 (918) 23-93-473
Аватар пользователя
max
 
Сообщений: 70
Зарегистрирован: 14 авг 2014, 10:58
Регион: Краснодарский край
Муниципальное образование: Армавир
Наименование организации: МБУЗ "Городская многопрофильная больница" г.Армавир
Рабочий телефон: 89182393473

"Сделай САМ"

Сообщение MYZGP2SOCHI » 14 авг 2014, 14:09

Огромное спасибо!!!
Андрей К.
МБУЗ г. Сочи "Горполиклиника №2"
Аватар пользователя
MYZGP2SOCHI
 
Сообщений: 46
Зарегистрирован: 14 авг 2014, 10:54
Регион: Краснодарский край
Муниципальное образование: г. Сочи
Наименование организации: МБУЗ г. Сочи "Городская поликлиника №2"
Рабочий телефон: 80000000000

"Сделай САМ"

Сообщение PKS » 14 авг 2014, 14:21

Кому интересно тема по "шаблоны печати" вот ссылка на открытый ресурс "Самсон".
http://samson-rus.com/content/view/244/245/
много чего интересного можно вывести на печать благодаря данной документации. главное разобраться с текущими шаблонами печати. P.S. главное делайте копию шаблона печати перед экспериментом
С уважением,
Перевертов Константин
МБУЗ "Кущевская ЦРБ"
Аватар пользователя
PKS
 
Сообщений: 101
Зарегистрирован: 14 авг 2014, 13:50
Регион: Краснодарский край
Муниципальное образование: Кущевский район
Наименование организации: МБУЗ "Кущевская ЦРБ"
Рабочий телефон: 88616854967

"Сделай САМ"

Сообщение gb2 » 14 авг 2014, 15:10

Может быть это и не новость, но не так давно обнаружил, что если оставить только один шаблон с конкретным контекстом, то при печати список выбора шаблонов не открывается, а сразу открывается диалог печати.
Нам в приемном отделении оказалось это удобно, т.к. они печатают только титульный лист истории болезни, а изначально там были и согласия на госпитализацию, и согласие на обработку персональных данных, и ещё всякая всячина.

Еще одно, про автоматизацию.
Можно в настройках терминальной станции настроить автоматический вход для локального пользователя. Особенно удобно на т.с. с ключами - не надо каждый раз вбивать ПИН от ключа.
Делается через Система/Администрирование/Экран входа в систему. А то некоторые пользователи умудряются запутаться в пароле 11.
Так же, если надо, можно отключить запрос пароля при выходе из хранителя экрана Система/Параметры/Хранитель экрана.

В настройках сессии NXClient тоже можно поставить галочку "Remember my password" и подключение будет происходить под последним удачным пользователем. Галочку эту найдёте, если нажмете кнопку Configure.
Если есть специалисты по Unix, которые напишут как сделать автозапуск сессии NXClient, то буду благодарен.

В сессии терминального сервера пользователю можно выставить принтер по умолчанию. Для этого в сессии заходим Система/Параметры/Принтер по умолчанию, выбираем принтер и жмем кнопку Использовать по умолчанию.

Ну, всё что знал - рассказал (с) Генерал :)
Начальник технического отдела
МБУЗ г. Сочи "Городская больница №2"
gb2
 
Сообщений: 11
Зарегистрирован: 14 авг 2014, 13:03
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №2"
Рабочий телефон: 88622530925

"Сделай САМ"

Сообщение MYZGP2SOCHI » 14 авг 2014, 15:43

gb2 писал(а):...В сессии терминального сервера пользователю можно выставить принтер по умолчанию. Для этого в сессии заходим Система/Параметры/Принтер по умолчанию, выбираем принтер и жмем кнопку Использовать по умолчанию.

Также, чтобы исключить подтверждение печати, при условии что принтеры настроены для печати по умолчанию правильно, можно убрать лишний диалог ( у нас очень сэкономило время в регистратуре)
Настройки=>Умолчания=>Прочие настройки - поставить галку на "Разрешить печать без показа диалога настройки принтера"
Андрей К.
МБУЗ г. Сочи "Горполиклиника №2"
Аватар пользователя
MYZGP2SOCHI
 
Сообщений: 46
Зарегистрирован: 14 авг 2014, 10:54
Регион: Краснодарский край
Муниципальное образование: г. Сочи
Наименование организации: МБУЗ г. Сочи "Городская поликлиника №2"
Рабочий телефон: 80000000000

"Сделай САМ"

Сообщение Def » 14 авг 2014, 16:49

gb2 писал(а):как сделать автозапуск


См. Система ->Параметры->Запускаемые приложения
---
С уважение,
Сомов Александр Владимирович
Skype/email: SomovAV@kkod.ru
Тел.раб. (861) 233-73-06
Def
 
Сообщений: 1
Зарегистрирован: 14 авг 2014, 10:58
Регион: Краснодарский край
Муниципальное образование: Краснодар
Наименование организации: ГБУЗ КОД №1
Рабочий телефон: 88612337306

"Сделай САМ"

Сообщение ITS » 15 авг 2014, 12:19

gb2 писал(а):как сделать автозапуск сессии NXClient.


Для Xfce:
на терминалке: Меню Xfce => Настройки => Сеансы и запуск:
Добавить => в поле "имя" вписать: samson, в поле "команда" вставить строку из свойства ярлыка "samson" => вкладка Запуск => строка "Команда" (скопировать).

После этого при включении терминальной стации автоматически запуститься сессия "samson".
Последний раз редактировалось ITS 18 авг 2014, 12:05, всего редактировалось 2 раз(а).
ITS
 
Сообщений: 8
Зарегистрирован: 14 авг 2014, 13:03
Регион: Краснодарский край
Муниципальное образование: Туапсе
Наименование организации: МБУЗ "Туапсинская районаая больница №3"
Рабочий телефон: 88616796766

"Сделай САМ"

Сообщение crbkavkazskiy » 15 авг 2014, 13:51

При печати больничного буквы не попадают на нужные клеточки, пробую менять в шаблоне печати листка нетрудоспособности область полей( setLeftMargin, setTopMargin, setRightMargin, setBottomMargin), но все равно безрезультатно
С уважением,
Рожков Анатолий Геннадьевич
инженер-электроник отдела АСУ Кавказской ЦРБ
asu_zrb@mail.ru
crbkavkazskiy
 
Сообщений: 9
Зарегистрирован: 14 авг 2014, 14:28
Регион: Краснодарский край
Муниципальное образование: Кавказский
Наименование организации: МБУЗ ЦРБ Кавказского района
Рабочий телефон: 88619322442

"Сделай САМ"

Сообщение MYZGP2SOCHI » 15 авг 2014, 14:42

crbkavkazskiy писал(а):При печати больничного буквы не попадают на нужные клеточки, пробую менять в шаблоне печати листка нетрудоспособности область полей( setLeftMargin, setTopMargin, setRightMargin, setBottomMargin), но все равно безрезультатно

Попробуйте наш шаблон. Долго подравнивали под себя.
Не забудьте сделать бекап своего шаблона!
Код: выделить все
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
{: setPageSize('A4') }{: setOrientation('P') }{: setLeftMargin(11) }{: setTopMargin(6.5) }{: setRightMargin(8) }{: setBottomMargin(0.0) }
<!--Главный скрипт-->
{:bdate=dialogs.dialDate(u"Введите дату выдачи ЛН" ).getVar()}
{: dialogPrintHeader = dialogs.dialBool(u"Печать шапки документа", u"Первичная печать (печатать шапку документа до периодов)", True)}
{: printHeader = dialogPrintHeader.getVar()}
{: date1 = tempInvalid.periods[-1].begDatePermit if len(tempInvalid.periods) else None}
{: date2 = tempInvalid.periods[-1].endDatePermit if len(tempInvalid.periods) else None}
{: numberPermit = tempInvalid.periods[-1].numberPermit if len(tempInvalid.periods) else None}
{: uhod = (tempInvalid.reason.code == "09")}
{if: uhod}
{: relations = range(len(client.relations))}
{for: (i, rel) in enumerate(client.relations)}
{: relations[i] = rel.other.fullName + ", " + rel.otherRole}
{end:}
{: dialogPersons = dialogs.dialMultiList(u"Выберите родственников (не более 2), за которыми осуществляется уход", relations)}
{: personNumbers = dialogPersons.getVar()}
{: person1 = client.relations[personNumbers[0]].other if personNumbers and len(personNumbers) else None}
{: person2 = client.relations[personNumbers[1]].other if personNumbers and len(personNumbers) > 1 else None}
{: rel1_name = client.relations[personNumbers[0]].otherRole if personNumbers and len(personNumbers) else None}
{if: rel1_name == u"Мать"}
{: rel1 = "38"}
{elif: rel1_name == u"Отец"}
{: rel1 = "39"}
{elif: rel1_name == u"Опекун"}
{: rel1 = "40"}
{elif: rel1_name == u"Попечитель"}
{: rel1 = "41"}
{else:}
{: rel1 = "42"}
{end:}
{: rel2_name = client.relations[personNumbers[1]].otherRole if personNumbers and len(personNumbers) > 1 else None}
{if: rel2_name == u"Мать"}
{: rel2 = "38"}
{elif: rel2_name == u"Отец"}
{: rel2 = "39"}
{elif: rel2_name == u"Опекун"}
{: rel2 = "40"}
{elif: rel2_name == u"Попечитель"}
{: rel2 = "41"}
{else:}
{: rel2 = "42"}
{end:}
{else:}
{: person1 = None}
{: person2 = None}
{: rel1 = None}
{: rel2 = None}
{end:}
{if: len(tempInvalid.periods)}
{: periodstrs = []}
{for: (i, period) in enumerate(tempInvalid.periods)}
{if: i < 3}
{: periodstrs = periodstrs + ["%d: %s - %s"%(i, period.begDate.date.toString("dd.MM.yyyy"), period.endDate.date.toString("dd.MM.yyyy")) ,]}
{end:}
{end:}
{: dialogPeriods = dialogs.dialMultiList(u"Впечатывать периоды:", periodstrs)}
{: periodNumbers = dialogPeriods.getVar()}
{else:}
{: periodNumbers = []}
{end:}
{if: len(periodNumbers)}
{: specialists = [(i, period.expert) for (i, period) in enumerate(tempInvalid.periods) if i in periodNumbers and len(period.expert.shortName)]}
{: spec_strs = ["%s: %s"%(periodstrs[i], expert.shortName) for (i, expert) in specialists]}
{: dialogExperts = dialogs.dialMultiList(u"Впечатывать экспертов:", spec_strs)}
{: expertNumbers = dialogExperts.getVar()}
{: expertNumbers = [specialists[i][0] for i in expertNumbers]}
{else:}
{: expertNumbers = []}
{end:}


{: dialogOrg = dialogs.dialBool(u"Выводить организацию или подразделение?", u"Выводить данные об ЛПУ по базовому подразделению", True)}
{: printOrgStructure = (dialogOrg.getVar() == True); }
{: organisation = currentOrganisation.title}
{: organisation = organisation.upper()}
<!--удаляем из названия организации символы '",.-: -->
{for: letter in ".,-:'\""}
{: organisation = organisation.replace(letter, "")}
{end:}
{: address = currentOrganisation.address if not printOrgStructure else currentOrgStructure.address}
{: address = address.upper()}
<!--удаляем из адреса символы '",.-: -->
{for: letter in ".,:'\""}
{: address = address.replace(letter, "")}
{end:}
{: address = address.replace("-", " ")}
{: address = address.replace(u"ПР ", "") }
{: address = address.replace(u"УЛ ", "") }
{: address = address.replace(u" Д ", " ") }
{: OGRN = currentOrganisation.OGRN if not isDuplicate else " "}
{: date = tempInvalid.date if isDuplicate else currentDate}
{: lastName = client.lastName.upper()}
{: firstName = client.firstName.upper()}
{: patrName = client.patrName.upper()}
{: placeWork = tempInvalid.duplicatePlaceWork if (isDuplicate and tempInvalid.duplicateReason.code == "1") else tempInvalid.placeWork}
{: placeWork = placeWork.upper()}
{: sovmestit = (tempInvalid.busyness == 2 or (isDuplicate and tempInvalid.duplicateReason.code == "1"))}
{: number = tempInvalid.number if isDuplicate else ""}
{def: shortn(person)}
{: result = person.lastName + " " + (person.firstName[0] if len(person.firstName) else "") + (person.patrName[0] if len(person.patrName) else "")}
{: result = result.upper()}
{: return result}
{end:}
<!--приступить к работе: -->
{if: len(tempInvalid.periods) and tempInvalid.periods[-1].result.code == "1"}
{: pristupDate = tempInvalid.periods[-1].endDate.date.addDays(1)}
{else:}
{: pristupDate = None}
{end:}
{if: tempInvalid.prev}
{: prev_number = tempInvalid.prev.number}
{else:}
{: prev_number = " "}
{end:}
<!--Печатать корешок -->
{: dialogKoreshok = dialogs.dialBool(u"Печать корешка", u"Печатать корешок листа нетрудоспособности", True)}
{: printKoreshok = dialogKoreshok.getVar()}
<!--Расстояние между буквами:-->
{: L=11.282}
{def: writeText(x, y, s)}
{for: i,c in enumerate(s)}
<text x="{x+i*L}" y="{y}" textLength="{L}">{c}</text>
{end:}
{end:}
{def: writeTextMM(x, y, s)}
{: writeText(x*72/25.4, y*72/25.4, s)}
{end:}
<!--Конец главного скрипта-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="210mm"
height="297mm"
viewBox="-1 -8 594 832"
version="1.2"
baseProfile="tiny">
<g transform="translate(45,50), rotate(-0.3)" style="font-family:'Courier'; font-size:10">
<image x="-350" y="0" width="100%" height="100%" xlink:href="vut_List.jpg"/>
</g>
<g transform="translate(5,11)" style="font-family:'Courier New'; font-size:7;font-weight:bold">
<!-- было: transform="translate(50,50) " style="font-family:'Courier'; font-size:10" -->
{if: printHeader}
<!--Галочки -->
<!-- {: writeTextMM(67-1, 10-1, " " if (not isDuplicate and not tempInvalid.prev) else "")}  -->
<!-- {: writeTextMM(67-1, 15-1, " " if isDuplicate else "")}  -->
<!-- пред. номер -->
{: writeTextMM(101, 9, prev_number[:14]) }
<!--Название организации-->
{: writeTextMM(53, 16, organisation[:38])}
<!--Адрес организации -->
{: writeTextMM(53, 23, address[:38]) }
<!--Дата выдачи -->
{: writeTextMM(69, 30, "%.2d"%bdate.date.day()) }
{: writeTextMM(79, 30, "%.2d"%bdate.date.month()) }
{: writeTextMM(89, 30, "%.4d"%bdate.date.year()) }
{: writeTextMM(109, 30, OGRN[:15]) }
<!--ФИО пациента -->
{: writeTextMM(53, 37, lastName) }
{: writeTextMM(53, 43, firstName) }
{: writeTextMM(53, 49, patrName) }
<!--Дата рождения пациента -->
{: writeTextMM(9, 57.5-0.5, "%.2d"%client.birthDate.date.day()) }
{: writeTextMM(19, 57.5-0.5, "%.2d"%client.birthDate.date.month()) }
{: writeTextMM(29, 57.5-0.5, "%.4d"%client.birthDate.date.year()) }
{: writeTextMM(57.0, 57.0-0.5, "v" if client.sexCode == 1 else "") }
{: writeTextMM(65.0, 57.0-0.5, "v" if client.sexCode == 2 else "") }
{: writeTextMM(129-0.5, 57.5-0.5, tempInvalid.reason.code[:2] if tempInvalid.reason else "") }
{: writeTextMM(141-0.5, 57.5-0.5, tempInvalid.extraReason.code[:3] if tempInvalid.extraReason else "") }
<!--Место работы пациента -->
<!-- {: writeTextMM(9, 65-1, placeWork[:29]) }  -->
<!-- {: writeTextMM(22, 71, "v" if tempInvalid.busyness == 1 and not sovmestit else "") } -->
<!-- {: writeTextMM(54, 71, "v" if sovmestit else "") } -->
{if: sovmestit}
{: writeTextMM(77+0.2, 72-1, number[:12]) }
{end:}
<!-- {: writeTextMM(155, 71, ("v" if tempInvalid.busyness == 3 and not sovmestit else "")) }-->
{if: str(date1) != ""}
<!--Дата и номер путевки -->
{: writeTextMM(14, 81.5, "%.2d"%date1.date.day() if date1 else '')}
{: writeTextMM(24, 81.5, "%.2d"%date1.date.month() if date1 else '') }
{: writeTextMM(34, 81.5, "%.4d"%date1.date.year() if date1 else '') }
{: writeTextMM(58, 81.5, "%.2d"%date2.date.day() if date2 else '')}
{: writeTextMM(68, 81.5, "%.2d"%date2.date.month() if date2 else '') }
{: writeTextMM(78, 81.5, "%.4d"%date2.date.year() if date2 else '') }
{: writeTextMM(102, 81.5, numberPermit[:6] if numberPermit else '') }
{end:}
<!--Родственники -->
{: writeTextMM(14, 89, "%.2d"%person1.ageTuple[3] if person1 else "")}
{: writeTextMM(21, 89, "%.2d"%(person1.ageTuple[2]%12) if person1 else "")}
{: writeTextMM(38, 89, rel1[:2] if person1 else "")}
{: writeTextMM(50, 89, person1.fullName[:39].upper() if person1 else "") }
{: writeTextMM(14, 94, "%.2d"%person2.ageTuple[3] if person2 else "")}
{: writeTextMM(21, 94, "%.2d"%(person2.ageTuple[2]%12) if person2 else "")}
{: writeTextMM(38, 94, rel2[:2] if person2 else "")}
{: writeTextMM(50, 94, person2.fullName[:39].upper() if person2 else "") }
{end:}
<!--Период 1 -->
{if: periodNumbers and 0 in periodNumbers}
{: period = tempInvalid.periods[0]}
{: writeTextMM( 8-1, 140-0.9, "%.2d"%period.begDate.date.day()) }
{: writeTextMM( 18-1, 140-0.9, "%.2d"%period.begDate.date.month()) }
{: writeTextMM( 28-1, 140-0.9, "%.4d"%period.begDate.date.year()) }
{if: (period.endDate)}
{: writeTextMM( 44-1, 140-0.9, "%.2d"%period.endDate.date.day()) }
{: writeTextMM( 54-1, 140-0.9, "%.2d"%period.endDate.date.month()) }
{: writeTextMM( 64-1, 140-0.9, "%.4d"%period.endDate.date.year()) }
{end:}
{: writeTextMM( 80-1.5, 140-0.9, period.endPerson.speciality.name[:9].upper()) }
{: writeTextMM(116-1.5, 140-0.9, shortn(period.endPerson)[:14]) }
{if: 0 in expertNumbers}
{: writeTextMM( 80-1.5, 145-0.9, period.expert.post.name[:9].upper()) }
{: writeTextMM(116-1.5, 145-0.9, shortn(period.expert)[:14]) }
{end:}
{end:}
<!--Период 2 -->
{if: periodNumbers and 1 in periodNumbers}
{: period = tempInvalid.periods[1]}
{: writeTextMM( 8-1, 150-0.9, "%.2d"%period.begDate.date.day()) }
{: writeTextMM( 18-1, 150-0.9, "%.2d"%period.begDate.date.month()) }
{: writeTextMM( 28-1, 150-0.9, "%.4d"%period.begDate.date.year()) }
{if: (period.endDate)}
{: writeTextMM( 44-1, 150-0.9, "%.2d"%period.endDate.date.day()) }
{: writeTextMM( 54-1, 150-0.9, "%.2d"%period.endDate.date.month()) }
{: writeTextMM( 64-1, 150-0.9, "%.4d"%period.endDate.date.year()) }
{end:}
{: writeTextMM( 80-1.5, 150-0.9, period.endPerson.speciality.name[:9].upper()) }
{: writeTextMM(116-1.5, 150-0.9, shortn(period.endPerson)[:14]) }
{if: 1 in expertNumbers}
{: writeTextMM( 80-1.5, 155-0.9, period.expert.post.name[:9].upper()) }
{: writeTextMM(116-1.5, 155-0.9, shortn(period.expert)[:14]) }
{end:}
{end:}
<!--Период 3 -->
{if: periodNumbers and 2 in periodNumbers}
{: period = tempInvalid.periods[2]}
{: writeTextMM( 8-1, 160-0.9, "%.2d"%period.begDate.date.day()) }
{: writeTextMM( 18-1, 160-0.9, "%.2d"%period.begDate.date.month()) }
{: writeTextMM( 28-1, 160-0.9, "%.4d"%period.begDate.date.year()) }
{if: (period.endDate)}
{: writeTextMM( 44-1, 160-0.9, "%.2d"%period.endDate.date.day()) }
{: writeTextMM( 54-1, 160-0.9, "%.2d"%period.endDate.date.month()) }
{: writeTextMM( 64-1, 160-0.9, "%.4d"%period.endDate.date.year()) }
{end:}
{: writeTextMM( 80-1.5, 160-0.9, period.endPerson.speciality.name[:9].upper()) }
{: writeTextMM(116-1.5, 160-0.9, shortn(period.endPerson)[:14]) }
{if: 2 in expertNumbers}
{: writeTextMM( 80-1.5, 165-0.9, period.expert.post.name[:9].upper()) }
{: writeTextMM(116-1.5, 165-0.9, shortn(period.expert)[:14]) }
{end:}
{end:}
<!--Приступить к работе с -->
{if: pristupDate}
{: writeTextMM(50-1, 171-0.5-0.9, "%.2d"%pristupDate.day()) }
{: writeTextMM(60-1, 171-0.5-0.9, "%.2d"%pristupDate.month()) }
{: writeTextMM(70-1, 171-0.5-0.9, "%.4d"%pristupDate.year()) }
{end:}
<!--Корешок -->
{if: printKoreshok}
<!--Галочки и предыдущий номер -->
<!-- {: writeTextMM(66-1+4, 248.5-1-1, " " if (not isDuplicate and not tempInvalid.prev) else "")}  -->
<!-- {: writeTextMM(66-1+4, 248.5-1-1, " " if isDuplicate else "")}  -->
<!-- {: writeTextMM(101, 255-4-1.5, prev_number[:14]) }  -->
<!--ФИО -->
{: writeTextMM(13+0, 258-0.5-0.4, lastName) }
{: writeTextMM(13+0, 264-0.5-0.4, firstName) }
{: writeTextMM(13+0, 270-0.5-0.4, patrName) }
<!--Место работы -->
<!-- {: writeTextMM(13+0, 277-0.5-0.5, placeWork[:29]) }  -->
<!-- {: writeTextMM(21.5, 283.5-0.5-0.5, ("v" if tempInvalid.busyness == 1 and not sovmestit else "")) } -->
<!-- {: writeTextMM(53.5, 283.5-0.5-0.5, ("v" if sovmestit else "")) } -->
{if: sovmestit}
{: writeTextMM(76+0.7, 284.5-0.5-0.5-1-0.2, number[:12]) }
{end:}
<!-- ФИО врача -->
{: writeTextMM(141, 263.5-0.4-1, shortn(tempInvalid.periods[-1].endPerson) if len(tempInvalid.periods) else "") }
<!-- № истории болезни и дата выдачи -->
{: writeTextMM(164.5, 271.5-1-0.5-0.4-1, "%d"%client.id) }
{: writeTextMM(164.5, 277.5-1-0.5-0.4-1, "%.2d"%bdate.date.day()) }
{: writeTextMM(174.5, 277.5-1-0.5-0.4-1, "%.2d"%bdate.date.month()) }
{: writeTextMM(184.5, 277.5-1-0.5-0.4-1, "%.4d"%bdate.date.year()) }
{end:}
</g>
</svg>
Андрей К.
МБУЗ г. Сочи "Горполиклиника №2"
Аватар пользователя
MYZGP2SOCHI
 
Сообщений: 46
Зарегистрирован: 14 авг 2014, 10:54
Регион: Краснодарский край
Муниципальное образование: г. Сочи
Наименование организации: МБУЗ г. Сочи "Городская поликлиника №2"
Рабочий телефон: 80000000000

"Сделай САМ"

Сообщение gb2 » 18 авг 2014, 11:20

При печати больничного буквы не попадают на нужные клеточки, пробую менять в шаблоне печати листка нетрудоспособности область полей( setLeftMargin, setTopMargin, setRightMargin, setBottomMargin), но все равно безрезультатно

Принтеры не всегда одинаково лист захватывают. Кроме того, лист может немного перекосить. Даже если идеально настроить шаблон печати, всегда есть большая вероятность испортить бланк.
Начальник технического отдела
МБУЗ г. Сочи "Городская больница №2"
gb2
 
Сообщений: 11
Зарегистрирован: 14 авг 2014, 13:03
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №2"
Рабочий телефон: 88622530925

"Сделай САМ"

Сообщение gb2 » 18 авг 2014, 11:38

Переделал шаблон печати для Дневников.
Цель переделки - экономия бумаги.
Шаблон печати одного дневника. В отличии от стандартного, здесь не стал заморачиваться с печатью единиц измерения для давления и пульса.
Код: выделить все
<html>
<!--body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"-->
<body>
{setPageSize('A4')}
{setOrientation('P')}
{setLeftMargin(25)} {setTopMargin(5)} {setBottomMargin(5)} {setRightMargin(5)}
<HR>
<table style="font-family: Arial; font-size: 10pt;" border="0" cellpadding="0" cellspacing="0" width="100%">

<tbody>
<td width="100%" align="center"><b>ДНЕВНИК</b></td>
<tr><td>{action.endDate}</td></tr>

{for: prop in action}
{if: prop.value} <tr><td><b>{prop.name}:</b> {prop.value if prop.value else ''}</td></tr>{end:}
{end:}

</table>
<HR>
</body></html>

Шаблон печати всех дневников
Код: выделить все
<html>
<body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:400; font-style:normal;">
{setPageSize('A4')}
{setOrientation('P')}
{setLeftMargin(25)} {setTopMargin(5)} {setBottomMargin(5)} {setRightMargin(5)}
<HR>
<table style="color: black;"
border="0" cellpadding="0" cellspacing="0" width="100%">
<!--Стационар - Дневник -->

{for: action in event.actions}
{if: action.name == u"Дневник"}
<div align="center"><b>Дневник</b></div>
<div align="left">{action.endDate}</div>
{for: prop in action}
{if: prop.value}
<TR> <TD colspan="3">
<b>{prop.name}: </b>
{prop.value if prop.value else ''}</TD>
</TR>
{end:}
{end:}
<HR>
{end:}
{end:}
</table>
</body></html>
Начальник технического отдела
МБУЗ г. Сочи "Городская больница №2"
gb2
 
Сообщений: 11
Зарегистрирован: 14 авг 2014, 13:03
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №2"
Рабочий телефон: 88622530925

"Сделай САМ"

Сообщение ARB3 » 21 авг 2014, 16:25

gb2 писал(а):
При печати больничного буквы не попадают на нужные клеточки, пробую менять в шаблоне печати листка нетрудоспособности область полей( setLeftMargin, setTopMargin, setRightMargin, setBottomMargin), но все равно безрезультатно

Принтеры не всегда одинаково лист захватывают. Кроме того, лист может немного перекосить. Даже если идеально настроить шаблон печати, всегда есть большая вероятность испортить бланк.


а можно контактами поделиться?
МБУЗ "Ахтырская РБ №3"
ARB3
 
Сообщений: 2
Зарегистрирован: 20 авг 2014, 00:28
Регион: Краснодарский край
Муниципальное образование: пгт. Ахтырский
Наименование организации: МБУЗ Ахтырская РБ №3
Рабочий телефон: 88615037044

"Сделай САМ"

Сообщение gb2 » 22 авг 2014, 08:48

а можно контактами поделиться?

Не понял, какими контактами?
Начальник технического отдела
МБУЗ г. Сочи "Городская больница №2"
gb2
 
Сообщений: 11
Зарегистрирован: 14 авг 2014, 13:03
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №2"
Рабочий телефон: 88622530925

"Сделай САМ"

Сообщение ARB3 » 22 авг 2014, 21:57

gb2 писал(а):
а можно контактами поделиться?

Не понял, какими контактами?


Вашими )). Почта или телефон. Чтобы не задавать глупых вопросов в ветке. Если это Вас не обременит, конечно.
В личку не могу написать, а на сайте вашего ЛПУ не нашел персональный контакт.
МБУЗ "Ахтырская РБ №3"
ARB3
 
Сообщений: 2
Зарегистрирован: 20 авг 2014, 00:28
Регион: Краснодарский край
Муниципальное образование: пгт. Ахтырский
Наименование организации: МБУЗ Ахтырская РБ №3
Рабочий телефон: 88615037044

"Сделай САМ"

Сообщение crbustlab » 26 авг 2014, 13:26

Коллеги, подскажите пожалуйста, как у Вас работает роддом? Может кто-нибудь поделиться шаблонами истории развития новорожденного и истории родов? ООС ещё с февраля месяца ни как не могут нам помочь в этом вопросе. От них слышно только то, что их программисты работают над этим. Два раза высылали сканы бумажных экземпляров по электронной почте и один раз пакет образцов передавали курьером. Толку нет.
crbustlab
 
Сообщений: 39
Зарегистрирован: 26 авг 2014, 09:36
Регион: Краснодарский край
Муниципальное образование: Усть-Лабинский район
Наименование организации: ГБУЗ "Усть-Лабинская ЦРБ" МЗ КК
Рабочий телефон: 88613552601

След.

Вернуться в КПС «Самсон»



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron