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

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

  1. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    КонецФункции в конце вместо конецесли написал, ругалась
    все сделал
  2. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

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

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

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

    Archivar Опытный в 1С

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

    можно если уж прям совсем не будет получаться сюда написать?) Вам
  5. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Не за что
    2) Пишите. Рад буду помочь.
  6. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да не страшно......
    А колонку на форме справочника вы добавили?
  8. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Д.б. текстовая колонка.
    2) В ней в поле формула д.б. вызов функции окраски. В вашем случае Раскраска()
    3) В принципе должно работать и так, но добавьте в форму списка справочника
    Код:
    Процедура ПослеОткрытия()
    ФормаРасш = СоздатьОбъект("РасширениеФормы");
    ФормаРасш.РаскрашиватьТаблицу("МногострочнаяЧасть");
    КонецПроцедуры
    
  10. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    http://pixs.ru/showimage/cvet2png_7041231_8743586.png
    вот 2ва окна, заднее что в левом вершнем это изминение строк, переднее что ниже, это как раз мой справочник

    я код вставил и там и там...пробовал по разному


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



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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Если честно - ничего не понял. Про левую и заднюю.
    Выложите ваш МДшник
  12. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    http://files.mail.ru/93822BE3A8714E3F811CEB2AA972D13B

    вот ссылка
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вот вам пример. 2 Первые позиции списка номенклатуры имеют другой цвет
    В списке подбора ТМЦ сделайте по аналогии.
    http://disk.tom.ru/r1u72p2
  14. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Спасибо БОЛЬШОЕ за Ваш Труд!
    Но ученик:
    ((( я что криворукий такой.........у Вас прога работает, себе ставлю, чтобы самому все понять, т.е. с нуля,.....не выходит...не красит и все, причем я даже прост копировал и тд не выходит...
  15. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А сравнивать МДшники с объединением пробовали?
  16. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    а это проделать можно в 1с? в конфигураторе? я не разу не пробовал)
  17. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    сравнил через конфигуратор- объединение, сравнивает поверхностно...
  18. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А может во полях формула?))))))))))))
  20. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    я ее скопировал) их все проверил) я скрытность убрал, она там пишет BRUSH[16768457] и там и там, но в Вашей она красит, в моей нет(

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