|
Автоматическое создания формирования Артикула в справочники номенклатура |
☑ |
0
Solovij
24.09.18
✎
13:27
|
Доброго Дня! УПП 1.3 (1.3.110.2) При создании новой номенклатуры нужно, что бы автоматически заполнялся Артикул, написал процедуру, и вставил нее ПередЗаписью
но при сохранении конфигуратор ругается пишет:
Справочник.Номенклатура.МодульОбъекта(169,79)}: Неопознанный оператор
| Справочник.Номенклатура.Артикул ПОДОБНО ; ";MK[0-9][0-9][0-9][0-9][0-9][0-9]<<?>>"; (Проверка: Толстый клиент (обычное приложение))
Подскажите что я делаю не так
Процедура ЗаполнитьАртикул(ЭтотОбъект);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("MK[0-9][0-9][0-9][0-9][0-9][0-9]");
Выборка = Запрос.Текст="ВЫБРАТЬ
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Справочник.Номенклатура.Артикул ПОДОБНО ; ";MK[0-9][0-9][0-9][0-9][0-9][0-9]";
|УПОРЯДОЧИТЬ ПО
| Артикул УБЫВ";
Запрос.Выполнить().Выбрать();
Если Запрос.Следующий() Тогда
НомерЧислом = Число(Прав(Выборка.Артикул,6))+1;
НовАртикул = "МК"+Формат(НомерЧислом,"ЧЦ=6; ЧВН=; ЧГ=");
ИНАЧЕ
НовАртикул = "МК000001";
КонецЕсли;
КонецПроцедуры
|
|
1
Tatitutu
24.09.18
✎
13:32
|
%% - возьми и будет тебе счастье
|
|
2
SweetaAngel
24.09.18
✎
13:33
|
Запрос.УстановитьПараметр("Префикс", "MK"+"%");
Справочник.Номенклатура.Артикул ПОДОБНО &Префикс
|
|
3
Solovij
24.09.18
✎
16:19
|
запрос исправил, спасибо за подсказку теперь при записи пишет
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{Справочник.Номенклатура.МодульОбъекта(175)}: Метод объекта не обнаружен (Следующий)
Запрос.УстановитьПараметр("Префикс", "MK"+"%");
Выборка = Запрос.Текст="ВЫБРАТЬ
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Справочник.Номенклатура.Артикул ПОДОБНО &Префикс
|УПОРЯДОЧИТЬ ПО
| Артикул УБЫВ";
// Запрос.Выполнить().Выбрать();
Выборка = Запрос.Текст="ВЫБРАТЬ";
Если Запрос.Следующий() Тогда
НомерЧислом = Число(Прав(Выборка.Артикул,8))+1;
НовАртикул = "МК"+Формат(НомерЧислом,"ЧЦ=8; ЧВН=; ЧГ=");
ИНАЧЕ
НовАртикул = "МК00000001";
КонецЕсли;
|
|
4
Cool_Profi
24.09.18
✎
16:20
|
Выборка = Запрос.Текст="ВЫБРАТЬ";
Это что такое? О_о
|
|
5
Вафель
24.09.18
✎
16:25
|
(2) А зачем складывать "MK"+"%", когда можно 1 строкой?
|
|
6
Solovij
24.09.18
✎
16:26
|
Это что такое? О_о
Извените что то я не допонял, что Вы имеете ввиду
|
|
7
Solovij
24.09.18
✎
16:27
|
подскажите как тогда
|
|
8
SweetaAngel
24.09.18
✎
18:43
|
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать()
Если Выборка.Следующий() Тогда
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший