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

Реквизиты справочников

02.04.2007, 17:55. Показов 34110. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Сталкнулась с такой вот задачкой. :(
В реквизитах документа выбирается счет (любой), у счета может быть субконто, которое имеет вид справочника. У некоторых справочников есть реквизит "Цена". В документе тоже есть реквизит "Цена". Необходимо, чтобы значение из реквизита документа сохранялось в реквизите справочника, если у справоника есть реквизит "Цена". Я хмуро перечисляю все справоники, которые имеют такой реквизит:

Code
1
2
3
4
5
6
7
8
9
10
Тип = ВыбВид.ТипСубконто ();
Если (Тип = "Справочник.ОС") или (Тип = "Справочник.НМА") или
(Тип = "Справочник.Материалы") или (Тип = "Справочник.Товары") Тогда
Спр = СоздатьОбъект (Тип);
Наимен = Операция.Д*цензура*.Субконто (1);
Если Спр.НайтиЭлемент (Наимен) = 1 Тогда
Спр.Цена.Установить (ДатаДок, Цена);
Спр.Записать ();
КонецЕсли;
КонецЕсли;
Вопрос: можно ли каким либо образом проверить наличие реквизита (в данном случае "Цена") у пролученного справочника
(Тип = ВыбВид.ТипСубконто ())? Ведь спраовники могут добавляться и удаляться, что ж каждый раз документ править? :huh:
Спасибо за возможные ответы. B)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2007, 17:55
Ответы с готовыми решениями:

Как создать и заполнить все возможные реквизиты справочников?
Есть пустая БД.Надо создать в ней все виды всех возможных объектов и заполнить их реквизиты всеми возможными значениями (это в общем) ...

Реквизиты
Что такое реквизиты?

Дополнительные реквизиты
Приветствую! Такая проблема. В конфе БП 2.0 подключаю ВПФ Торг-12 к документу РеализацияТоваровУслуг (ее сделал сам но основе внутренней)....

28
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
03.04.2007, 09:29
Можно! В плане "разрешаю". Берем ЖКК (или другую литературу) и внимательно читаем раздел работы с Метаданными.
0
77dpy
03.04.2007, 17:55
для разнообразия:

Code
1
2
3
4
5
6
7
8
9
10
11
12
Вид="ТМЦ";
Для Ин=1 По Метаданные.Справочник(Вид).Реквизит() Цикл
Периодический=0;
Если Метаданные.Справочник(Вид).Реквизит(Ин).Идентификатор="Цена_Розн" Тогда
Периодический=Метаданные.Справочник(Вид).Реквизит(Ин).Периодический;
Если Периодический=1 Тогда
//обработать
Сообщить(Вид+ " -das ist fantastisch.");
Прервать;
КонецЕсли;
КонецЕсли;
КонецЦикла;
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
03.04.2007, 18:00
Для: 77dpi
А я разве что-то другое посоветовал?
0
0 / 0 / 0
Регистрация: 17.02.2007
Сообщений: 28
03.04.2007, 18:02
Для vitfil:



