daily pastebin goal
31%
SHARE
TWEET

Копирование строк

Thesilverwolf Mar 29th, 2018 80 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Функция КопироватьНаСервере(МассивСтрок)
  2.     // Вставить содержимое обработчика.
  3.     Если ЗначениеЗаполнено(ДокументЗаявки) Тогда
  4.         ТЧ = РеквизитФормыВЗначение("Объект");
  5.         ДокументСсылочка = ДокументЗаявки.Ссылка;
  6.         Перфоманс = ДокументСсылочка.ПолучитьОбъект();
  7.         Для каждого Элемент из МассивСтрок ЦИКЛ
  8.             СтрокаТовара = Перфоманс.Товары.Добавить();
  9.             ТЧ.Товары[Элемент].Поставлен = ЛОЖЬ;
  10.             ЗаполнитьЗначенияСвойств(СтрокаТовара,ТЧ.Товары[Элемент]);
  11.             КонецЦикла;  
  12.         Перфоманс.Записать(РежимЗаписиДокумента.Запись);
  13.     Иначе
  14.         Сообщить("Не выбрана заявка для копирования выделенных позиций");
  15.     КонецЕсли;    
  16. КонецФункции
  17.  
  18. Функция ОбновитьДокумент()
  19.     ЭтотОбъект.Записать();
  20.     ЭтотОбъект.Прочитать();
  21. КонецФункции
  22.  
  23. Функция Недубликат()
  24.     Если  ДокументЗаявки.Ссылка <> Объект.Ссылка Тогда
  25.         Возврат Истина;
  26.     Иначе
  27.         Возврат ЛОЖЬ;
  28.     КонецЕсли;
  29. КонецФункции
  30.  
  31. &НаКлиенте
  32. Процедура Копировать(Команда)  
  33.     Если ЗначениеЗаполнено(ДокументЗаявки) Тогда
  34.     Если Недубликат() Тогда 
  35.         Если УдалитьПослеКопирования = ИСТИНА Тогда
  36.             Ответ = Вопрос("Данная операция:"+Символы.ПС+"1. Сохранит все изменения в заявке"+Символы.ПС+"2. Скопирует позиции"+Символы.ПС+"3. Удалит позиции, и запишет изменения"+Символы.ПС+"Хотите продолжить?",РежимДиалогаВопрос.ДаНет,0,КодВозвратаДиалога.Да,"Внимание");
  37.         Иначе
  38.             Ответ = Вопрос("Данная операция:"+Символы.ПС+"1. Сохранит все изменения в заявке"+Символы.ПС+"2. Скопирует позиции"+Символы.ПС+"Хотите продолжить?",РежимДиалогаВопрос.ДаНет,0,КодВозвратаДиалога.Да,"Внимание");
  39.         КонецЕсли;
  40.        
  41.         Если Ответ = КодВозвратаДиалога.Да Тогда
  42.             ОбновитьДокумент();
  43.             ВыделенныеСтроки = Элементы.Товары.ВыделенныеСтроки;
  44.             КопироватьНаСервере(ВыделенныеСтроки);
  45.            
  46.             Список = Новый СписокЗначений;
  47.             Список.ЗагрузитьЗначения(ВыделенныеСтроки);
  48.             Список.СортироватьПоЗначению(НаправлениеСортировки.Убыв);
  49.             ВыделенныеСтроки = Список.ВыгрузитьЗначения();
  50.            
  51.            
  52.             Если УдалитьПослеКопирования = ИСТИНА Тогда
  53.                 Для каждого Индекс из ВыделенныеСтроки Цикл
  54.                     Объект.Товары.Удалить(Индекс);
  55.                    
  56.                 КонецЦикла;
  57.                 ОбновитьДокумент();
  58.             КонецЕсли;
  59.         КонецЕсли;
  60.     Иначе
  61.         Сообщить("Ай-яй, нельзя копировать позиции в заявку откуда идет копирование");
  62.         КонецЕсли;
  63.     Иначе
  64.         Сообщить("Не выбрана заявка для копирования выделенных позиций");
  65.     КонецЕсли;
  66.    
  67.    
  68.    
  69. КонецПроцедуры
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top