Имя: Пароль:
1C
1С v8
Изменение макета отчета вручную пользователем
0 lirt82
 
13.06.19
09:22
Есть самописный отчет (обычные формы) в нем есть макет тип Табличное поле, отчет сделан по образцу таблицы экселя (расчет ячеек по формуле и т.п.), пользователи хотят возможность, если пользователь на форме отчета вручную внесет в конкретную колонку отчета с именем "Товар в пути" свою цифру то отчет эту цифру внесенную вручную учитывал при переформировании:). Как реализовать? В самом отчете 19 колонок:) из них 18 заполняется запросом и рассчитывается в цикле обхода, а вот одну "Товар в пути" по ней данные в базе не поймать, хотят вносить на форму вручную и как следствие данные пересчитываться должны, при чем внесенные данные в колонку при переформировании не должны затираться.
1 palsergeich
 
13.06.19
09:28
(0) это не просто, но возможно.
Есть 2 варианта:
1 ты правишь при изменении источник данных
2) через промежуточный объект бд.
Но сразу говорю задача сложнее чем кажется, подводных камней овердофига
2 palsergeich
 
13.06.19
09:31
(1) а есть ещё вариант 3 это не правка источника а создание корректировки источника - более умный и правильный вариант п1.
Я делал такое - корректировка тарифной сетки.
Но ещё раз повторю - задача сложная, даже не столько со стороны разработки, как со стороны методологии.
3 palsergeich
 
13.06.19
09:34
Если брать конкретно товары в пути - если надо что бы только в этом отчёте цифра менялась - то относительно просто.
Если везде - то сложно.
Нельзя просто так сказать что было 4 товара в пути, а теперь 5 без отражения хозяйственной операции
4 lirt82
 
13.06.19
09:37
нашел событие
ТабДокПриИзмененииСодержимогоОбласти(Элемент, Область)
попробую его поковырять, да скорее всего в нем буду ячейки пересчитывать в цикле без события кнопки Сформировать
5 shuhard
 
13.06.19
09:40
(4) нет, нужно отключить типовую расшифровку ячейки под событием ОбработкаРасшифровки,
там есть всё необходимое
6 lirt82
 
13.06.19
09:42
(5) ячейки или всей колонки макета?
7 Has
 
13.06.19
09:44
а пользователи точно хотят каждый раз при открытии отчета заполнять эту колонку?
8 lirt82
 
13.06.19
09:45
пример в отчете есть колонки Остаток на начало, приход, товар в пути, продажа, остаток на конец. Остаток на конец рассчитывается по формуле ОстатокНаКонец = (ОстатокНаНачало + Приход + ТоварВПути) - Продажа. Нужно сделать если вручную внесли данные в строку макета с ячейкой "ТоварВПути" вся строка пересчитывалась по формуле выше.
9 lirt82
 
13.06.19
09:50
хотел сделать параметром "ТоварВПути" и отправлять в запрос, но номенклатура же разная.
10 lirt82
 
13.06.19
09:54
(7) на их выбор захотят внесут.
11 palsergeich
 
13.06.19
09:56
А в чем тогда смысл этого отчёта, если в нем можно менять данные, которые нужны только для него?
+ Тебя ждёт веселье с любой хотелкой по изменению его структуры)
12 lirt82
 
13.06.19
10:03
(11) смысл в том по словам пользователя чтоб не вносить оставшиеся данные по другим колонкам в таблицу экселя если их можно получить из 1С. Звонок от директора срочно нужно дать данные, пользователь начинает для своей таблицы в экселе из двух десятков колонок собирать данные разными отчетами (ведомостями, оборотками т.д.) из 1С и переносит их в свою таблицу экселя в ней уже есть формулы, сейчас это занимает полчаса его времени, поэтому обратились ко мне с просьбой эту таблицу сделать как отчет в 1С, тогда по звонку он в отчете выберет только период и нажмет 1 кнопку "Сформировать" и отправит (не проверяя цифры руководству, это же 1С она не ошибается).
13 lirt82
 
13.06.19
10:05
(12) добавлю что таких таблиц экселевских с формулами у разных пользователей несколько десятков:)...ну а раз я прогер то моя работа их таблицы сделать отчетами в 1С. Чтоб они не тратили свое время на их заполнение.
14 ам794123
 
13.06.19
10:08
(13) макросы напиши в экселе для консолидации данных 1с и эксельных таблиц. Так проще. Тыж программист)
15 lirt82
 
13.06.19
10:09
прикол еще в том что отладчик в Процедуре ТабДокПриИзмененииСодержимогоОбласти(Элемент, Область)
значения областей и ячеек не доступны для чтения и свойство защита Истина, т.е. отладчик не видит что в ячейке.
16 RomanYS
 
13.06.19
10:11
(12) Если эти данные нужны в отчетах, то что мешает организовать их нормальный ввод и хранение в базе?
17 DmitriyDI
 
13.06.19
10:19
плюсом к (16) это должно помочь http://catalog.mista.ru/public/781777/
18 palsergeich
 
13.06.19
10:23
(15) конечно, сами значения хранятся в данных расшифровки.
Тебе доступно только текстовое представление.
Я же говорил что задача не так проста, как кажется.
И это только начало)
19 ам794123
 
13.06.19
10:26
(17) не подойдет, и ТС отчет не скдешный.
20 shuhard
 
13.06.19
10:26
(15) это самоочевидно
21 lirt82
 
13.06.19
10:40
(19) не как вариант я могу отчет переписать на СКД...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн