Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/81: Рейтинг темы: голосов - 81, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 17.07.2013
Сообщений: 12

Вычисляемое поле и пользовательские поля

03.10.2013, 16:19. Показов 17231. Ответов 4
Метки нет (Все метки)

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

Добавлено через 35 минут
Нашел ошибку надо было писать в выражении Выбор Когда Амортизациятек Есть NULL Тогда "Срок" Иначе "Все остальное" Конец. Но теперь отчет отображается криво.
То есть каждый(в моем случае каждое основное средство) в отчете отображается два раза
Пример:
0003/6-А ЦЕХ 3 Здание. Мастерская Срок 608*070,00 608*070,00 608,07 608,07
0003/6-А ЦЕХ 3 Здание. Мастерская Остальное 608*070,00 -608*070,00 608,07 -608,07

А нужно 0003/6-А ЦЕХ 3 Здание. Мастерская Срок 608*070,00 608*070,00 608,07 608,07
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2013, 16:19
Ответы с готовыми решениями:

Вычисляемое поле в зависимости от поля в записи
Здравствуй многоуважаемый All продолжаю мэкать в access'e ) суть надо созать вычисляемое поле и чтоб данные считались в...

Вычисляемое поле в запросе с использованием другого вычисляемого поля этого же запроса
Возможно вопрос глупый и решается достаточно просто, прошу отнеситесь с пониманием к самостоятельно плавающим в аксессе))) Ситуация...

Вычисляемое поле!
Есть два поля с типом ДАТА и есть 3е поле, как сделать чтобы 3е поле вычислялось путем вычитание одной даты из другой?!

4
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
03.10.2013, 19:17
Цитата Сообщение от Sinerp Посмотреть сообщение
То есть каждый(в моем случае каждое основное средство) в отчете отображается два раза
1. Проверьте дублируются ли записи в каждом запросе по отдельности.
1.1 Если дублируются значит неправильно соединяете таблицы в запросах.
1.2 Если не дублируются, значит неправильно соединяете сами наборы данных.

Добавлено через 1 минуту
2. Для регистров сведений с которыми идет соединение в запросах, нужно использовать виртуальную таблицу СрезПоследних;
3. Для соединения с РегистрСведений.ПервоначальныеСведенияОС БухгалтерскийУчет не указаны условия соединения.
1
0 / 0 / 0
Регистрация: 17.07.2013
Сообщений: 12
04.10.2013, 10:22  [ТС]
Спасибо за ответы. К сожалению пока без результатов. Решил создать простой отчет и поковыряться с вычисляемыми полями и здесь опять непонятки. Простейшие функции типа: сложения, деление, умножение и т.п работают нормально.
Однако функция Выбора не работает даже в простейшем отчете.
Пример отчета:
SQL
1
2
3
4
5
ВЫБРАТЬ
    СтоимостьОСБухгалтерскийУчетОстаткиИОбороты.ОсновноеСредство КАК Средство,
    СтоимостьОСБухгалтерскийУчетОстаткиИОбороты.АмортизацияПриход
ИЗ
    РегистрНакопления.СтоимостьОСБухгалтерскийУчет.ОстаткиИОбороты КАК СтоимостьОСБухгалтерскийУчетОстаткиИОбороты
Далее создаю вычисляемое поле пишу в выражении такой код:
Выбор Когда Средство="Стеллаж" Тогда "Да" Иначе "Нет" Конец
Далее добавляю это поле в детальные записи, сохраняю и формирую отчет в итоге вычисляемое поле заполняется "Нет", хотя Стеллажей в отчете штук 10. Отчет хоть и простой но выдает правильные данные по амортизацииприход, дублирующих записей нет.
Полазил в инете, посмотрел пример в книжке хрусталевой, и вроде бы, все написал правильно, однако пока без результатов.
Надеюсь на вашу помощь и советы, с уважением Алексей.
0
900 / 877 / 10
Регистрация: 15.03.2012
Сообщений: 2,680
04.10.2013, 16:36
Цитата Сообщение от Sinerp Посмотреть сообщение
Выбор Когда Средство="Стеллаж" Тогда "Да" Иначе "Нет" Конец
Конечно у Вас всегда будет "Нет". Средство - это поле ссылочного типа, скорее всего "СправочникСсыдка.ОсновныеСредства", а вы его со строкой сравниваете.
1
0 / 0 / 0
Регистрация: 17.07.2013
Сообщений: 12
07.10.2013, 10:23  [ТС]
Спасибо. Но как быть с таким моментом, я создал два вычисляемых поля, таких как:
1) ЕстьNull(Начальнаяпред,0) - ЕстьNull(Начальнаятек,0);
2) ЕстьNull(Амортизацияпред,0) - ЕстьNull(Амортизациятек,0)
Они оба работают и работают правильно, а выражение вида:
Выбор Когда ЕстьNull(Амортизацияпред,0) = ЕстьNull(Амортизациятек,0) Тогда "Да" Иначе "Нет" Конец - выдает сплошные "Нет"?

C уважением Алексей. Помогите разобраться(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.10.2013, 10:23
Помогаю со студенческими работами здесь

Вычисляемое поле
Необходимо создать вычисляемое поле в таблице, которое будет считать сумму трёх полей. Попробовал сделать это на форме - работает, но...

Вычисляемое поле
Имеется база Access 2003, в которой несколько таблиц,в одной таблице имеется поле цена, в другом количество. Хочу сделать чтобы в delphi...

ВЫЧИСЛЯЕМОЕ ПОЛЕ
Подскажите пожалста, как правильно записать формулу подсчета. БД для отеля. Необходимо подсчитать стоимость проживания в конкретном...

Вычисляемое поле
Добрый день! В таблице есть поля - цена материала,количество,и и стоимость работ. С созданием вычисляемого поля трудностей не...

Вычисляемое поле
Можно ли сделать так чтобы при наборе номера кредитной карты в ячейке хранящей эти данные автоматически в следующей ставилось название типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru