8 (926) 177-35-78
task@moscowsoft.com
Меню
Каталог Услуги Акции Покупки Компания Статьи Контакты

Сравнения с типами, значениями объектов в запросах, отборы в запросах 1С

Представляем наши разработки:

Универсальные переносы данных 1С (перенос документов, остатков и справочной информации):

  УТ 10.3 = > УТ 11   КА 1.1 => БП 3   БП 3 => УТ 11   УПП 1.3 => БП 3.0   БП 2 => УТ 11   ERP 2 => УПП 1.3
  УТ 10.3 = > КА 2   КА 1.1 => УТ 11   БП 3 => КА 2   УПП 1.3 => УТ 11   БП 2 => КА 2   ERP 2 => КА 1.1
  УТ 10.3 = > ERP 2   КА 1.1 => КА 2   БП 3 => ERP 2   УПП 1.3 => КА 2   БП 2 => ERP 2   КА 2 => КА 1.1
  ЗУП 2.5 => КА 2   КА 1.1 => ERP 2   БП 3 => УТ 10.3   УПП 1.3 => ERP 2   БП 2 => КА 1.1   КА 2 => УПП 1.3
  ЗУП 2.5 => ERP 2     БП 3 => УНФ 1.6
    УТ 11 => УТ 10.3     
Данные программы являются авторской разработкой. Позволяют комфортно выполнить переход со старых программ 1С на новые. В отличие от типовых переносов фирмы 1С эти разработки позволяют переносить документы за выбранный период.  
Переносы данных можно приобрести за безналичный расчет.
31.03.2018

 

Запросы являются стандартным способом в 1С для чтения выборок значений из базы данных. Важно для профессиональной работы в 1С уметь составлять оптимальные запросы к базе данных

Вопрос Как в языке запросов 1С отобрать не заполненное значение? Какое условие указать в запросе после ключевого слова «ГДЕ», когда нужно сделать отбор по не заполненным полям?
Ответ См. примеры запросов и комментарии к ним:


    Запрос.Текст =      "ВЫБРАТЬ       |    усЕдиницыХранения.Ссылка      |ИЗ      |    Справочник.усЕдиницыХранения КАК усЕдиницыХранения      // Пример 1. сравнение с не заполненным булевым значением:      |ГДЕ      |     усЕдиницыХранения.РазрешитьОтборИзРезервнойЗоны = Ложь      // Пример 2. но если это булево определено, то лучше так: // условие на отрицательное булево:      |ГДЕ      |     НЕ усЕдиницыХранения.РазрешитьОтборИзРезервнойЗоны      // Пример 3. выборка по условию не заполненного поля, имеющего тип "справочник конкретного типа"      |ГДЕ      |    усЕдиницыХранения.АктивнаяОбластьОтбора = ЗНАЧЕНИЕ(Справочник.усОбластиОтбора.ПустаяСсылка)      // Пример 3а. выборка по условию не заполненного поля, имеющего тип "документ конкретного типа"      |ГДЕ      |    НашРегистрСведений.Документ = ЗНАЧЕНИЕ(Документ.НашДокумент.ПустаяСсылка)      // Пример 3б. выборка по условию не заполненного поля, имеющего тип "документы разных типов" (составное поле)      |ГДЕ      |    (НашРегистрСведений.Документ = ЗНАЧЕНИЕ(Документ.НашДокумент1.ПустаяСсылка)      |    ИЛИ НашРегистрСведений.Документ = ЗНАЧЕНИЕ(Документ.НашДокумент2.ПустаяСсылка)       |    ИЛИ ...(и т.д. - последовательно перечисляем условия для всех возможных типов этого составного поля))            // Пример 4. или наоборот, если нужно выбрать заполненное значение типа "строка", то поможет условие:      |ГДЕ      |    усЕдиницыХранения.Наименование > """"        // Пример 5. если нужно выбрать документы конкретного типа, при составном типе данных, например в регистре "ВыполняемыеЗадания" ресурс "Задание" имеет составной тип, среди значений которого возможен документ "Отбор"      |ГДЕ      |    ВЫРАЗИТЬ(РегистрСведенийВыполняемыеЗадания.Задание КАК Документ.Отбор) ССЫЛКА Документ.Отбор      // Пример 5а. Еще аналогичный пример, когда нужно выбрать документы конкретного типа      |	ВЫБОР      |		КОГДА ВЫРАЗИТЬ(агСоответствиеДокументов.ДокументБУ КАК Документ.ПоступлениеТоваровУслуг) ССЫЛКА Документ.ПоступлениеТоваровУслуг      |			ТОГДА ""ПоступлениеТоваровУслуг""      |		КОГДА ВЫРАЗИТЬ(агСоответствиеДокументов.ДокументБУ КАК Документ.РеализацияТоваровУслуг) ССЫЛКА Документ.РеализацияТоваровУслуг      |			ТОГДА ""РеализацияТоваровУслуг""      |		ИНАЧЕ """"      |	КОНЕЦ КАК ВидДокумента      // Пример 6. выбор по условию не определенного значения:      |ГДЕ      |    СохраненныеНастройки.Пользователь = НЕОПРЕДЕЛЕНО      // Пример 7. выбор по виду движения "Приход" регистра накопления, "Расход" - аналогично):      |ГДЕ      |    РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)      // Пример 8. Как в запросе указать, что выполнять запрос не нужно (например,   нужно программно в зависимости от какого-то условия вернуть пустой результат запроса - Запрос.Текст = СтрЗаменить(Запрос.Текст, "ГДЕ Док.Ссылка = &ДокументСсылка", "ГДЕ ЛОЖЬ");).   Для этого достаточно добавить условие "Где Ложь".   Кстати, независимо от объема запрашиваемых в выборке данных, такой запрос будет выполнен мгновенно.      |ГДЕ ЛОЖЬ      // Пример 9. Проверка на то, что результат выполнения запроса содержит данные:      Если НЕ Запрос.Выполнить().Пустой() Тогда      // Пример 10. выбор по условию не заполненной даты:      |ГДЕ      |    тбСтроки.ДатаОтмены = ДАТАВРЕМЯ(1, 1, 1)

...

Назад к списку новостей