Имя: Пароль:
1C
 
Раскрасить строки в зависимости от того, из какой таблицы она родом.
,
0 Олеся92
 
17.12.14
08:23
Есть Самая нижняя таблица,  в ней  отображаются  только различные элементы  двух верхних таблиц. Вопрос заключается в том что нужно определить, какая строка с какой таблицы. Это можно решить раскрасив строки в цвет таблицы из которой она и появиласть. Например Если строка из левой таблицы тогда строку раскрасить в желтый если с правой табл. тогда в розовый. В результате чего в нижней таблицы мы увидим какой элемент из какой табл. Подскажите пожалуйста как осуществить? :)
Скрин вот : http://lvkr.ru/f/u8Xy4C/1024.jpg
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


&НаСервере
Процедура ВыполнитьСравнениеНаСервере()
      
  
    // Выберем запросом данные из 2-х табличных частей ТаблицаSMD
    // для остальных аналогично
    ТЗнач.Загрузить(ОтВерсии.ТаблицаSMD.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач2.Загрузить(КВерсии.ТаблицаSMD.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач.Сортировать("Номенклатура");
    ТЗнач2.Сортировать("Номенклатура");

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    СпецификацияТКТаблицаSMD.Ссылка,
    |    СпецификацияТКТаблицаSMD2.Ссылка КАК Ссылка1,
    |    СпецификацияТКТаблицаSMD.Номенклатура,
    |    СпецификацияТКТаблицаSMD.НомерСтроки,
    |    СпецификацияТКТаблицаSMD2.НомерСтроки КАК НомерСтроки1,
    |    СпецификацияТКТаблицаSMD.Designator,
    |    СпецификацияТКТаблицаSMD2.Designator КАК Designator1,
    |    СпецификацияТКТаблицаSMD.MyData,
    |    СпецификацияТКТаблицаSMD2.MyData КАК MyData1,
    |    СпецификацияТКТаблицаSMD.Quantity,
    |    СпецификацияТКТаблицаSMD2.Quantity КАК Quantity1
    |ПОМЕСТИТЬ ОдинаковаяНоменклатура
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаSMD КАК СпецификацияТКТаблицаSMD
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацияТК.ТаблицаSMD КАК СпецификацияТКТаблицаSMD2
    |        ПО СпецификацияТКТаблицаSMD.Номенклатура = СпецификацияТКТаблицаSMD2.Номенклатура
    |ГДЕ
    |    СпецификацияТКТаблицаSMD.Ссылка = &Ссылка
    |    И СпецификацияТКТаблицаSMD2.Ссылка = &Ссылка2
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаSMD.Ссылка,
    |    СпецификацияТКТаблицаSMD.НомерСтроки,
    |    СпецификацияТКТаблицаSMD.Designator,
    |    СпецификацияТКТаблицаSMD.MyData,
    |    СпецификацияТКТаблицаSMD.Quantity,
    |    СпецификацияТКТаблицаSMD.Номенклатура
    |ПОМЕСТИТЬ Отличия
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаSMD КАК СпецификацияТКТаблицаSMD
    |ГДЕ
    |    СпецификацияТКТаблицаSMD.Ссылка = &Ссылка
    |    И НЕ СпецификацияТКТаблицаSMD.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаSMD.Ссылка,
    |    СпецификацияТКТаблицаSMD.НомерСтроки,
    |    СпецификацияТКТаблицаSMD.Designator,
    |    СпецификацияТКТаблицаSMD.MyData,
    |    СпецификацияТКТаблицаSMD.Quantity,
    |    СпецификацияТКТаблицаSMD.Номенклатура
    |ПОМЕСТИТЬ Отличия2
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаSMD КАК СпецификацияТКТаблицаSMD
    |ГДЕ
    |    СпецификацияТКТаблицаSMD.Ссылка = &Ссылка2
    |    И НЕ СпецификацияТКТаблицаSMD.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ОдинаковаяНоменклатура.Ссылка,
    |    ОдинаковаяНоменклатура.Ссылка1,
    |    ОдинаковаяНоменклатура.Номенклатура,
    |    ОдинаковаяНоменклатура.НомерСтроки,
    |    ОдинаковаяНоменклатура.НомерСтроки1,
    |    ОдинаковаяНоменклатура.Designator,
    |    ОдинаковаяНоменклатура.Designator1,
    |    ОдинаковаяНоменклатура.MyData,
    |    ОдинаковаяНоменклатура.MyData1,
    |    ОдинаковаяНоменклатура.Quantity,
    |    ОдинаковаяНоменклатура.Quantity1
    |ИЗ
    |    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия.Ссылка,
    |    NULL,
    |    Отличия.Номенклатура,
    |    Отличия.НомерСтроки,
    |    NULL,
    |    Отличия.Designator,
    |    NULL,
    |    Отличия.MyData,
    |    NULL,
    |    Отличия.Quantity,
    |    NULL
    |ИЗ
    |    Отличия КАК Отличия
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия2.Ссылка,
    |    NULL,
    |    Отличия2.Номенклатура,
    |    Отличия2.НомерСтроки,
    |    NULL,
    |    Отличия2.Designator,
    |    NULL,
    |    Отличия2.MyData,
    |    NULL,
    |    Отличия2.Quantity,
    |    NULL
    |ИЗ
    |    Отличия2 КАК Отличия2";
    Запрос.УстановитьПараметр("Ссылка", ОтВерсии);
    Запрос.УстановитьПараметр("Ссылка2", КВерсии);
    тз = Запрос.Выполнить().Выгрузить();
    Для каждого Стр Из тз Цикл
        // Сравним реквизиты для одинаковых номенклатур
        Если Стр.Ссылка1 <> Null Тогда
            Если НЕ ((Стр.Designator = Стр.Designator1) И (Стр.MyData = Стр.MyData1) И (Стр.Quantity = Стр.Quantity1)) Тогда
                // Если хотя бы что-то отличается выводим
                НоваяСтрока = ТаблСравнения.Добавить();
                // Что выводить ... хз, заполним реквизиты, что есть
                НоваяСтрока.Номенклатура    = Стр.Номенклатура;
                НоваяСтрока.Quantity        = Стр.Quantity; // а можно Quantity1
            КонецЕсли;
        Иначе
            // Оставшиеся просто тупо выводим, т.к. они не совпали
            НоваяСтрока = ТаблСравнения.Добавить();
            НоваяСтрока.Номенклатура    = Стр.Номенклатура;
            НоваяСтрока.Quantity        = Стр.Quantity;
            
        КонецЕсли;
    КонецЦикла;
    //       Для каждого НоваяСтрока из ТаблСравнения Цикл
    //НоваяСтрока.ЦветФона = Webцвета.Древесный;
    //КонецЦикла;

    
    Возврат;
    
    
    
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    //     ТЗнач.Загрузить(ОтВерсии.ТаблицаSMD.Выгрузить(,"Номенклатура,Quantity"));
    //ТЗнач2.Загрузить(КВерсии.ТаблицаSMD.Выгрузить(,"Номенклатура,Quantity"));
    //ТЗнач.Сортировать("Номенклатура");
    //ТЗнач2.Сортировать("Номенклатура");
    //
КонецПроцедуры



&НаКлиенте
Процедура ВыполнитьСравнение(Команда)
    Элементы.Выполнить.ЦветФона=WebЦвета.Зеленый;
    ВыполнитьСравнениеНаСервере();
    
КонецПроцедуры

&НаСервере
Процедура ВыполнитьСравнениеDPНаСервере()
    ТЗнач.Загрузить(ОтВерсии.ТаблицаDP.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач2.Загрузить(КВерсии.ТаблицаDP.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач.Сортировать("Номенклатура");
    ТЗнач2.Сортировать("Номенклатура");
    Запрос2 = Новый Запрос;
    Запрос2.Текст = "ВЫБРАТЬ
    |    СпецификацияТКТаблицаDP.Ссылка,
    |    СпецификацияТКТаблицаDP2.Ссылка КАК Ссылка1,
    |    СпецификацияТКТаблицаDP.Номенклатура,
    |    СпецификацияТКТаблицаDP.НомерСтроки,
    |    СпецификацияТКТаблицаDP2.НомерСтроки КАК НомерСтроки1,
    |    СпецификацияТКТаблицаDP.Designator,
    |    СпецификацияТКТаблицаDP2.Designator КАК Designator1,
    |    СпецификацияТКТаблицаDP.MyData,
    |    СпецификацияТКТаблицаDP2.MyData КАК MyData1,
    |    СпецификацияТКТаблицаDP.Quantity,
    |    СпецификацияТКТаблицаDP2.Quantity КАК Quantity1
    |ПОМЕСТИТЬ ОдинаковаяНоменклатура
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаDP КАК СпецификацияТКТаблицаDP
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацияТК.ТаблицаDP КАК СпецификацияТКТаблицаDP2
    |        ПО СпецификацияТКТаблицаDP.Номенклатура = СпецификацияТКТаблицаDP2.Номенклатура
    |ГДЕ
    |    СпецификацияТКТаблицаDP.Ссылка = &Ссылка
    |    И СпецификацияТКТаблицаDP2.Ссылка = &Ссылка2
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаDP.Ссылка,
    |    СпецификацияТКТаблицаDP.НомерСтроки,
    |    СпецификацияТКТаблицаDP.Designator,
    |    СпецификацияТКТаблицаDP.MyData,
    |    СпецификацияТКТаблицаDP.Quantity,
    |    СпецификацияТКТаблицаDP.Номенклатура
    |ПОМЕСТИТЬ Отличия
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаDP КАК СпецификацияТКТаблицаDP
    |ГДЕ
    |    СпецификацияТКТаблицаDP.Ссылка = &Ссылка
    |    И НЕ СпецификацияТКТаблицаDP.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаDP.Ссылка,
    |    СпецификацияТКТаблицаDP.НомерСтроки,
    |    СпецификацияТКТаблицаDP.Designator,
    |    СпецификацияТКТаблицаDP.MyData,
    |    СпецификацияТКТаблицаDP.Quantity,
    |    СпецификацияТКТаблицаDP.Номенклатура
    |ПОМЕСТИТЬ Отличия2
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаDP КАК СпецификацияТКТаблицаDP
    |ГДЕ
    |    СпецификацияТКТаблицаDP.Ссылка = &Ссылка2
    |    И НЕ СпецификацияТКТаблицаDP.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ОдинаковаяНоменклатура.Ссылка,
    |    ОдинаковаяНоменклатура.Ссылка1,
    |    ОдинаковаяНоменклатура.Номенклатура,
    |    ОдинаковаяНоменклатура.НомерСтроки,
    |    ОдинаковаяНоменклатура.НомерСтроки1,
    |    ОдинаковаяНоменклатура.Designator,
    |    ОдинаковаяНоменклатура.Designator1,
    |    ОдинаковаяНоменклатура.MyData,
    |    ОдинаковаяНоменклатура.MyData1,
    |    ОдинаковаяНоменклатура.Quantity,
    |    ОдинаковаяНоменклатура.Quantity1
    |ИЗ
    |    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия.Ссылка,
    |    NULL,
    |    Отличия.Номенклатура,
    |    Отличия.НомерСтроки,
    |    NULL,
    |    Отличия.Designator,
    |    NULL,
    |    Отличия.MyData,
    |    NULL,
    |    Отличия.Quantity,
    |    NULL
    |ИЗ
    |    Отличия КАК Отличия
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия2.Ссылка,
    |    NULL,
    |    Отличия2.Номенклатура,
    |    Отличия2.НомерСтроки,
    |    NULL,
    |    Отличия2.Designator,
    |    NULL,
    |    Отличия2.MyData,
    |    NULL,
    |    Отличия2.Quantity,
    |    NULL
    |ИЗ
    |    Отличия2 КАК Отличия2";
    Запрос2.УстановитьПараметр("Ссылка", ОтВерсии);
    Запрос2.УстановитьПараметр("Ссылка2", КВерсии);
    тз = Запрос2.Выполнить().Выгрузить();
    Для каждого Стр Из тз Цикл
        // Сравним реквизиты для одинаковых номенклатур
        Если Стр.Ссылка1 <> Null Тогда
            Если НЕ ((Стр.Designator = Стр.Designator1) И (Стр.MyData = Стр.MyData1) И (Стр.Quantity = Стр.Quantity1)) Тогда
                // Если хотя бы что-то отличается выводим
                НоваяСтрока = ТаблСравнения.Добавить();
                // Что выводить ... хз, заполним реквизиты, что есть
                НоваяСтрока.Номенклатура    = Стр.Номенклатура;
                НоваяСтрока.Quantity        = Стр.Quantity; // а можно Quantity1
            КонецЕсли;
        Иначе
            // Оставшиеся просто тупо выводим, т.к. они не совпали
            НоваяСтрока = ТаблСравнения.Добавить();
            НоваяСтрока.Номенклатура    = Стр.Номенклатура;
            НоваяСтрока.Quantity        = Стр.Quantity;
            
            //Элементы.нова.ЦветФона=WebЦвета.Зеленый;

        КонецЕсли;
    КонецЦикла;
         Для каждого НоваяСтрока из ТаблСравнения Цикл
         НоваяСтрока.ЦветФона = Webцвета.Древесный;
         КонецЦикла;

    
    Возврат;
    
// Вставить содержимое обработчика.
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьСравнениеDP(Команда)
      Элементы.ВыполнитьСравнениеDP.ЦветФона=WebЦвета.Зеленый;
     ВыполнитьСравнениеDPНаСервере();
    
КонецПроцедуры

&НаСервере
Процедура ВыполнитьСравнениеКабельНаСервере()
    ТЗнач.Загрузить(ОтВерсии.ТаблицаКабель.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач2.Загрузить(КВерсии.ТаблицаКабель.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач.Сортировать("Номенклатура");
    ТЗнач2.Сортировать("Номенклатура");
    
Запрос3 = Новый Запрос;
    Запрос3.Текст = "ВЫБРАТЬ
    |    СпецификацияТКТаблицаКабель.Ссылка,
    |    СпецификацияТКТаблицаКабель2.Ссылка КАК Ссылка1,
    |    СпецификацияТКТаблицаКабель.Номенклатура,
    |    СпецификацияТКТаблицаКабель.НомерСтроки,
    |    СпецификацияТКТаблицаКабель2.НомерСтроки КАК НомерСтроки1,
    |    СпецификацияТКТаблицаКабель.Designator,
    |    СпецификацияТКТаблицаКабель2.Designator КАК Designator1,
    |    СпецификацияТКТаблицаКабель.MyData,
    |    СпецификацияТКТаблицаКабель2.MyData КАК MyData1,
    |    СпецификацияТКТаблицаКабель.Quantity,
    |    СпецификацияТКТаблицаКабель2.Quantity КАК Quantity1
    |ПОМЕСТИТЬ ОдинаковаяНоменклатура
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаКабель КАК СпецификацияТКТаблицаКабель
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацияТК.ТаблицаКабель КАК СпецификацияТКТаблицаКабель2
    |        ПО СпецификацияТКТаблицаКабель.Номенклатура = СпецификацияТКТаблицаКабель2.Номенклатура
    |ГДЕ
    |    СпецификацияТКТаблицаКабель.Ссылка = &Ссылка
    |    И СпецификацияТКТаблицаКабель2.Ссылка = &Ссылка2
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаКабель.Ссылка,
    |    СпецификацияТКТаблицаКабель.НомерСтроки,
    |    СпецификацияТКТаблицаКабель.Designator,
    |    СпецификацияТКТаблицаКабель.MyData,
    |    СпецификацияТКТаблицаКабель.Quantity,
    |    СпецификацияТКТаблицаКабель.Номенклатура
    |ПОМЕСТИТЬ Отличия
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаКабель КАК СпецификацияТКТаблицаКабель
    |ГДЕ
    |    СпецификацияТКТаблицаКабель.Ссылка = &Ссылка
    |    И НЕ СпецификацияТКТаблицаКабель.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаКабель.Ссылка,
    |    СпецификацияТКТаблицаКабель.НомерСтроки,
    |    СпецификацияТКТаблицаКабель.Designator,
    |    СпецификацияТКТаблицаКабель.MyData,
    |    СпецификацияТКТаблицаКабель.Quantity,
    |    СпецификацияТКТаблицаКабель.Номенклатура
    |ПОМЕСТИТЬ Отличия2
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаКабель КАК СпецификацияТКТаблицаКабель
    |ГДЕ
    |    СпецификацияТКТаблицаКабель.Ссылка = &Ссылка2
    |    И НЕ СпецификацияТКТаблицаКабель.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ОдинаковаяНоменклатура.Ссылка,
    |    ОдинаковаяНоменклатура.Ссылка1,
    |    ОдинаковаяНоменклатура.Номенклатура,
    |    ОдинаковаяНоменклатура.НомерСтроки,
    |    ОдинаковаяНоменклатура.НомерСтроки1,
    |    ОдинаковаяНоменклатура.Designator,
    |    ОдинаковаяНоменклатура.Designator1,
    |    ОдинаковаяНоменклатура.MyData,
    |    ОдинаковаяНоменклатура.MyData1,
    |    ОдинаковаяНоменклатура.Quantity,
    |    ОдинаковаяНоменклатура.Quantity1
    |ИЗ
    |    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия.Ссылка,
    |    NULL,
    |    Отличия.Номенклатура,
    |    Отличия.НомерСтроки,
    |    NULL,
    |    Отличия.Designator,
    |    NULL,
    |    Отличия.MyData,
    |    NULL,
    |    Отличия.Quantity,
    |    NULL
    |ИЗ
    |    Отличия КАК Отличия
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия2.Ссылка,
    |    NULL,
    |    Отличия2.Номенклатура,
    |    Отличия2.НомерСтроки,
    |    NULL,
    |    Отличия2.Designator,
    |    NULL,
    |    Отличия2.MyData,
    |    NULL,
    |    Отличия2.Quantity,
    |    NULL
    |ИЗ
    |    Отличия2 КАК Отличия2";
    Запрос3.УстановитьПараметр("Ссылка", ОтВерсии);
    Запрос3.УстановитьПараметр("Ссылка2", КВерсии);
    тз = Запрос3.Выполнить().Выгрузить();
    Для каждого Стр Из тз Цикл
        // Сравним реквизиты для одинаковых номенклатур
        Если Стр.Ссылка1 <> Null Тогда
            Если НЕ ((Стр.Designator = Стр.Designator1) И (Стр.MyData = Стр.MyData1) И (Стр.Quantity = Стр.Quantity1)) Тогда
                // Если хотя бы что-то отличается выводим
                НоваяСтрока = ТаблСравнения.Добавить();
                // Что выводить ... хз, заполним реквизиты, что есть
                НоваяСтрока.Номенклатура    = Стр.Номенклатура;
                НоваяСтрока.Quantity        = Стр.Quantity; // а можно Quantity1
            КонецЕсли;
        Иначе
            // Оставшиеся просто тупо выводим, т.к. они не совпали
            НоваяСтрока = ТаблСравнения.Добавить();
            НоваяСтрока.Номенклатура    = Стр.Номенклатура;
            НоваяСтрока.Quantity        = Стр.Quantity;
        КонецЕсли;
    КонецЦикла;
    
    
    Возврат;
    
     // Вставить содержимое обработчика.
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьСравнениеКабель(Команда)
    Элементы.ВыполнитьСравнениеКабель.ЦветФона=WebЦвета.Зеленый;

     ВыполнитьСравнениеКабельНаСервере();
КонецПроцедуры

&НаСервере
Процедура ВыполнитьСравнениеСборкаНаСервере()
    ТЗнач.Загрузить(ОтВерсии.ТаблицаСборка.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач2.Загрузить(КВерсии.ТаблицаСборка.Выгрузить(,"Номенклатура,Quantity"));
    ТЗнач.Сортировать("Номенклатура");
    ТЗнач2.Сортировать("Номенклатура");
       Запрос4 = Новый Запрос;
    Запрос4.Текст = "ВЫБРАТЬ
    |    СпецификацияТКТаблицаСборка.Ссылка,
    |    СпецификацияТКТаблицаСборка2.Ссылка КАК Ссылка1,
    |    СпецификацияТКТаблицаСборка.Номенклатура,
    |    СпецификацияТКТаблицаСборка.НомерСтроки,
    |    СпецификацияТКТаблицаСборка2.НомерСтроки КАК НомерСтроки1,
    |    СпецификацияТКТаблицаСборка.Designator,
    |    СпецификацияТКТаблицаСборка2.Designator КАК Designator1,
    |    СпецификацияТКТаблицаСборка.MyData,
    |    СпецификацияТКТаблицаСборка2.MyData КАК MyData1,
    |    СпецификацияТКТаблицаСборка.Quantity,
    |    СпецификацияТКТаблицаСборка2.Quantity КАК Quantity1
    |ПОМЕСТИТЬ ОдинаковаяНоменклатура
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаСборка КАК СпецификацияТКТаблицаСборка
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацияТК.ТаблицаСборка КАК СпецификацияТКТаблицаСборка2
    |        ПО СпецификацияТКТаблицаСборка.Номенклатура = СпецификацияТКТаблицаСборка2.Номенклатура
    |ГДЕ
    |    СпецификацияТКТаблицаСборка.Ссылка = &Ссылка
    |    И СпецификацияТКТаблицаСборка2.Ссылка = &Ссылка2
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаСборка.Ссылка,
    |    СпецификацияТКТаблицаСборка.НомерСтроки,
    |    СпецификацияТКТаблицаСборка.Designator,
    |    СпецификацияТКТаблицаСборка.MyData,
    |    СпецификацияТКТаблицаСборка.Quantity,
    |    СпецификацияТКТаблицаСборка.Номенклатура
    |ПОМЕСТИТЬ Отличия
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаСборка КАК СпецификацияТКТаблицаСборка
    |ГДЕ
    |    СпецификацияТКТаблицаСборка.Ссылка = &Ссылка
    |    И НЕ СпецификацияТКТаблицаСборка.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СпецификацияТКТаблицаСборка.Ссылка,
    |    СпецификацияТКТаблицаСборка.НомерСтроки,
    |    СпецификацияТКТаблицаСборка.Designator,
    |    СпецификацияТКТаблицаСборка.MyData,
    |    СпецификацияТКТаблицаСборка.Quantity,
    |    СпецификацияТКТаблицаСборка.Номенклатура
    |ПОМЕСТИТЬ Отличия2
    |ИЗ
    |    Справочник.СпецификацияТК.ТаблицаСборка КАК СпецификацияТКТаблицаСборка
    |ГДЕ
    |    СпецификацияТКТаблицаСборка.Ссылка = &Ссылка2
    |    И НЕ СпецификацияТКТаблицаСборка.Номенклатура В
    |                (ВЫБРАТЬ
    |                    ОдинаковаяНоменклатура.Номенклатура КАК Номенклатура
    |                ИЗ
    |                    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура)
    |;
    
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ОдинаковаяНоменклатура.Ссылка,
    |    ОдинаковаяНоменклатура.Ссылка1,
    |    ОдинаковаяНоменклатура.Номенклатура,
    |    ОдинаковаяНоменклатура.НомерСтроки,
    |    ОдинаковаяНоменклатура.НомерСтроки1,
    |    ОдинаковаяНоменклатура.Designator,
    |    ОдинаковаяНоменклатура.Designator1,
    |    ОдинаковаяНоменклатура.MyData,
    |    ОдинаковаяНоменклатура.MyData1,
    |    ОдинаковаяНоменклатура.Quantity,
    |    ОдинаковаяНоменклатура.Quantity1
    |ИЗ
    |    ОдинаковаяНоменклатура КАК ОдинаковаяНоменклатура
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия.Ссылка,
    |    NULL,
    |    Отличия.Номенклатура,
    |    Отличия.НомерСтроки,
    |    NULL,
    |    Отличия.Designator,
    |    NULL,
    |    Отличия.MyData,
    |    NULL,
    |    Отличия.Quantity,
    |    NULL
    |ИЗ
    |    Отличия КАК Отличия
    
    |ОБЪЕДИНИТЬ ВСЕ
    
    |ВЫБРАТЬ
    |    Отличия2.Ссылка,
    |    NULL,
    |    Отличия2.Номенклатура,
    |    Отличия2.НомерСтроки,
    |    NULL,
    |    Отличия2.Designator,
    |    NULL,
    |    Отличия2.MyData,
    |    NULL,
    |    Отличия2.Quantity,
    |    NULL
    |ИЗ
    |    Отличия2 КАК Отличия2";
    Запрос4.УстановитьПараметр("Ссылка", ОтВерсии);
    Запрос4.УстановитьПараметр("Ссылка2", КВерсии);
    тз = Запрос4.Выполнить().Выгрузить();
    Для каждого Стр Из тз Цикл
        // Сравним реквизиты для одинаковых номенклатур
        Если Стр.Ссылка1 <> Null Тогда
            Если НЕ ((Стр.Designator = Стр.Designator1) И (Стр.MyData = Стр.MyData1) И (Стр.Quantity = Стр.Quantity1)) Тогда
                // Если хотя бы что-то отличается выводим
                НоваяСтрока = ТаблСравнения.Добавить();
                // Что выводить ... хз, заполним реквизиты, что есть
                НоваяСтрока.Номенклатура    = Стр.Номенклатура;
                НоваяСтрока.Quantity        = Стр.Quantity; // а можно Quantity1
            КонецЕсли;
        Иначе
            // Оставшиеся просто тупо выводим, т.к. они не совпали
            НоваяСтрока = ТаблСравнения.Добавить();
            НоваяСтрока.Номенклатура    = Стр.Номенклатура;
            НоваяСтрока.Quantity        = Стр.Quantity;
        КонецЕсли;
    КонецЦикла;
    
    
    Возврат;

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

&НаКлиенте
Процедура ВыполнитьСравнениеСборка(Команда)
    Элементы.ВыполнитьСравнениеСборка.ЦветФона=WebЦвета.Зеленый;

     ВыполнитьСравнениеСборкаНаСервере();
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьСравнениеВСЕ(Команда)
    ВыполнитьСравнениеСборка(Команда);
    ВыполнитьСравнениеКабель(Команда) ;
    ВыполнитьСравнениеDP(Команда)      ;
    ВыполнитьСравнение(Команда)         ;

     // Вставить содержимое обработчика.
КонецПроцедуры
1 Олеся92
 
17.12.14
08:23
2 kosts
 
17.12.14
08:31
Добавь реквизит в нижнюю таблицу, который будешь заполнять в зависимости от источника. Потом условное оформление.
3 MSOliver
 
17.12.14
08:32
начнем с фото...
4 DrZombi
 
гуру
17.12.14
08:36
Фото, творит чудеса :)
5 DrZombi
 
гуру
17.12.14
08:37
И потом, можно будет нарисовать линию и прозрачным и в виде Мишки :)
6 Олеся92
 
17.12.14
08:40
(3) Какое фото?
7 ilyavorobyev
 
17.12.14
08:42
(6) в вашем профиле
8 ilyavorobyev
 
17.12.14
08:42
Шикарные комментарии
// Что выводить ... хз, заполним реквизиты, что есть
9 MSOliver
 
17.12.14
08:49
(6) традиции данного ресурса, что поделать)
10 Олеся92
 
17.12.14
08:51
Пробовала так ;
Для каждого НоваяСтрока из ТаблСравнения Цикл
         НоваяСтрока.ЦветФона = Webцвета.Древесный;
         КонецЦикла;
Пишет ошибку  "ЦветФона".
11 DrZombi
 
гуру
17.12.14
08:52
(10) Потому, что вы обращаетесь к Данным БД, а не к форме :)
12 Олеся92
 
17.12.14
08:57
А как тогда ? ....Нужно же раскрасить Строку в зависимости от ее родителя (которым выступает таблица из которой взялась строка )
13 Олеся92
 
17.12.14
08:57
Есть может пример какой ?
14 MSOliver
 
17.12.14
09:01
... а если попробовать раскрашивать условным оформлением?
15 DrZombi
 
гуру
17.12.14
09:20
(13) Используй Условное оформление. Оно находится на форме.
http://lvkr.ru/bcWWS4.jpg
16 Олеся92
 
17.12.14
10:33
Сделала так, не получается:(
http://lvkr.ru/f/saxuTA/1024.jpg
17 Любопытная
 
17.12.14
10:39
(16) а условие?
18 Олеся92
 
17.12.14
10:42
(17) Я что то маленько не догоняю, а какое должно быть ?
19 anatoly
 
17.12.14
10:42
(7) молодая рипли?
20 Олеся92
 
17.12.14
10:44
(19) что?
21 gerthog
 
17.12.14
11:01
(20) Не обращай внимание на (19)
По сабжу, в (2) предложили добавить реквизит "ИсточникСтроки", затем в условном оформлении прописываешь условия типа того:
Если ИсточникСтроки = А Тогда
Цвет = Желтый
Иначе
Цвет = Розовый
КонецЕсли
22 Олеся92
 
17.12.14
11:04
(21) "ИсточникСтроки" это будет реквизит формы или таблЗнач?
23 gerthog
 
17.12.14
11:07
(22)Реквизит нижней таблЗнач
24 Олеся92
 
17.12.14
11:15
(21) Создала источникСтроки Установила тип "УсловноеОформление"  а где прописывать условие?
На форме обработке ? или где ?
25 vicof
 
17.12.14
11:19
(24) В условном оформлении, уже 20 раз написали.
26 Олеся92
 
17.12.14
11:35
http://lvkr.ru/f/qMJtuw/1280.jpg а что выбирать ? и где писать условие?
27 vicof
 
17.12.14
11:45
(26) читай (2) и (21)
28 Олеся92
 
17.12.14
12:01
(27) Ну а на скрине я не так делаю?
29 ssh2QQ6
 
17.12.14
12:05
(28) ты в Москве?
30 Олеся92
 
17.12.14
12:06
(29) Нет челябинск
31 Олеся92
 
17.12.14
12:07
Можете помочь я обработку скину я что то туплю маленько.
32 ssh2QQ6
 
17.12.14
12:08
(30) Я бы тебя направил в нужное русло, будь ты в Москве.
33 Олеся92
 
17.12.14
12:09
Просто не когда не сталкивалась с подобной задачей:)
34 Олеся92
 
17.12.14
12:14
[url=http://www.fayloobmennik.net/4407546]СравнениеТаблиц - копия.epf[/url]
35 anaed
 
17.12.14
12:15
(33)
1) добавь в таблицу сравнения реквизит источникстроки
2) в зависимости от того из какой таблицы строка, указывай 1 или 2 (а или б, x или y, как хочешь в общем)
3) в отборе указывай условие табсравнения.источникстроки =


Судя по вопросам первоначально обработку писала не ты?
36 Олеся92
 
17.12.14
12:17
(35) Я писала ...запрос в СКД делала.
37 Олеся92
 
17.12.14
12:26
(35) Идею поняла, а можно поподробнее 2 пункт, в  какой процедуре прописывать?
38 Жан Пердежон
 
17.12.14
12:28
(37) не в процедуре, а в http://lvkr.ru/f/qMJtuw/1280.jpg
а чтобы это сделать, у тебя в запросе должна быть колонка, в которой указано, к какой таблице принадлежит строка (как угодно, хотя бы цифрами: 1-первая таблица, 2-вторая)
39 anaed
 
17.12.14
12:40
(37) если поняла идею и сама писала, зачем поподробнее?)
когда из отличия и отличия2 собираешь общую таблицу можно понять из какой таблицы тянется и промаркировать.
40 Олеся92
 
17.12.14
13:25
Запрос.УстановитьПараметр("Ссылка", ОтВерсии);
    Запрос.УстановитьПараметр("Ссылка2", КВерсии);
Получается у меня Ссылка это левая табл, а ссылка2 правая.
А как дальше то написать?
41 kosts
 
17.12.14
14:50
(0) Можно добавить условное оформление программно. При этот вид сравнения выбрать в списке, а список заполнить например ссылками из первой таблицы.
42 Олеся92
 
18.12.14
07:21
Для каждого Ссылка из ТЗнач Цикл
         НоваяСтрока.ЦветФона = Webцвета.Красный
         КонецЦикла;

Написала так, тоже не работает
43 kosts
 
18.12.14
08:17
44 Олеся92
 
19.12.14
07:29
(43) А процедуру прописывать в общем модуле?