7.7 помогите плз(

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Archivar, 14 авг 2013.

  1. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Я только начинаю врубаться в 1с конфигурирование, так что прошу снисходительно отнестись ко мне.
    В номенклатуре надо раскрасить строчки. Желательно по нажатию или еще как то.
    По темам полазил, не получилось.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
  3. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    я пробовал, не получается( я незнаю как условия писать.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Чтобы люди не подумали что вы просите написать за себя - покажите как вы пытались. Покажите ваш код - найдем ошибки
  5. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Создал колонку в ФормеСписка, в ней формулу Раскраска()
    Модуль:

    Код:
    перем Видимость,спр;
    Процедура ПоКнопкеВыбораДаты()
    ТекИспользоватьДату = ИспользоватьДату();
    глВвестиДатуПериодическихРеквизитов(Контекст, 0);
    Если ИспользоватьДату() > КонецРассчитанногоПериодаБИ() Тогда
    Предупреждение("За выбранный период итоги не рассчитаны!"+РазделительСтрок+
    "Расчет итогов выполняется в режиме"+РазделительСтрок+
    """Операции - Управление бухгалтерскими итогами"".");
    ИспользоватьДату(ТекИспользоватьДату);
    Иначе
    БухИт.ПериодМ(ИспользоватьДату());
    КонецЕсли;
    КонецПроцедуры
    //_____________________________________________________________________________
    Процедура приоткрытии()
    спр=СоздатьОбъект("справочник.номенклатура");
    Видимость=0;
    Видимость=число(восстановитьЗначение("Видимость"));
    форма.Пометка.Видимость(Видимость);	
    Если ПустоеЗначение(Форма.Параметр)=0 Тогда
    Если Форма.Параметр.Вид()="АктПереоценки" Тогда
    ВыборГруппы(1);
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры //
    //_____________________________________________________________________________
    Процедура призакрытии()
    сохранитьзначение("Видимость",Видимость);
    КонецПроцедуры //призакрытии
    //_____________________________________________________________________________
    Процедура пометки()
    Видимость=?(Видимость=0,1,0);
    форма.Пометка.Видимость(Видимость);
    
    КонецПроцедуры //пометки
    //_____________________________________________________________________________
    Процедура Пометить()
    спр.найтиЭлемент(ТекущийЭлемент());
    Если спр.Пометка=Перечисление.пометка.Помечен Тогда
    спр.Пометка=Перечисление.пометка.НеПомечен
    Иначе
    спр.Пометка=Перечисление.пометка.Помечен
    КонецЕсли;
    спр.Записать();
    КонецПроцедуры //Пометить   
    //**************************************
    Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    
    Если ( Источник ="BarCodeScaner" ) И ( Событие = "BarCodeValue" ) Тогда
    Сканер.EventNumber=Число(Данные);  Сканер.DeleteEvent();
    Если глПолучитьТоварПоШтрихкоду(Данные)=0 Тогда
    Сообщить("Штрих-код "+Данные+" не найден!");
    Иначе
    АктивизироватьОбъект(глПолучитьТоварПоШтрихкоду(Данные));
    КонецЕсли;
    Сканер.DataEventEnabled = 1;
    КонецЕсли;
    
    КонецПроцедуры // ОбработкаВнешнегоСобытия();
    Функция Раскраска()
    Если [Какое_то_условие] Тогда
    Возврат "BRUSH["+ПолучитьЦвет(221,221,255)+"]"; //тут дело вкуса
    Иначе
    Возврат ""; //чтобы не раскрашивало
    КонецЕсли;
    КонецФункции

    В Глобальном модуле добавил у существующей процедуре:

    Код:
    Процедура ВидимостьРеализ(Д) Экспорт
    // Если Д.Альтернатива=0 Тогда
    //  ВидимостьНДС=Константа.ЕстьНДС.Получить(Д.ДатаДок);
    // Иначе
    //  ВидимостьНДС=Константа.ЕстьНДС1.Получить(Д.ДатаДок);
    // КонецЕсли;
    ВидимостьНДС=0;
    // ЕстьАкциз=Константа.ЕстьАкциз;
    ВидимостьАкциз=0;
    Д.Форма.НДС.Видимость(ВидимостьНДС);
    Д.Форма.Акциз.Видимость(ВидимостьАкциз);
    Если (ВидимостьНДС=1)или(ВидимостьАкциз=1) Тогда
    Д.Форма.Всего.Видимость(1);
    Иначе
    Д.Форма.Всего.Видимость(0);
    КонецЕсли;
    
    Попытка
    ЗагрузитьВнешнююКомпоненту("FormEX.DLL");
    Колор = СоздатьОбъект("Сервис");
    Колор .ВключитьРаскраскуТаблиц();
    Исключение
    Сообщить("Компонента недоступна");
    КонецПопытки;
    КонецПроцедуры

    и добавил функцию:

    Код:
    Функция ПолучитьЦвет(Красный = 0,Зеленый = 0,Синий = 0) Экспорт
    Возврат Макс(0,Синий)*65536 + Макс(0,Зеленый)*256 + Макс(0,Красный);
    КонецФункции
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Код:
    Функция Раскраска()
    Если [Какое_то_условие] Тогда //у вас так и есть или вы прикололись?
    Возврат "BRUSH["+ПолучитьЦвет(221,221,255)+"]"; 
    Иначе
    Возврат ""; 
    КонецЕсли;
  7. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    про условие то я вначале сказал...не могу их писать, я новичок в этом деле...
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Хорошо.. Какое условие для раскраски?
    Например: выделять строки красном при условии что остаток меньше 0
  9. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    ааа...блин...мы хотели залежалый товар так помечать, думали сами это делать, т.е. думали мб есть способ какой красить прямо там

    например за полтора года если ни разу не купили
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Если у вас ТиС - у меня просто есть отчет по востребованности товара.
    В нем задается промежутки-периоды продаж. Он раскрашивает соответствующим цветом.
    Этот отчет можно "прикрутить" для заполнения специального реквизита в справочнике. И основываясь уже на этот реквизит уже раскрашивать элементы в списке
  11. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    в "о программе" ничего не написано, но мы на ней торгуем отдельным окном и отдельно товар забиваем отдельным - значит она, а я смогу все проделать? сам. ну хотя бы попытаюсь)
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Не факт что ТиС. Может какая-то самописка... Можно увидеть МДшник или подключиться удаленно?
  13. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    аа ну так да это самописка, раньше программер был он ее писал, только оболочка лицензия
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Значит нужно писать свой отчет, который бы заполнял какой-то созданный реквизит... Если вычислять продажи прямо в самом справочнике - вы просто повеситесь)))
  15. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    )) это да)) а примеров такой вещи не бывает? прост я даже не знаю с чего начать)

    Мы по сути человека посадили чтобы он тупо те позиции выписывал.

    Это вообще задумывалось вот почему: чтобы не допустить заказа еще раз. Т.е. бывают случаи когда товар который не продается заказывается еще раз....и на первом этапе хотя бы это, в дальнейшем когда получу опыт я думаю напишу его


    Можно ли хотябы вот так мне сделать? чтобы я просто помечал эти позиции? в цвет
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Проще заказать написание отчета (если вы слабы).
    Ну а если ручками выбирать....
    Давайте попробуем.

    1) В конфигураторе открывайте справочник товаров и добавляйте новый реквизит "Востребованность". Тип число. Длина 1. Точность 0.

    Все эксперименты - на копии БД
  17. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Сделал
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    2) Поместите этот реквизит на форму элемента (чтобы ручками можно было заполнять)
  19. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    сделал
  20. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Почти все готово......
    Код:
    Функция Раскраска()
    
    Если ПустоеЗначение(ТекущийЭлемент()) = 0 Тогда
    Если ЭтоГруппа() = 0 Тогда
    Если ТекущийЭлемент().Востребованность = 1 Тогда
    Возврат "BRUSH["+ПолучитьЦвет(221,221,255)+"]";
    
    ИначеЕсли ТекущийЭлемент().Востребованность = 2 Тогда
    Возврат "BRUSH["+ПолучитьЦвет(221,221,255)+"]"; //пофантазируйте с цветом
    //и т.д. до 9
    КонецЕсли;
    КонецЕсли;
    Возврат ""; //тут если Востребованность = 0 т.е. не заполнена
    КонецЕсли;

Поделиться этой страницей