0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 154
1

Проблема с созданием документа(

19.05.2010, 19:30. Показов 19065. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Конфигурация 7.7 С помощью обработки нужно создать документ (в конфигураторе указан Журнал для этого документа) при этом проверяя, есть ли уже такой документ по определенным реквизитам СравнФизЛицо, СравнФакультет, СравнУчГруппа . Если есть, то вывести сообщение и продолжить цикл дальше. Документ НЕ содержит табличной части. Данный код содержится внутри цикла Если , т.е. Если мы нашли не нашли человека, то добавляем его в справочник и создаем сразу документ Зачисление по данному человеку. Часть кода приведена снизу:

Код
Док = СоздатьОбъект("Документ.Зачисление");
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент()=1 Цикл
Если (Док.ФизЛицо = СравнФизЛицо) и (Док.Факультет = СравнФакультет) Тогда
Если (Док.УчГруппа.Выбран()=1) и (Док.УчГруппа = СравнУчГруппа) Тогда
Если Док.Проведен()=1 Тогда
Сообщить("Документ уже есть и проведен!!!");
Продолжить;
Иначе
//изменяем данные
ЗаполнениеРеквизитовДокумента(Док, Табл, Табл2); // процедура для заполнения реквизитов документа и его записи
Сообщить("Документ изменили!!! Документ без Группы");
КонецЕсли;
Иначе
Если Док.Проведен()=1 Тогда
Сообщить("Документ уже есть и проведен!!!");
Продолжить;
Иначе
//изменяем данные
ЗаполнениеРеквизитовДокумента(Док, Табл, Табл2);
КонецЕсли;
Сообщить("Документ изменили2!!! Документ с Группой");
КонецЕсли;
Иначе
//создаем документ
Док.Новый();
ЗаполнениеРеквизитовДокумента(Док, Табл, Табл2);
Сообщить("Документ записали!!!");
КонецЕсли;
КонецЦикла;
Изначально в журнале я создала один документ. Проблема в том, что в отладчике Док.ВыбратьДокументы()=1, Док.ПолучитьДокумент()=1, а в сам цикл даже не заходит. ставлю точку останова на КонецЦикла;, так даже не становиться и туда, а сразу идет на КонецЕсли (внешний цикл Если). Подскажите пожалуйста, в чем может быть проблема?
0
19.05.2010, 19:30
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2010, 19:30
Ответы с готовыми решениями:

Подскажите с созданием документа!
Здравствуйте ! подскажите пожалуйста Вопрос вот чем, я создаю документ, далее как обычно открывается окно документа, теперь при...

Проблема с созданием новой роли в Бухгалтерии 8.1
Никак не могу разобраться почему не получается создать роль. 1С Предприятие упорно не хочет запускаться с пользователем у которого...

Проблема с созданием вордового документа
Был проект - в котором в определенном месте создавался вордовый документ. Винда накрылась, ее полностью переставили. Офис, свежий mdac,...

8
0 / 0 / 0
Регистрация: 15.06.2008
Сообщений: 278
19.05.2010, 19:47 2
А зачем ставить в конце цикла? Поставьте в условие, или в запись нового документа
0
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 154
19.05.2010, 19:56 3
Цитата Сообщение от GorlanovMax
А зачем ставить в конце цикла? Поставьте в условие, или в запись нового документа
Я пробовала, оно вообще сразу после Пока Док.ПолучитьДокумент()=1 Цикл выбивает, даже внутрь не заходит.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
19.05.2010, 20:06 4
Проще после

Пока Док.ПолучитьДокумент()=1 Цикл

Вставить
Сообщить(Док);
0
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 154
19.05.2010, 20:41 5
Цитата Сообщение от vbs
Проще после

Пока Док.ПолучитьДокумент()=1 Цикл

Вставить
Сообщить(Док);
Записывает только один документ, а дальше выбивает ошибку:
Пока Док.ПолучитьДокумент()=1 Цикл
{Обработка.ЗагрузкаФЛ.Форма.Модуль(399)}: Не выбран документ!
В журнале уже существует два документа.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
19.05.2010, 22:28 6
Попробуй
Док.ВыбратьДокументы(Дата1,Дата2);

И еще - первый документ найден, что с ним произошло ?

А также можно сделать 2 одинаковых объекта
Док = СоздатьОбъект("Документ.Зачисление");
Док1 = СоздатьОбъект("Документ.Зачисление");
Для Док1 создавать новый и корректировать найденный (Док1 = Док.ТекущийДокумент())
0
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
20.05.2010, 00:57 7
Цитата Сообщение от vbs
А также можно сделать 2 одинаковых объекта
Да в этом-то и проблема. Нельзя одним "Док" перебирать и им же создавать. Аналогия такова: шел человек по лесенке и считал ступеньки. Вдруг его сбросили на землю. Потом командуют: "Перейти на следующую." А он чешет репу. Потому что в голове сбился счетчик: на какой ступеньке от находился? Не сильно почитал, как у Вас происходит. Должно после первого созданного документа слетать.



Для Док1 создавать новый и корректировать найденный (Док1 = Док.ТекущийДокумент())
Простим товарищу - торопился. 1) Поборники красоты рекомендуют так безлико не называть переменные. Хотя бы "ДокВыб", "ДокНов".
2) А вот для корректировки использовать "Док" можно и нужно. Док задержится на той-же ступеньке.
Если решим использовать ДокНов и для корректировки то вот так: ДокНов.НайтиДокумент(ДокВыб); Повторяюсь, можно использовать ДокВыб без всякой подготовки.


Все бы ничего. Да есть еще одна беда. Во всем тексте нет команды Записать()
0
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 38
20.05.2010, 05:25 8
ЗаполнениеРеквизитовДокумента(Док, Табл, Табл2); - если процедура или функция выглядит так:
Процедура ЗаполнениеРеквизитовДокумента(Док, ХХХ, ХХХ)
......
КонецПроцедуры

Поменяй переменную с Док на Док1 допустим
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
20.05.2010, 13:15 9
Цитата Сообщение от Дайнеко
ДокНов.НайтиДокумент(ДокВыб);
вот-вот, именно это я и имел в виду

А запись у нее, видимо, в процедуре заполнения реквизитов.

Даты стоит использовать при выборке с тем, чтобы процесс не умер (новый документ, не дай Бог, снова попадет в выборку и т.д.), да и новому документу
надо присваивать дату вне диапазона
0
20.05.2010, 13:15
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2010, 13:15
Помогаю со студенческими работами здесь

Проблема с созданием классов
Проблема с создованием классов в IDE такая: Создал классы в visual добавить->класс Все отлично работает, но мне не нужны...

Проблема с созданием цикла
Всем доброго времени суток. Прошу помощи у форумчан по следующему вопросу. Есть входные параметры и заданные формулы. Проблема в...

Проблема с созданием экземпляра БД
Стоит Oracle 7.3 и windows XP имеется в наличии 1) холодный бекап базы 2) init.ora 3) create.sql-сценарий 4)...

Проблема с созданием запроса
Здравствуйте! Имеется база данных, в таблице есть значения марка материала и гост, подскажите, как сделать такой запрос(?), ...

Проблема с созданием дистрибутива.
Я создала дистрибутив при помощи InstallShield'а на компьютере,где стоит winXP и Visual Studio ,проверила его на компьютере, на котором...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Пользуясь нейросетью возвращаюсь к вопросу альтернативных приводов поступательного движения.
Hrethgir 14.02.2025
Описание тут https:/ / habr. com/ ru/ articles/ 778118/ . Вопрос ответ You Привет. Скажи, есть-ли вещества, которые могут менять жидкое состояние на желеобразное под воздействием ультразвука? . . .
Ошибка "Another git process seems to be running in this repository"
hw_wired 14.02.2025
При работе с git можно столкнуться с довольно раздражающей ошибкой "Another git process seems to be running in this repository". Эта ситуация возникает, когда система контроля версий пытается. . .
Ошибка "java.lang.NoCl­assDefFou­ndErro­r: javax/xml/bind/JAXBException"
hw_wired 14.02.2025
Как разработчики Java-приложений, мы сталкиваемся с разными ошибками, но одна из них - java. lang. NoClassDefFoundError: javax/ xml/ bind/ JAXBException - стала особенно актуальной после выхода Java 9. . . .
Отличия for-in от for-of в JavaScript
hw_wired 14.02.2025
Когда-то единственным способом перебора элементов массива или свойств объекта был классический цикл for с счетчиком. Да, он отлично справлялся с задачей, но код получался громоздким и не очень. . .
Отличия implementation, api и compile в Gradle
hw_wired 14.02.2025
Управление зависимостями - одна из ключевых задач при разработке современных приложений на Java и Kotlin. Система сборки Gradle предоставляет гибкие и мощные средства для работы с зависимостями,. . .
Что лучше: require или import/export в JavaScript
hw_wired 14.02.2025
Модульность в JavaScript прошла долгий путь эволюции, и сегодня у разработчиков есть два основных способа организации модулей: старый добрый require из системы CommonJS и современные import/ export из. . .
Ошибка "Uncaught SyntaxError: Cannot use import statement outside a module"
hw_wired 14.02.2025
Думаю, многие разработчики сталкивались с ошибкой "Uncaught SyntaxError: Cannot use import statement outside a module" при попытке использовать современный синтаксис импорта в JavaScript. Эта. . .
Ошибка Docker "Got permission denied while trying to connect to the Docker daemon socket at"
hw_wired 14.02.2025
Разработка с использованием Docker может иногда преподносить неожиданные сюрпризы, и одним из самых распространенных камней преткновения становится ошибка с отказом в доступе к демону Docker. . . .
Ошибка "No 'Access-Control-Allow-Origin' header is present on the requested resource"
hw_wired 14.02.2025
При разработке современных веб-приложений нередко сталкиваешься с ошибкой "No 'Access-Control-Allow-Origin' header is present on the requested resource". Эта проблема возникает из-за политики. . .
Как закрыть порт в Linux
hw_wired 14.02.2025
Управление сетевыми портами в Linux - непростая, но важная задача для обеспечения безопасности системы. Каждый открытый порт - это потенциальная уязвимость, через которую злоумышленики могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru