Хорошо, что работает, плохо, что все-таки заупрямился и написал-таки избыточный код (с новыми колонками 40 раз) 
AI-выжимка обсуждения
скоро
Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.
Обзор обсужденияскоро
Разбор ответов скоро
Ключевые ответы обсуждения и их оценка появятся здесь.
Эксперты в тредескоро
Рейтинг участников скоро
Участники с сильными ответами в этой теме появятся здесь.
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
Сортировка
Обсуждаемые
Лучшие
Эксперты
скоро
Да не работает она по-другому, я бы и сам был бы рад написать одну строку, а не плодить 40. Спасибо еще раз за наукуХорошо, что работает, плохо, что все-таки заупрямился и написал-таки избыточный код (с новыми колонками 40 раз)![]()
Лучше сорок раз по разу, чем ни разу сорок раз ?Да не работает она по-другому, я бы и сам был бы рад написать одну строку, а не плодить 40.
Добавлено: И все же не могу понять, почему обработка работает на моей базе, а на твоей - нет.
Может, проверишь еще разок ?
Вложения
Попробовал еще раз вашу обработку - она не работает, просто создает 90 пустых документов. Правильно работает обработка лишь при построчном заполнении данных, именно так я и вынужден был сделать.Добавлено: И все же не могу понять, почему обработка работает на моей базе, а на твоей - нет.
Может, проверишь еще разок ?
Лучше сорок раз по разу, чем ни разу сорок раз ?![]()
Я имел в виду, что лучше написать 40 строчек рабочего кода, чем одну, которая не работает. Почему не работает ваша обработка - не могу объяснить, может быть особенности моей базы. Если интересно, могу скинуть ее вам, тоже проверите
Попутно возникло 2 небольших вопросика. Как сделать, чтобы по табличной части документа можно было передвигаться с помощью кн. TAB и окошко сдвигалось? В данный момент курсор передвигается и уходит за границу экрана, а сам документ не сдвигается и большинство полей документа (а их 45!) не видны.
И последнее, подскажите, пожалуйста, как прикреплять файлы к сообщениям (как вы прикрепили файл с обработкой к своему последнему сообщению)
Используй расширенную форму (средняя кнопка внизу)И последнее, подскажите, пожалуйста, как прикреплять файлы к сообщениям
Если не секрет, поделись реальной базой (в твоей пустой я сам документы создавал), а то крыша поедет - я-то вижу, что у меня все документы прекрасно заполняются.
Надо, наконец, ПОСТАВИТЬ ТОЧКУ В ЭТОМ ДЕЛЕ
Спасибо! Я залил базу, ссылку скинул в личку.Используй расширенную форму (средняя кнопка внизу)
Если не секрет, поделись реальной базой (в твоей пустой я сам документы создавал), а то крыша поедет - я-то вижу, что у меня все документы прекрасно заполняются.
Надо, наконец, ПОСТАВИТЬ ТОЧКУ В ЭТОМ ДЕЛЕ
Проверь, пожалуйста, работу программы на тестовом файле (прикреплен)
Не подскажешь ли как сделать, чтобы по табличной части документа можно было передвигаться с помощью кн. TAB и окошко сдвигалось? В данный момент курсор передвигается и уходит за границу экрана, а сам документ не сдвигается и большинство полей документа (а их 45!) не видны
P.S. Вчера не успел вовремя ответить, общались по душам с главным бухгалтером
Вложения
Прилагаю обработку, в которой все работает на реальной базе.
Но !
Для полностью корректной работы НЕОБХОДИМО синхронизировать реквизиты ТЧ
документов РеестрСчетовВходящийЛПУ и РеестрСчетовИсходящийВТФОМС, а именно :
реквизиту ФамилияПациента в РеестрСчетовИсходящийВТФОМС назначить тип Справочник.ПациентыЛПУ, иначе
прилагаемая обработка будет назначать СТРОКОВОЙ переменной значение ЭЛЕМЕНТА справочника
а в документе РеестрСчетовВходящийЛПУ на колонку ФамилияПациента повесить процедуру типа той, что есть
в РеестрСчетовИсходящийВТФОМС : ПриИзмененииФамилии(), дабы избежать ручного заполнения лишних реквизитов
Добавлено: И еще маленькое замечание : не стоит давать реквизитам имена, совпадающие с зарезервированными словами встроенного языка (я про ПолныйКод в справочнике КодыТерриторий),
иногда это может привести к плачевным последствиям
Но !
Для полностью корректной работы НЕОБХОДИМО синхронизировать реквизиты ТЧ
документов РеестрСчетовВходящийЛПУ и РеестрСчетовИсходящийВТФОМС, а именно :
реквизиту ФамилияПациента в РеестрСчетовИсходящийВТФОМС назначить тип Справочник.ПациентыЛПУ, иначе
прилагаемая обработка будет назначать СТРОКОВОЙ переменной значение ЭЛЕМЕНТА справочника
а в документе РеестрСчетовВходящийЛПУ на колонку ФамилияПациента повесить процедуру типа той, что есть
в РеестрСчетовИсходящийВТФОМС : ПриИзмененииФамилии(), дабы избежать ручного заполнения лишних реквизитов
Добавлено: И еще маленькое замечание : не стоит давать реквизитам имена, совпадающие с зарезервированными словами встроенного языка (я про ПолныйКод в справочнике КодыТерриторий),
иногда это может привести к плачевным последствиям
Вложения
Уважаемый vbs, учел все ваши абсолютно справедливые замечания и внес необходимые исправления в программу! Теперь обработка действительно работает, но почему-то все пациенты задваиваются
Попробую сейчас сам найти ошибку, ну и внесу ряд небольших элементарных дополнений (необходимо в шапке документов указывать начальный и конечный периоды, код территории, правильно вывести порядковый номер и т.д.).
Кстати, в своей обработке обнаружил ошибку - она не выдергивает первого пациента из документа
Добавлено: все, исправил до конца вашу обработку. Она теперь работает чуть медленней, зато абсолютно правильно :blush:
P.S. Можно еще немного оптимизировать ее, я исправил ее простейшим образом
Попробую сейчас сам найти ошибку, ну и внесу ряд небольших элементарных дополнений (необходимо в шапке документов указывать начальный и конечный периоды, код территории, правильно вывести порядковый номер и т.д.).
Кстати, в своей обработке обнаружил ошибку - она не выдергивает первого пациента из документа
Добавлено: все, исправил до конца вашу обработку. Она теперь работает чуть медленней, зато абсолютно правильно :blush:
P.S. Можно еще немного оптимизировать ее, я исправил ее простейшим образом
Вложения
1. РеестрСчетовВходящийЛПУ проверь - внутри них в соседних датах дубли есть, меня это тоже удивилоно почему-то все пациенты задваиваются
2. Если уже не нужно включать пациента в ОТЗ по текущему ОКАТО, проще проверять его наличие в ОТЗ перед созданием новой строки :
Если ОТЗ.НайтиЗначение(...) = 0 тогда
//включать
1. Проверено, дублей нет.1. РеестрСчетовВходящийЛПУ проверь - внутри них в соседних датах дубли есть, меня это тоже удивило
2. Если уже не нужно включать пациента в ОТЗ по текущему ОКАТО, проще проверять его наличие в ОТЗ перед созданием новой строки :
Если ОТЗ.НайтиЗначение(...) = 0 тогда
//включать
2. Не понял этот пункт, разве я вносил такие изменения? :gifts:
Я имел в виду примерно следующее (если я правильно понял алгоритм) :
Если TrimR(ТЗ.ОкатоСтрахования) = ВыбранноеОкато Тогда
ю = "";
Если ОТЗ.Найти Значение(ТЗ.ФамилияПациента,ю,"ФамилияПациента") = 0 тогда
//будут включаться только новые пациенты
ОТЗ.НоваяСтрока();
N = N + 1;
для m = 1 по ТЗ.КоличествоКолонок() цикл
ОТЗ.УстановитьЗначение(N,m,ТЗ.ПолучитьЗначение(k,m));
КонецЦикла;
КонецЕсли;
КонецЕсли;
Если TrimR(ТЗ.ОкатоСтрахования) = ВыбранноеОкато Тогда
ю = "";
Если ОТЗ.Найти Значение(ТЗ.ФамилияПациента,ю,"ФамилияПациента") = 0 тогда
//будут включаться только новые пациенты
ОТЗ.НоваяСтрока();
N = N + 1;
для m = 1 по ТЗ.КоличествоКолонок() цикл
ОТЗ.УстановитьЗначение(N,m,ТЗ.ПолучитьЗначение(k,m));
КонецЦикла;
КонецЕсли;
КонецЕсли;
vbs, теперь я вас понял
Вообще голова уже идет кругом - сначала пациенты задваивались, потом (после того как я изменил обработку) стали выгружаться нормально, потом стала выгружаться половина
Вернул вашу обработку к начальной версии, почистил базу, удалил все документы, загрузил и сформировал все по-новой - все работает правильно!!! :gifts:
Я вообще в шоке, почему так происходит? :what?:
P.S. Что касается вашего предложения по проверке наличия пациента в записи, то оно неосуществимо, ибо один и тот же пациент может быть записан несколько раз (если он обращался в разные дни), либо даже в один день если он обращался к разным специалистам
Вообще голова уже идет кругом - сначала пациенты задваивались, потом (после того как я изменил обработку) стали выгружаться нормально, потом стала выгружаться половина
Вернул вашу обработку к начальной версии, почистил базу, удалил все документы, загрузил и сформировал все по-новой - все работает правильно!!! :gifts:
Я вообще в шоке, почему так происходит? :what?:
P.S. Что касается вашего предложения по проверке наличия пациента в записи, то оно неосуществимо, ибо один и тот же пациент может быть записан несколько раз (если он обращался в разные дни), либо даже в один день если он обращался к разным специалистам
Программа спроектирована просто безобразно. Переделать ее к удобоваримому виду заняло бы (у меня) часа 3-4.Я вообще в шоке, почему так происходит?
Если не лень, это надо сделать.
И заказчик пусть бабки отстегнет :gifts:
Проектировал программу не я, сам тоже не стал особо менять, не до этого. В программу нужно будет внести еще много изменений, то о чем я упоминал - это лишь малая часть. Так что за 3-4 часа ее точно не доделать, даже такому профессионалу как вы :gifts:
Это я уже понял из первых постов. Так что, ничего личного. Просто удивительно, как некто написал оригинальную конфигурацию, мало понимая предметную областьПроектировал программу не я, сам тоже не стал особо менять, не до этого
Я имел в виду только то, что написал. Удобоваримый вид - не значит самый оптимальный.Переделать ее к удобоваримому виду заняло бы (у меня) часа 3-4.
А во временнЫх оценках я очень редко ошибаюсь (особенно при оценке снизу), когда уже погрузился в программу. Иначе себе дороже - похвастаешься вот, а потом за свой счет за базар отвечать
Понятно.. Насколько я знаю разработкой первоначальной версии программы занималась целая фирма и потратили они на нее около года. Правда их итоговая версия фактически не работала, мой предшественник еще несколько месяцев выправлял там ошибкиЭто я уже понял из первых постов. Так что, ничего личного. Просто удивительно, как некто написал оригинальную конфигурацию, мало понимая предметную область
Я имел в виду только то, что написал. Удобоваримый вид - не значит самый оптимальный.
А во временнЫх оценках я очень редко ошибаюсь (особенно при оценке снизу), когда уже погрузился в программу. Иначе себе дороже - похвастаешься вот, а потом за свой счет за базар отвечать
Поиск в обсуждении
Карта ветки
Ещё по теме
O
- Ответы
- 5
- Просмотры
- 5 тыс.
O
N
- Ответы
- 24
- Просмотры
- 12 тыс.
N
M
- Ответы
- 24
- Просмотры
- 21 тыс.
P
B
- Ответы
- 20
- Просмотры
- 11 тыс.
B
Поделиться: