14 янв. 2018 г.

Найти дубли запросом

Есть в РегистреСведений измерение КодИКС, нужно найти дубли значений в поля  

ВЫБРАТЬ
Штрихкоды.Штрихкод КАК Штрихкод,
Штрихкоды.Владелец КАК Владелец,
Штрихкоды.КодИКС КАК КодИКС
ИЗ
РегистрСведений.Штрихкоды КАК Штрихкоды
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды1
ПО (Штрихкоды.Владелец <> Штрихкоды1.Владелец
И Штрихкоды.КодИКС = Штрихкоды1.КодИКС)
 
УПОРЯДОЧИТЬ ПО
КодИКС


Сохранить значения формы

&НаСервере
Процедура СохранитьЗначенияФормы()
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ДатаВыгрузки", Объект.ДатаВыгрузки);
ПараметрыФормы.Вставить("rrc", Объект.rrc);

ХранилищеОбщихНастроек.Сохранить("ВыгрузкаВРозетку","ПараметрыФормы",ПараметрыФормы, , Пользователи.ТекущийПользователь());
КонецПроцедуры

&НаСервере
Процедура ВосстановитьЗначенияФормы()
ПараметрыФормы = ХранилищеОбщихНастроек.Загрузить("ВыгрузкаВРозетку","ПараметрыФормы");

Если ПараметрыФормы = Неопределено Тогда 
            Возврат; 
КонецЕсли; 
Если ПараметрыФормы.Свойство("ДатаВыгрузки ") Тогда
Объект.Товары.Загрузить(ПараметрыФормы.Товары);
КонецЕсли;  
Если ПараметрыФормы.Свойство("rrc") Тогда
Объект.rrc = ПараметрыФормы.rrc;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии()
СохранитьЗначенияФормы();
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
            ВосстановитьЗначенияФормы();
КонецПроцедуры


Перечисления по COM

Для получения значения Перечисления по COM подключению

стрСоединения = "Srvr="+АдресСервера+";Ref="+ИмяБД+";usr="+Логин+";pwd='"+Пароль+"'";
v8 = Новый COMОбъект("V83.COMConnector");
Подключение= v8.Connect(стрСоединения);

СтавкаНДС = Подключение.XMLСтрока(выборка.СтавкаНДС);
Если Не ПустаяСтрока(СтавкаНДС) Тогда
     Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС[СтавкаНДС];
КонецЕсли;

Перебрать каждую строку MS SQL

Что бы перебрать строки из БД TransitN таблицы EXBARC MS SQL и для каждой строки обновить значения поля DELFLAG в значение 1 нужно выполнить данную конструкцию

declare some_cursor cursor
for
       select  PACKID, DELFLAG from EXBARC
open some_cursor
       declare  @counter int
       declare  @int_var int, @string_var varchar(100)
       set @counter = 0
fetch next from some_cursor INTO  @int_var, @string_var
while @@FETCH_STATUS = 0
begin
       set @counter = @counter + 1
       UPDATE [TransitN].[dbo].[EXBARC] SET [DELFLAG] = 1 WHERE [PACKID] = @int_var
       fetch next from some_cursor INTO  @int_var, @string_var
end
select @counter as final_count
       close some_cursor
deallocate some_cursor


где:
select  PACKID, DELFLAG from EXBARC – указываем поля которые нужно выбрать и таблица
  
declare  @counter int

declare  @int_var int, @string_var varchar(100) – объявляем количество переменных, количеству выше выбранных полей
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07