Проверка на заполнение
В таблицу значений заносятся данные через запрос из регистра сведений. Далее необходимо проводить сопоставление номенклатур контрагента и собственной. Как при смене страницы можно организовать проверку заполнения характеристики номенклатуры, если она есть в собственном справочнике?
Прикрепленные файлы:
По теме из базы знаний
- Усовершенствованная проверка заполнения реквизитов
- Проверка заполнения полей одной строкой
- Проверка заполнения, дозаполнение справочников, документов перед записью, при проведении
- Программная проверка заполнения реквизитов номенклатуры перед записью. УТ 11.5, КА 2.5
- Проверка заполнения приходных накладных, денежных документов и заказов
Найденные решения
(12)
Для Каждого СтрокаТаблицы Из ТаблицаСопоставления Цикл
Если ЗначениеЗаполнено(СтрокаТаблицы.Номенклатура) Тогда
Если ЕстьХарактеристики(СтрокаТаблицы.Номенклатура) и НЕ ЗначениеЗаполнено(СтрокаТаблицы.ХарактеристикаНоменклатуры) Тогда
Сообщить("В строке №" + СтрокаТаблицы.НПП + " ведется учет по характеристике номенклатуры!");
Иначе
КонецЕсли;
КонецЕсли;
КонецЦикла;
Функция ЕстьХарактеристики(Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ХарактеристикиНоменклатуры.Ссылка
|ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
|ГДЕ
| ХарактеристикиНоменклатуры.Владелец = &Владелец";
Запрос.УстановитьПараметр("Владелец", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Что-то вроде такого?
Для Каждого СтрокаТаблицы Из ТаблицаСопоставления Цикл
Если ЗначениеЗаполнено(СтрокаТаблицы.Номенклатура) Тогда
Если Тогда
Иначе
Сообщить("В строке №" + СтрокаТаблицы.НПП + " ведется учет по характеристике номенклатуры!");
Возврат;
КонецЕсли;
КонецЦикла;
Показать
(12)
Для Каждого СтрокаТаблицы Из ТаблицаСопоставления Цикл
Если ЗначениеЗаполнено(СтрокаТаблицы.Номенклатура) Тогда
Если ЕстьХарактеристики(СтрокаТаблицы.Номенклатура) и НЕ ЗначениеЗаполнено(СтрокаТаблицы.ХарактеристикаНоменклатуры) Тогда
Сообщить("В строке №" + СтрокаТаблицы.НПП + " ведется учет по характеристике номенклатуры!");
Иначе
КонецЕсли;
КонецЕсли;
КонецЦикла;
Функция ЕстьХарактеристики(Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ХарактеристикиНоменклатуры.Ссылка
|ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
|ГДЕ
| ХарактеристикиНоменклатуры.Владелец = &Владелец";
Запрос.УстановитьПараметр("Владелец", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Показать
(1) Нужно знать конфигурацию. Где-то в номенклатуре есть признак того, что номенклатура имеет характеристики? Если такой признак есть, то логичнее его заполнять запросом в эту таблицу в скрытую колонку. При перелистывании реализовавывать проверку либо В "ПриСменеСтраницы", либо В "ОбработкаПроверкиЗаполнения"
или
Если ПроверитьЗаполнение() Тогда
или
Для Каждого СтрокаТЧ из Таблица Цикл
Если Не значениеЗаполнено(СтрокаТЧ .Характеристика) и СтрокаТЧ.ХарактеристикиИспользуются Тогда
Сообщить("Ошибка");
Прервать
КонцЕсли
КонецЦикла
(1)
Это (номенклатуры контрагента и собственной) - сопоставляемые значения? Берутся из одного справочника ?
Тогда - РегистрСведенийНаборЗаписей.Прочитать()
отбор выстроить с учетом заполненной характеристики
необходимо проводить сопоставление номенклатур контрагента и собственной
Это (номенклатуры контрагента и собственной) - сопоставляемые значения? Берутся из одного справочника ?
Тогда - РегистрСведенийНаборЗаписей.Прочитать()
отбор выстроить с учетом заполненной характеристики
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)