Версия для печати темы (https://pro1c.org.ua/index.php?s=2f20af41329f63f2b03484cfed68c937&showtopic=35458)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Количество распечаток накладных в Реализации
Автор: Constantus 22.02.17, 8:13
Приветствую, форумчане!
УТ 10.3.20.1, Моби-С 5.5, "ABBYY Ukraine", обычные
Клиенту захотелось видеть сколько раз печаталась накладная в документе "Реализация товаров и услуг", т.е. был реквизит в форме списка, который бы показывал сколько раз был данный документ распечатан.
Как программно можно будет изменять значение этого реквизита при каждой печати документа?
Автор: Acid 22.02.17, 8:22
Constantus @ Сегодня, 8:13
,
Лучше делать запись данного события в Журнал регистрации. Из журнала и будете смотреть.
Автор: Constantus 22.02.17, 8:30
Acid @ Сегодня, 11:22
,
Подскажите как сделать эту запись события и чтобы пользователю было более удобно просматривать данные из журнала
Автор: Vofka 22.02.17, 11:53
Цитата(Constantus @ 22.02.17, 8:13)
Как программно можно будет изменять значение этого реквизита при каждой печати документа?
В функции печати, по идее, доступна ссылка. Вот по ссылке получайте объект и делайте с ним что надо.
Цитата(Acid @ 22.02.17, 8:22)
Лучше делать запись данного события в Журнал регистрации. Из журнала и будете смотреть.
Выводить что-то в форме списка чего-то из журнала регистрации - это сильно. Вы извращенец.
Автор: logist 22.02.17, 15:04
Цитата(Acid @ 22.02.17, 9:22)
Лучше делать запись данного события в Журнал регистрации. Из журнала и будете смотреть.
Лучше в регистр сведений.
Однако надо понимать, что записать туда можно только нажатие кнопки Печать, распечаталась ли фактически накладная - нельзя отследить.
Автор: Constantus 23.02.17, 9:44
Проблему решил:
Если ИмяМакета = "Накладная" Тогда
КоличествоЭкземпляров = 2;
Печать = Печать + 1;
//Сообщить("" + Номер + " " + Печать);
Записать();
ТабДокумент = ПечатьДокумента(,КоличествоЭкземпляров,2,ИмяМакета);
В модуле объекта Реализации в процедуре
Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
Автор: logist 23.02.17, 13:48
Цитата(Constantus @ 23.02.17, 10:44)
Проблему решил:
Главное что бы при этом не возникла другая проблема, если один будет работать с документом, а другой захочет распечатать его из списка, то когда первый захочет сохранить свои изменения - ему скажет "Данные были изменены" и всё, меняй по новой
Автор: Acid 23.02.17, 14:40
Цитата(Constantus @ 23.02.17, 9:44)
Проблему решил:
Предположим, что через месяц период закроют, а документ захотят распечатать из закрытого периода. Что произойдет?
Автор: Flexy 23.02.17, 14:56
Цитата(Constantus @ 23.02.17, 9:44)
Проблему решил:
...и создал как минимум две новых
Это получается при каждой печати перезапись документа в БД + головняк с блокировками. Короче, не эффективно.
Имхо самое нормальное решение сделать РС и записывать в него нажатия кнопки "Печать".
Автор: Constantus 24.02.17, 8:16
Flexy @ Вчера, 17:56
,
Согласен с вышеизложенными доводами. Перспективу проблем понял.
Согласен загонять в регистр сведений, но как тогда в форме списка вывести эти данные из регистра быстрым способом, ибо при большом количестве строк выводить данные из РС (срез последних) будет проблематичным из-за програмного расчета... Как оптимальнйе продемонстрировать это количество из РС
Автор: Petre 24.02.17, 9:11
Constantus @ Сегодня, 8:16
,
1. Зачем срез последних Оо?
2. Левое соединение со ссылками. Куда уж быстрее.
Автор: Flexy 24.02.17, 10:34
Цитата(Constantus @ 24.02.17, 8:16)
но как тогда в форме списка вывести эти данные из регистра быстрым способом, ибо при большом количестве строк выводить данные из РС (срез последних) будет проблематичным из-за програмного расчета... Как оптимальнйе продемонстрировать это количество из РС
Первое, что пришло в голову:
Создайте глобальную переменную или реквизит в форме списка документов c типом ТЗ.
Создайте произвольную колонку в списке документов.
Перед открытием читайте из РС в ТЗ.
При выводе строки в форме списка искать ссылку на документ в ТЗ и получать Количество нажатий.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua