Size: a a a

1с программирование

2020 November 24

АИ

Андрей И. in 1с программирование
Вот ещё что странно
В общем модуле есть вызов процедуры из модуля регистра сведений. Вот по F11 в него я попадаю, а потом вываливается ошибка, которую я и хочу отловить в общем модуле, но не попадаю в него
источник

P

Polosating in 1с программирование
Алексей Жатько
Спасибо!
[0] Это номер строки в  ТЗ?
индекс
источник

АМ

Алексей Махонин... in 1с программирование
Если здесь остановился, значит "Серверная отладка" работает. не?
источник

АМ

Алексей Махонин... in 1с программирование
а в сам в текст модуля можешь зайти? Может закодирован
источник

АИ

Андрей И. in 1с программирование
ну да. Всё ок с отладкой.  В модуль могу зайти, это мной добавленный общий модуль
источник

BM

Bayern München in 1с программирование
Алексей Махонин
Если здесь остановился, значит "Серверная отладка" работает. не?
да) не посмотрел даже(((
источник

АЖ

Алексей Жатько... in 1с программирование
Polosating
индекс
А если их будет несколько?
Вместо Возврат Запрос.Выполнить().Выгрузить();
Сделать
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Возврат Выборка.СуммаОклада;
источник

P

Polosating in 1с программирование
Алексей Жатько
А если их будет несколько?
Вместо Возврат Запрос.Выполнить().Выгрузить();
Сделать
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Возврат Выборка.СуммаОклада;
у тебя тогда должно быть несколько допов
источник

АМ

Алексей Махонин... in 1с программирование
а процедура из общего модуля отрабатывает? Попробуй туда какое-нибудь "Сообщить()" вставить, выдаст сообщение?
источник

АЖ

Алексей Жатько... in 1с программирование
Polosating
у тебя тогда должно быть несколько допов
Например?
источник

P

Polosating in 1с программирование
Алексей Жатько
Например?
что например? у сотрудника, если он оформлен по правилам, а не левой пяткой, не может быть несколько окладов. следовательно твой запрос будет выдавать несколько сотрудников (которых ты ему передашь массивом или списком). твой макет - допсоглашение к трудовому договору на ОДНОГО сотрудника. не на нескольких
поэтому если запрос вернул таблицу из более чем 1й строки, тебе надо озаботиться печатью допа на каждую строку
источник

АЖ

Алексей Жатько... in 1с программирование
Polosating
что например? у сотрудника, если он оформлен по правилам, а не левой пяткой, не может быть несколько окладов. следовательно твой запрос будет выдавать несколько сотрудников (которых ты ему передашь массивом или списком). твой макет - допсоглашение к трудовому договору на ОДНОГО сотрудника. не на нескольких
поэтому если запрос вернул таблицу из более чем 1й строки, тебе надо озаботиться печатью допа на каждую строку
Это все понятно, но у сотрудника несколько видов начислений (не оклад)
Их отдельной функцией дергать лучше?
источник

АИ

Андрей И. in 1с программирование
Алексей Махонин
а процедура из общего модуля отрабатывает? Попробуй туда какое-нибудь "Сообщить()" вставить, выдаст сообщение?
отрабатывает. Пишет - нарушение прав доступа.. А вот куда и почему это нарушение, я и пытаюсь выяснить. Попробую сейчас через Сообщить.. Спасибо за идею
источник

P

Polosating in 1с программирование
Алексей Жатько
Это все понятно, но у сотрудника несколько видов начислений (не оклад)
Их отдельной функцией дергать лучше?
можно в том же запросе
источник

АЖ

Алексей Жатько... in 1с программирование
Polosating
можно в том же запросе
Через вложенные запросы? что бы по отдельности выводить результаты?
источник

P

Polosating in 1с программирование
Алексей Жатько
Через вложенные запросы? что бы по отдельности выводить результаты?
если все в одном регистре, то можно и без вложенных обойтись
источник

АИ

Андрей И. in 1с программирование
ничего не понимаю. Вот мой общий модуль.
По Сообщить() ничего не выводится. Сразу получаю сообщение Нарушение прав доступа. Обработку запускаю от имени обычного пользователя, поэтому в модуле поставил галочку Привелигированный
источник

АИ

Андрей И. in 1с программирование
источник

АЖ

Алексей Жатько... in 1с программирование
Polosating
если все в одном регистре, то можно и без вложенных обойтись
В этом же но Показатель разный и условие уже не пойдет
Сотрудник В (&Сотрудник)
 И Показатель = &Оклад
источник

АЖ

Алексей Жатько... in 1с программирование
источник