Можно! В плане "разрешаю".
Спасибо за благословление :(



Берем ЖКК (или другую литературу) и внимательно читаем раздел работы с Метаданными.
Если бы там было... :angry:
В главе 10 "Работа со справочниками" Описания встроенного языка 7.7 описано только как получить доступ к реквизиту, а как проверить наличие реквизита (или его отсутствие) - нет.
Уже перечитала все вдоль и попрек - нету!

Ну подскажите девушке кто-нибудь... :o

Р.S. А ЖКК это что?
0
77dpy
03.04.2007, 18:06
ну уже ж 2 раза подсказали
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
03.04.2007, 18:11
ЖКК - Желто-Красные Книги.
Я разве говорил про главу работы со справочниками? Я сказал про работу с метаданными. 77dpi даже не поленился и примерчик вам накидал. А вообще, в ТиС есть хороший пример в процедуре глЕстьРеквизитШапки(...), например.


Для: 77dpi
Бог троицу любит! Двух подсказок мало!
0
0 / 0 / 0
Регистрация: 17.02.2007
Сообщений: 28
03.04.2007, 18:35
Для 77dpi:Ж
Спасибо. Просто когда набирала ответ вашего сообщения еще не было.


Для vitfil:
P.S. А ТиС что такое?
0
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
03.04.2007, 18:37
Для: Butty
ТиС = Торговля и Склад. Типовая конфигурация.
0
0 / 0 / 0
Регистрация: 17.02.2007
Сообщений: 28
03.04.2007, 18:40
Для vitfil
Нету у меня такой :(

Все равно ничего не понятно, 77dpi
0
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
03.04.2007, 18:41
Для: Butty
Настоятельно рекомендую почитать ЖКК или обратиться к программисту - он сделает. Еще можете почитать на мисте (www.mista.ru) уроки и курс лекций. ОЧЕНЬ много вопросов отпадет.
0
0 / 0 / 0
Регистрация: 17.02.2007
Сообщений: 28
04.04.2007, 12:51
vitfil
Спасибо, иду читать...
0
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
04.04.2007, 13:19
Хошь по простому? без мудрствований? (мне, правда, сейчас скажут, что я не прав, и делаю все не так...)

Code
1
2
3
4
5
6
7
8
9
10
11
Попытка
НашаЦена = Справочник.Цена;
Исключение
// Хм... нет такого реквизита, но ведь ничего страшного;)
КонецПопытки;
// А может он периодический?
Попытка
НашаЦена = Справочник.Цена.Получить(КакаяНитьДата);
Исключение
// Хм... нет такого реквизита, но ведь ничего страшного;)
КонецПопытки;
Агу?
0
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
04.04.2007, 13:27
Для: Zab
<!--QuoteBegin-Zab+5:04:2007, 12:06 -->
<span class="vbquote">(Zab @ 5:04:2007, 12:06 )</span><!--QuoteEBegin-->мне, правда, сейчас скажут, что я не прав, и делаю все не так...
[snapback]61400" rel="nofollow" target="_blank[/snapback]?[/quote]
Работать то оно будет, спору нет... Но дело в том, что Try крайне не рекомендуется использовать, потому как замедляет работу. Причем, не только в 1С. Оно то и предназначается для возможности отловить ошибки, которые невозможно предусмотреть. Фактически получается, что вы предлагаете каждый раз винде генерить ошибку, которую будет перехватывать и обрабатывать 1С... не комильфо.
0
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
04.04.2007, 13:41
Цитата Сообщение от vitfil
Для: Zab

Работать то оно будет, спору нет... Но дело в том, что Try крайне не рекомендуется использовать, потому как замедляет работу. Причем, не только в 1С. Оно то и предназначается для возможности отловить ошибки, которые невозможно предусмотреть. Фактически получается, что вы предлагаете каждый раз винде генерить ошибку, которую будет перехватывать и обрабатывать 1С... не комильфо.
Полностью с вами согласен. Но, думается мне, Butty так и сделает. Бо просто.
0
0 / 0 / 0
Регистрация: 10.07.2017
Сообщений: 350
04.04.2007, 14:14
Решил внести свою лепту.
Копипастинг и ТиС:


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт
Если ПустоеЗначение(ИмяРеквизита) = 1 Тогда
Возврат 0;
ИначеЕсли Метаданные.ОбщийРеквизитДокумента(ИмяРеквизита).Выбран() = 1 Тогда
Возврат 1;
ИначеЕсли ПустоеЗначение(ВидДокумента) = 1 Тогда
Возврат 0;
ИначеЕсли Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита).Выбран() = 1 Тогда
Возврат 1;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции //глЕстьРеквизитШапки()

Code
1
2
3
4
5
6
7
8
9
Функция глЕстьРеквизитМнЧ(ИмяРеквизита,ВидДокумента) Экспорт
Перем Реквизит;
Если (ПустоеЗначение(ВидДокумента) = 1) ИЛИ
(ПустоеЗначение(ИмяРеквизита) = 1) Тогда
Возврат 0;
КонецЕсли;
Реквизит=Метаданные.Документ(ВидДокумента).РеквизитТабличнойЧасти(ИмяРеквизита);
Возврат Реквизит.Выбран();
КонецФункции //глЕстьРеквизитМнЧ()
0
0 / 0 / 0
Регистрация: 17.02.2007
Сообщений: 28
04.04.2007, 20:33
Для LSH:
А эту функцию обязательно писать в глобальном модуле?
0
0 / 0 / 0
Регистрация: 10.07.2017
Сообщений: 350
04.04.2007, 22:09
Для: Butty

Нет. Копипастингом функций из типовых конфигураций я бы вообще советовал не заниматься, т.к. там ооочень криво написаны некоторые вещи. Данные функции к ним не относятся. Я их привел для примера.
0
0 / 0 / 0
Регистрация: 17.02.2007
Сообщений: 28
05.04.2007, 10:50
Для LSH:
Т.е. можно написать нечто подобное в модуле документа?
0
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
05.04.2007, 17:24
Для: Butty
Можно! Разрешаю!
Все никак не могу понять, почему вы упорно не хотите читать литературу по 1С?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2007, 17:24
Помогаю со студенческими работами здесь

Реквизиты документа в 8.0
Доброе время суток, друзья. У меня такая проблема. Не сохраняются реквизиты документа. И подскажите, пожалуйста, как задавать значения...

Периодические реквизиты
Для объекта &quot;Номенклатура&quot; (справочник) была установлена дата методом ИспользоватьДату. Как теперь я могу достать эту дату, чтобы сравнить...

Справочники. Реквизиты. 1С 8.2
Задача: обработать запись в реквизиты справочника. Я создал следующие реквизиты: наименованиеТовара, Цена, Количество, поставщик. В...

Реквизиты формы
есть документ на нем расположен флажок с надписью. Смотрю все слоя формы ни на одном нет этого флажка, а при запуске 1с флажок видно. Как...

Дополнительные реквизиты справочника
Добрый день. Помогите не привыкшему к &quot;правая рука не знает, что делает левая&quot; в 1С. Создал для Справочники.Номенклатура (1С 8.3 УТ 11.4,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru