Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Надо чтоб строки в табличной части меняли фон на другой цвет          
klevenets Подменю пользователя
сообщение 11.11.18, 14:26
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

HELP.

Нужна помощь
Надо чтоб строки в табличной части (например "Реализация товаров и услуг") меняли фон на другой цвет если документ был просмотрен на печать. Т.е. документы которые не распечатали - белые по умолчанию, а например зелёные которые распечатали.

1С:Предприятие 8.3 (8.3.8.1784)
"Управление торговлей для Украины", редакция 2.3

Очень жду Вашей помощи!!!


 ! 

Правила: 4
 


Сообщение отредактировал Vofka - 12.11.18, 9:24

Bernet Подменю пользователя
сообщение 11.11.18, 14:43
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

klevenets @ Сегодня, 14:26 * ,
Для начала нужно хранить признак того что документ был распечатан в самой базе. Для этого добавьте реквизит булевного типа в документ, например "Распечатан". При печати записывайте в этот реквизит "Распечатан" = Истина.
В форме списка документа, добавьте обработчик событий "ПриПолученииДанных" и в него добавьте следующий код
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);
КонецЦикла;


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

klevenets Подменю пользователя
сообщение 12.11.18, 7:16
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Bernet @ 11.11.18, 14:43) *
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);
КонецЦикла;

Bernet @ Вчера, 14:43 * ,

А куда вставить? Будь так любезны!!!!

//  Процедура печатает выбранный документ 
// Печатается та форма, которая была отпечатана при нажатии в документе кнопки
// печати по умолчанию
//
Процедура ДействияФормыДействиеПечать(Кнопка)

    Если ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока = Неопределено тогда
        Возврат
    КонецЕсли;

    УниверсальныеМеханизмы.НапечататьДокументИзФормыСписка(ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока.ПолучитьОбъект());

КонецПроцедуры // ДействиеПечать()

// Процедура вызывается при выборе пункта подменю "Движения документа по регистрам" меню "Перейти".
// командной панели формы. Процедура отрабатывает печать движений документа по регистрам.
//
Процедура ДействияФормыДвиженияДокументаПоРегистрам(Кнопка)

    Если ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока = Неопределено тогда
        Возврат
    КонецЕсли;

    РаботаСДиалогами.НапечататьДвиженияДокумента(ЭлементыФормы.Список.ТекущиеДанные.Ссылка);

КонецПроцедуры // ДействияФормыДвиженияДокументаПоРегистрам()

// Процедура вызывается при выборе пункта подменю "Структура подчиненности" меню "Перейти".
Процедура ДействияФормыСтруктураПодчиненностиДокумента(Кнопка)
    
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено тогда
        Возврат
    КонецЕсли;
    
    РаботаСДиалогами.ПоказатьСтруктуруПодчиненностиДокумента(ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока);
    
КонецПроцедуры

// Обработчик события "Нажатие" кнопки "ОформитьДокументы" в верхней командной панели.
//
Процедура ДействияФормыОформитьДокументы(Кнопка)

    ТекущаяСтрока = ЭлементыФормы.Список.ТекущиеДанные;

    Если ТекущаяСтрока = Неопределено Тогда
        Возврат
    КонецЕсли;

    ТекущийОбъект = ТекущаяСтрока.Ссылка.ПолучитьОбъект();
    ФормаФормированияПакетаДокументов = ТекущийОбъект.ПолучитьФорму("ФормаФормированияПакетаДокументов", ЭтаФорма);
    ФормаФормированияПакетаДокументов.Реализация = ТекущийОбъект;
    ФормаФормированияПакетаДокументов.Открыть();

КонецПроцедуры // ДействияФормыОформитьДокументы()

// Процедура вызывается при нажатии кнопки "ВыгрузитьВФорматеComerceMLФайлПанель"
// подменю "ВыгрузитьВФорматеComerceMLПанель" командной панели формы
//
Процедура ДействияФормыВыгрузитьВФорматеCommerceMLФайлПанель(Кнопка)
    
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    ЗаполнениеДокументов.ВыгрузитьДокументВФайлCommerceML(ЭлементыФормы.Список.ТекущиеДанные.Ссылка);
        
КонецПроцедуры

// Процедура вызывается при нажатии кнопки "ВыгрузитьВФорматеComerceMLЭлПочтаПанель"
// подменю "ВыгрузитьВФорматеComerceMLПанель" командной панели формы
//
Процедура ДействияФормыВыгрузитьВФорматеCommerceMLЭлПочтаПанель(Кнопка)
    
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    ЗаполнениеДокументов.ОтправитьДокументПоПочтеCommerceML(ЭлементыФормы.Список.ТекущиеДанные.Ссылка);

КонецПроцедуры

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    // Вставить содержимое обработчика.
КонецПроцедуры


Цитата(Bernet @ 11.11.18, 14:43) *
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);
КонецЦикла;


Вставляю в низу - пишет ошибку-

