Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
HELP.
Нужна помощь Надо чтоб строки в табличной части (например "Реализация товаров и услуг") меняли фон на другой цвет если документ был просмотрен на печать. Т.е. документы которые не распечатали - белые по умолчанию, а например зелёные которые распечатали.
1С:Предприятие 8.3 (8.3.8.1784) "Управление торговлей для Украины", редакция 2.3
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 327 раз
Рейтинг: 0
klevenets @ Сегодня, 14:26
, Для начала нужно хранить признак того что документ был распечатан в самой базе. Для этого добавьте реквизит булевного типа в документ, например "Распечатан". При печати записывайте в этот реквизит "Распечатан" = Истина. В форме списка документа, добавьте обработчик событий "ПриПолученииДанных" и в него добавьте следующий код
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый); КонецЦикла;
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Bernet @ 11.11.18, 14:43)
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый); КонецЦикла;
Bernet @ Вчера, 14:43
,
А куда вставить? Будь так любезны!!!!
// Процедура печатает выбранный документ // Печатается та форма, которая была отпечатана при нажатии в документе кнопки // печати по умолчанию // Процедура ДействияФормыДействиеПечать(Кнопка)
Если ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока = Неопределено тогда Возврат КонецЕсли;
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый); КонецЦикла;
Вставляю в низу - пишет ошибку-
{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(86,33)}: Переменная не определена (ОформленияСтрок) Для Каждого ОформлениеСтроки Из <<?>>ОформленияСтрок Цикл (Проверка: Толстый клиент (обычное приложение))
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
sava1 @ Сегодня, 7:44
,
Я не совсем продвинутый - так методом тыка разбираюсь потихоньку/ Создал. но выдаёт ошибку уже в базе
Поле объекта не обнаружено (Распечатан)
{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(84)}: Поле объекта не обнаружено (Распечатан) ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);
Может я что ни так делаю с этим - можете по подробней плиз
ЦИТАТА ВАША "Для начала нужно хранить признак того что документ был распечатан в самой базе. Для этого добавьте реквизит булевного типа в документ, например "Распечатан". При печати записывайте в этот реквизит "Распечатан" = Истина."
klevenets @ Сегодня, 8:55
,
реквизит булевного типа в документ - я добаавил
как при печати записывайте в этот реквизит "Распечатан" = Истина."?
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 327 раз
Рейтинг: 0
klevenets @ Сегодня, 9:16
, Найдите в модуле объекта документа процедуру печати соответствующей печатной формы и в этой процедуре добавьте кусочек кода который будет в момент печати устанавливать этот признак.
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 1 раз
Рейтинг: 0
klevenets @ Сегодня, 10:17
,
Все уже описано выше. Вот полный порядок действий для вас: 1. вам нужно добавить реквизит документа типа булево с именем "Распечатан" . 2. в конце процедуры печати документа необходимо добавить строки:
Распечатан = Истина; Записать();
3. в форме списка, для табличного поля, добавить или дополнить стандартную процедуру "ПриПолученииДанных" (см. свойства табличного поля в форме). Следующим кодом:
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый); КонецЦикла;
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 1 раз
Рейтинг: 0
Цитата(Sanguinius @ 12.11.18, 10:46)
3. в форме списка
чуть не забыл, между 2 и 3 пунктом вам нужно разместить данный реквизит "распечатано" в табличном поле формы списка. ПКМ по табличному полю - разместить данные. Если не хотите потом его видеть во время работы можете убрать потом признак видимости у добавленной колонки, работать все равно будет.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Sanguinius @ Сегодня, 11:19
,
всё делаю по Вашему списку 1 и 2
но при размещении данных - нет такого пункта "Распечатано", хотя реквизит добавил ("Распечатано" - Булево)
klevenets @ Сегодня, 11:38
,
и ошибка в базе
{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(88)}: Поле объекта не обнаружено (Распечатан) ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!