//------------------------------------------------------------------------------------------------------------ Процедура ТПКраски_НачалоПеретаскивания(ТабличноеПоле, ДопустимыеДействия, Значение, Колонка, ТипРегиона, ТипЦели) ДопустимыеДействия=0; Если ТипРегиона=3 Тогда ИдентификаторКолонки=Колонка.Имя; Если (ИдентификаторКолонки="Краска") Тогда ДопустимыеДействия=1; ПеретаскиваемоеЗначение=СоздатьОбъект("АссоциативныйВектор"); КонтекстФормы=глВернутьКонтекст(Контекст); ИндексированнаяТаблица=ТабличноеПоле.ПоставщикДанных.ИндексированнаяТаблица; ПеретаскиваемоеЗначение.Добавить(КонтекстФормы,"КонтекстФормы"); ПеретаскиваемоеЗначение.Добавить(ПечатнаяМашина,"ПечатнаяМашина"); ПеретаскиваемоеЗначение.Добавить(ИндексированнаяТаблица,"ИндексированнаяТаблица"); ПеретаскиваемоеЗначение.Добавить(ТабличноеПоле.ВыделенныеСтроки,"ВыделенныеСтроки"); Значение=ПеретаскиваемоеЗначение; КонецЕсли; КонецЕсли; КонецПроцедуры //------------------------------------------------------------------------------------------------------------ Процедура ТПКраски_ПроверкаПеретаскивания(ТабличноеПоле,Действие, Значение, СтрокаТП, КолонкаТП, ТипРегиона, ТипЦели) Действие=0; Если ТипРегиона=3 Тогда Если ТипЗначенияСтр(Значение)="АссоциативныйВектор" Тогда Если Значение.НайтиКлюч("ПечатнаяМашина")=1 Тогда Если Значение.ПечатнаяМашина=ПечатнаяМашина Тогда Действие=1; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры //------------------------------------------------------------------------------------------------------------ Процедура ТПКраски_ОкончаниеПеретаскивания(ТабличноеПоле, Действие, Значение, Колонка, ТипРегиона) Действие=0; Если ТипРегиона=3 Тогда Если ТипЗначенияСтр(Значение)="АссоциативныйВектор" Тогда Действие=1; КонецЕсли; КонецЕсли; КонецПроцедуры //------------------------------------------------------------------------------------------------------------ Процедура ТПКраски_Перетаскивание(ТабличноеПоле,Действие, Значение, СтрокаТП, КолонкаТП, ТипРегиона) Если ТипРегиона=3 Тогда ПеретаскиваемоеЗначение=Значение; Если ТипЗначенияСтр(ПеретаскиваемоеЗначение)="АссоциативныйВектор" Тогда КонтекстФормы=глВернутьКонтекст(Контекст); Если ПеретаскиваемоеЗначение.КонтекстФормы=КонтекстФормы Тогда Действие=0; Возврат; КонецЕсли; Если ПеретаскиваемоеЗначение.ПечатнаяМашина<>ПечатнаяМашина Тогда Действие=0; Возврат; КонецЕсли; ИндексированнаяТаблица=ПеретаскиваемоеЗначение.ИндексированнаяТаблица; ВыделенныеСтроки=ПеретаскиваемоеЗначение.ВыделенныеСтроки; КвоВыделенныхСтрок=ВыделенныеСтроки.Количество(); Для НЗ=0 По КвоВыделенныхСтрок-1 Цикл СтараяКраска=""; ТекАнилокс=""; НСВПереданнойТаблице=ВыделенныеСтроки.Получить(НЗ); НоваяКраска=ИндексированнаяТаблица.Получить(НСВПереданнойТаблице,"Краска"); НовыйПроцентЗапечатки=ИндексированнаяТаблица.Получить(НСВПереданнойТаблице,"ПроцентЗапечатки"); НовыйКвоФотоФорм=0; НовыйПроцентСвязующего=ИндексированнаяТаблица.Получить(НСВПереданнойТаблице,"ПроцентСвязующего"); НовыйАнилокс=ИндексированнаяТаблица.Получить(НСВПереданнойТаблице,"Анилокс"); Если ТипЗначенияСтр(НовыйАнилокс)<>"Справочник" Тогда НовыйАнилокс=""; ИначеЕсли НовыйАнилокс.Владелец<>ПечатнаяМашина Тогда НовыйАнилокс=""; КонецЕсли; Если фЗапечаткаТекущДизайна=1 Тогда ИзменитьКраскуВоВсехДизайновИзОбщейТаблицыКрасок(СтараяКраска,НоваяКраска,НовыйАнилокс); КонецЕсли; Если фЗапечаткаТекущДизайна=2 Тогда ИТЗТехнолог=ПДИнТбТехнолог.Данные.ИндексированнаяТаблица; ТекСтрока=ПДИнТбТехнолог.Данные.ТекущаяСтрока; ТекДизайн=ИТЗТехнолог.ПолучитьЗначение(ТекСтрока,"Дизайн"); Если ТабличныеЧасти.ПараметрыДизайнов.НомерИндекса("Дизайн")=0 Тогда ТабличныеЧасти.ПараметрыДизайнов.ДобавитьИндекс("Дизайн","Дизайн"); КонецЕсли; НС=ТабличныеЧасти.ПараметрыДизайнов.НайтиСтроку("Дизайн",ТекДизайн); Если НС=0 Тогда Возврат; КонецЕсли; ТекЗакачик=ТабличныеЧасти.ПараметрыДизайнов.Получить(НС,"Заказчик"); Если ТабличныеЧасти.Краски.НомерИндекса("ДизайнКраска")=0 Тогда ТабличныеЧасти.Краски.ДобавитьИндекс("ДизайнКраска","Дизайн,Краска"); КонецЕсли; спКлюч=СоздатьОбъект("СписокЗначений"); спКлюч.ДобавитьЗначение(ТекДизайн,"Дизайн"); спКлюч.ДобавитьЗначение(НоваяКраска,"Краска"); НС=ТабличныеЧасти.Краски.НайтиСтроку("ДизайнКраска",спКлюч,,1); Если НС=0 Тогда ТабличныеЧасти.Краски.НоваяСтрока(); ТабличныеЧасти.Краски.Заказчик=ТекЗакачик; ТабличныеЧасти.Краски.Дизайн=ТекДизайн; ТабличныеЧасти.Краски.Краска=НоваяКраска; КонецЕсли; ТабличныеЧасти.Краски.Анилокс=НовыйАнилокс; ТабличныеЧасти.Краски.ПроцентЗапечатки=НовыйПроцентЗапечатки; ТабличныеЧасти.Краски.ПроцентСвязующего=НовыйПроцентСвязующего; КонецЕсли; КонецЦикла; Действие=1; ОбновитьТаблицыДокумента(); КонецЕсли; КонецЕсли; КонецПроцедуры //------------------------------------------------------------------------------------------------------------