{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(86,33)}: Переменная не определена (ОформленияСтрок)
Для Каждого ОформлениеСтроки Из <<?>>ОформленияСтрок Цикл (Проверка: Толстый клиент (обычное приложение))


 ! 

Правила: 9
 


Сообщение отредактировал Vofka - 12.11.18, 9:25

sava1 Подменю пользователя
сообщение 12.11.18, 7:44
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Bernet @ 11.11.18, 14:43) *
В форме списка документа, добавьте обработчик событий "ПриПолученииДанных"

написано-ж

klevenets Подменю пользователя
сообщение 12.11.18, 9:16
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 7:44 * ,


Я не совсем продвинутый - так методом тыка разбираюсь потихоньку/
Создал. но выдаёт ошибку уже в базе

Поле объекта не обнаружено (Распечатан)

{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(84)}: Поле объекта не обнаружено (Распечатан)
ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);


Может я что ни так делаю с этим - можете по подробней плиз

ЦИТАТА ВАША
"Для начала нужно хранить признак того что документ был распечатан в самой базе. Для этого добавьте реквизит булевного типа в документ, например "Распечатан". При печати записывайте в этот реквизит "Распечатан" = Истина."

klevenets @ Сегодня, 8:55 * ,



реквизит булевного типа в документ - я добаавил

как при печати записывайте в этот реквизит "Распечатан" = Истина."?

sava1 Подменю пользователя
сообщение 12.11.18, 9:25
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

В модуле объекта найдите процедуру Печать и в конце добавьте -

Распечатан = Истина;
Записать();

Bernet Подменю пользователя
сообщение 12.11.18, 9:28
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

klevenets @ Сегодня, 9:16 * ,
Найдите в модуле объекта документа процедуру печати соответствующей печатной формы и в этой процедуре добавьте кусочек кода который будет в момент печати устанавливать этот признак.
ДокОбъект = Ссылка.ПолучитьОбъект();
ДокОбъект.Распечатан = Истина;
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

klevenets Подменю пользователя
сообщение 12.11.18, 10:17
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Bernet @ Сегодня, 9:28 * ,


Всё равно ошибка
пробовал и так и так.

Sanguinius Подменю пользователя
сообщение 12.11.18, 10:46
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 1 раз
Рейтинг: 0

klevenets @ Сегодня, 10:17 * ,

Все уже описано выше.
Вот полный порядок действий для вас:
1. вам нужно добавить реквизит документа типа булево с именем "Распечатан" .
2. в конце процедуры печати документа необходимо добавить строки:
Распечатан = Истина;
Записать();

3. в форме списка, для табличного поля, добавить или дополнить стандартную процедуру "ПриПолученииДанных" (см. свойства табличного поля в форме).
Следующим кодом:
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);
КонецЦикла;

WebЦвета по точке можете менять по вкусу.

klevenets Подменю пользователя
сообщение 12.11.18, 11:03
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Bernet @ Сегодня, 9:28 * ,


А если по тимвиверу - сможет показать?

Gazulo Подменю пользователя
сообщение 12.11.18, 11:07
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

klevenets @ Сегодня, 11:03 * ,
так

Sanguinius Подменю пользователя
сообщение 12.11.18, 11:19
Сообщение #12

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(Sanguinius @ 12.11.18, 10:46) *
3. в форме списка

чуть не забыл, между 2 и 3 пунктом вам нужно разместить данный реквизит "распечатано" в табличном поле формы списка.
ПКМ по табличному полю - разместить данные. Если не хотите потом его видеть во время работы можете убрать потом признак видимости у добавленной колонки, работать все равно будет.

klevenets Подменю пользователя
сообщение 12.11.18, 11:40
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Sanguinius @ Сегодня, 11:19 * ,

всё делаю по Вашему списку
1 и 2

но при размещении данных - нет такого пункта "Распечатано", хотя реквизит добавил ("Распечатано" - Булево)

klevenets @ Сегодня, 11:38 * ,

и ошибка в базе

{Документ.РеализацияТоваровУслуг.Форма.ФормаСписка.Форма(88)}: Поле объекта не обнаружено (Распечатан)
ОформлениеСтроки.ЦветФона = ?(ОформлениеСтроки.ДанныеСтроки.Ссылка.Распечатан, WebЦвета.СветлоЗеленый, WebЦвета.Белый);

Gazulo Подменю пользователя
сообщение 12.11.18, 11:53
Сообщение #14

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

klevenets @ Сегодня, 11:40 * ,
могу подключиться

Sanguinius Подменю пользователя
сообщение 12.11.18, 11:53
Сообщение #15

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 1 раз
Рейтинг: 0

klevenets @ Сегодня, 11:40 * ,
Ошибка как раз из за того что не добавлено.



Соблюдайте правильность имени реквизита и обращения к нему. Везде имя должно быть одинаковым "Распечатан".

Спасибо сказали: nmf,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!