Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перепроведение документа
|
|||
|---|---|---|---|
|
#18+
Я новичек в 1с, так что особо не ругайте за возможную глупость вопросов. Вопрос следующий: Я сделал докумет и справочник.Из документа данные добавляются в справчник НовыйЭлемент = Справочники.Сотрудники.СоздатьЭлемент(); НовыйЭлемент.ФИО = ФИО; НовыйЭлемент.Должность = Должность; ...................................................... НовыйЭлемент.Записать(); Данные добавляются все ок, но когда этот документ проводится эти же данные добавляються снова. Как сделать чтобы при перепроведении все было норма?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 17:24 |
|
||
|
Перепроведение документа
|
|||
|---|---|---|---|
|
#18+
Филип26, бред какой-то, в нормальной базе 1С, при проведении документ не должен создавать элементы справочника. ну а в вашем случае, перед созданием элемента справочника необходимо добавить проверку наличия ранее созданного элемента справочника. Если Справочники.Сотрудники.НайтиПоРеквизиту("ФИО",ФИО).Пустая() тогда //здесь создаете новый элемент КонецЕсли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 17:48 |
|
||
|
Перепроведение документа
|
|||
|---|---|---|---|
|
#18+
Филип26, добавьте в справочник поле с типом ссылка на документ и перед записью проверять наличие в справочнике записи, у которой поле ссылка совпадает с документом. Только учтите, пока новый документ не записан, у него пустая ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 17:48 |
|
||
|
Перепроведение документа
|
|||
|---|---|---|---|
|
#18+
LexaK, тоесть как я понимаю документ не может добавлять данные в справочник?(тоесть так не надо делать ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 17:58 |
|
||
|
Перепроведение документа
|
|||
|---|---|---|---|
|
#18+
Филип26, Ну, вообще-то, по идеологии 1С документы формируют записи в регистры, для этого в платформе есть целая куча удобного встроенного функционала, система даже может сама код писать (см. конструктор движений :) ). И процедура 'ОбработкаПроведения()' служит в первую очередь для формирования и записи данных именно в регистры. Но если решил создавать элементы справочника именно в этой обработке, то, в принципе, никто тебе в этом не сможет помешать - это обычная процедура, которая может содержать любой код. Но я бы лучше повесил это дело на отдельную кнопку... А проверить, был ли текущий документ ранее проведен, можно в процедуре ПередЗаписью() по состоянию булевского стандартного реквизита 'Проведен' (в ОбработкеПроеведения() этот флаг уже установлен, и по нему не проверишь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 18:25 |
|
||
|
Перепроведение документа
|
|||
|---|---|---|---|
|
#18+
Филип26, ну да, это все равно что через задницу вырывать зубы, в принципе, если "постараться" то можно это сделать. Но все толковые специалисты при этом повертят пальцем у виска. как правило элементы справочника создаются следующими путями 1.ввод вручную 2.создание с помощью различных обработок, при обмене/загрузки данными/х, при вводе остатков, при генерации по заданному алгоритму и т.д. 3.предопределенные элементы (создаются в конфигурации) а уже после этого справочники, т.е. ссылки на элементы справочников используются в документах и других 1с-ых объектах. может вы перепутали и вам не документ надо было программировать а какую-то обработку которая создавала (заполняла) бы справочник сотрудники? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 18:32 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37845096&tid=1520367]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 384ms |

| 0 / 0 |
