|
уникальность | ☑ | ||
---|---|---|---|---|
0
del12
28.02.12
✎
11:50
|
как сделать чтобы артикул был уникальным?не повторялся?
|
|||
1
Ненавижу 1С
гуру
28.02.12
✎
11:51
|
1С это до сих пор не может, надо программировать
|
|||
2
del12
28.02.12
✎
11:51
|
это уже понял
|
|||
3
Ненавижу 1С
гуру
28.02.12
✎
11:53
|
проверяешь перед записью запросом наличие такого артикула
|
|||
4
del12
28.02.12
✎
11:53
|
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; Если Не ЭтоГруппа Тогда Если ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга Тогда ИспользоватьУпаковки = Ложь; ВестиУчетПоГТД = Ложь; ПодакцизныйТовар = Ложь; //СтруктураПоискаДублей.Вставить("Артикул", "=") ; НаборУпаковок = Справочники.НаборыУпаковок.ПустаяСсылка(); Вес = 0; СкладскаяГруппа = Справочники.СкладскиеГруппыНоменклатуры.ПустаяСсылка(); Качество = Перечисления.ГрадацииКачества.Новый; Иначе Если Не ИспользоватьУпаковки Тогда НаборУпаковок = Справочники.НаборыУпаковок.ПустаяСсылка(); КонецЕсли; Если ЗначениеЗаполнено(НаборУпаковок) И НаборУпаковок <> Справочники.НаборыУпаковок.ИндивидуальныйДляНоменклатуры И ЕдиницаИзмерения <> НаборУпаковок.ЕдиницаИзмерения Тогда ЕдиницаИзмерения = НаборУпаковок.ЕдиницаИзмерения; КонецЕсли; КонецЕсли; ФормироватьРабочееНаименование = Не (ДополнительныеСвойства.Свойство("РабочееНаименованиеСформировано")); ФормироватьНаименованиеДляПечати = Не (ДополнительныеСвойства.Свойство("НаименованиеДляПечатиСформировано")); Если ФормироватьРабочееНаименование Или ФормироватьНаименованиеДляПечати Тогда СтруктураРеквизитов = Новый Структура; СтруктураРеквизитов.Вставить("ШаблонРабочегоНаименованияНоменклатуры"); СтруктураРеквизитов.Вставить("ЗапретРедактированияРабочегоНаименованияНоменклатуры"); СтруктураРеквизитов.Вставить("ШаблонНаименованияДляПечатиНоменклатуры"); СтруктураРеквизитов.Вставить("ЗапретРедактированияНаименованияНоменклатурыДляПечати"); РеквизитыОбъекта = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(ВидНоменклатуры, СтруктураРеквизитов); Если ФормироватьРабочееНаименование И ЗначениеЗаполнено(РеквизитыОбъекта.ШаблонРабочегоНаименованияНоменклатуры) И (РеквизитыОбъекта.ЗапретРедактированияРабочегоНаименованияНоменклатуры Или Не ЗначениеЗаполнено(Наименование)) Тогда ШаблонНаименования = РеквизитыОбъекта.ШаблонРабочегоНаименованияНоменклатуры; Наименование = Справочники.ВидыНоменклатуры.СформироватьНаименованиеПоШаблону(ШаблонНаименования, ЭтотОбъект); КонецЕсли; Если ФормироватьНаименованиеДляПечати И ЗначениеЗаполнено(РеквизитыОбъекта.ШаблонНаименованияДляПечатиНоменклатуры) И (РеквизитыОбъекта.ЗапретРедактированияНаименованияНоменклатурыДляПечати Или Не ЗначениеЗаполнено(НаименованиеПолное)) Тогда ШаблонНаименованияДляПечати = РеквизитыОбъекта.ШаблонНаименованияДляПечатиНоменклатуры; НаименованиеПолное = Справочники.ВидыНоменклатуры.СформироватьНаименованиеПоШаблону(ШаблонНаименованияДляПечати, ЭтотОбъект); КонецЕсли; КонецЕсли; Если Не ЗначениеЗаполнено(Наименование) Тогда ТекстИсключения = НСтр("ru='Поле ""Рабочее наименование"" не заполнено'"); ВызватьИсключение ТекстИсключения; Отказ = Истина; КонецЕсли; КонтролироватьРабочееНаименование = Константы.КонтролироватьУникальностьРабочегоНаименованияНоменклатурыИХарактеристик.Получить() И Не (ДополнительныеСвойства.Свойство("РабочееНаименованиеПроверено")); Если КонтролироватьРабочееНаименование И Не Отказ Тогда НаименованиеУникально = Справочники.Номенклатура.ПроверитьУникальностьРабочегоНаименования(ЭтотОбъект); Если Не НаименованиеУникально Тогда ТекстИсключения = НСтр("ru='Значение поля ""Рабочее наименование"" не уникально'"); ВызватьИсключение ТекстИсключения; Отказ = Истина; КонецЕсли; КонецЕсли; КонецЕсли; // Обработка смены пометки удаления. Если Не ЭтоНовый() И Не ЭтоГруппа Тогда Если ПометкаУдаления <> ОбщегоНазначения.ПолучитьЗначениеРеквизита(Ссылка, "ПометкаУдаления") Тогда Справочники.КлючиАналитикиУчетаНоменклатуры.УстановитьПометкуУдаления(Новый Структура("Номенклатура", Ссылка), ПометкаУдаления); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
5
Рэйв
28.02.12
✎
11:54
|
(0)Переименуй шапку колонки код в "Артикул" и включи уникальность
|
|||
6
del12
28.02.12
✎
11:55
|
переименовать не прокатит.тк артикулы уже создано много,перенеслись с 7
|
|||
7
Рэйв
28.02.12
✎
11:56
|
(6)Если они уникальны до сих пор - обработкой присвой их коду каждого элемента и потом юзай уже код
|
|||
8
del12
28.02.12
✎
11:58
|
к сожал уже не уникальны
|
|||
9
del12
28.02.12
✎
11:58
|
как запрос написать?
|
|||
10
FIXXXL
28.02.12
✎
12:13
|
(9) почитай в СП про
НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>) |
|||
11
del12
28.02.12
✎
12:35
|
(
|
|||
12
Jaffar
28.02.12
✎
12:50
|
(8) так сначала эту проблему реши.
|
|||
13
del12
02.03.12
✎
09:38
|
СтруктураПоискаДублей.Вставить("Артикул", "=");
так не прокатит? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |