Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 04:51
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проверка справочника и проведение документа  (Прочитано 7294 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте!
Застрял на таком вопросе. Есть документ "ПереводВДругуюГруппу", где есть реквизиты "Группа", "ГруппаПеревода", также есть табличная часть "Студенты" с реквизитом "Студенты", а также поле флажка "ПеревестиГруппу", который является отдельным реквизитом. Допустим есть две группы 2СП и 3СП. Как сделать так, чтобы, если мы начнем сначала переводить группу 2СП в 3СП, то выходила бы ошибка "Переведите сначала группу 3СП", и когда мы уже группу "3СП" переведем, то смогли бы легко перевести и группу 2СП. Я пытался сделать так, чтобы система проверяла в справочнике всех студентов, и искала, если у кого-то есть группа "3СП", то выходила бы ошибка.. но не получается ничего.. Подскажите может в коде ошибка или как это можно организовать?

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если ПеревестиВГруппу Тогда
  Если Группа = Справочники.Группы.НайтиПоНаименованию("2СП") Тогда
   Если Справочники.Группы.НайтиПоНаименованию("3СП") Тогда
    Отказ=Истина;
    Сообщить("Переведите сначала группу 3СП!");
   Иначе
Для каждого СтрокаТЧ Из Студенты Цикл
    СтудентОбъект = СтрокаТЧ.Студент.ПолучитьОбъект();
    СтудентОбъект.СтатусСтудента = Перечисления.СтатусСтудента.УчитсяПереведенВГруппу;
СтудентОбъект.Группа=ГруппаПеревода;
    СтудентОбъект.Записать();
  КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Последний раз редактировалось: mixqn; 27 Сен 2012, 16:17


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
вот на этой строке:
 Если Справочники.Группы.НайтиПоНаименованию("3СП") Тогда
разве ошибка не выдается?
там тип не Булево должен получаться и должна быть ошибка.
вообще, в целом приведенный код очень странный.

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
вообще, если хотите в будущем профессионально заниматься разработкой, совет: конструкции НайтиПоНаименованию и НайтиПоКоду - это как минимум дурной тон. Используйте предопределенные элементы или константы, если нужно в коде обратиться к каким-то данным.

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Хорошо.. а вот этой строчкой он проверяет все мои записи в справочнике?
 Если Справочники.Группы.НайтиПоНаименованию("3СП") Тогда

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Следующее замечание по коду: вы упорно продолжаете попытки в обработке проведения изменять справочники, хотя это не принято. Обработка проведения изменяет регистры. А точнее, добавляет в них записи - движения документа. Вашу задачу нужно решать на регистре сведений с измерением Студент и Ресурсом Группа, регистр периодический.

Цитата: AlexKag
а вот этой строчкой он проверяет все мои записи в справочнике?
 Если Справочники.Группы.НайтиПоНаименованию("3СП") Тогда
в этой строке должна быть ошибка.

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Вот, воспользовался советом, создал регистр... Основывая на том, что по запросу срез последних можно будет посмотреть есть ли какое-то количество студентов в группе или нет.. Подскажите это правильно?

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Нет, не правильно. Количество студентов вы можете получить запросом - есть там агрегатная функция КОЛИЧЕСТВО. В вашем случае ресурс "Количество" в регистре смысла не имеет. Делать Группу измерением так же смысла нет никакого, правильнее сделать ее ресурсом (1 студент не может же одновременно быть в 2-ух группах или все таки может?)

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Да да.. такого быть не может... то есть правильнее будет вот так?

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
да, так правильнее

Оффлайн AlexKag

  • **
  • Сообщений: 90
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-09-05
  • Сайт: 
  • Профессия: Ученик 1С
а надо ли ресурсом делать ГруппаПеревода (это название группы в которую вновь переводится студент)??


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4470
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 15910
Последний ответ 16 Авг 2012, 12:07
от Will
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7736
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

Автор yunovoРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4774
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
Заполнение столбца табличной части документа по умолчанию и выборка из табличной части.

Автор marshalbratskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 1580
Последний ответ 25 Май 2016, 19:38
от marshalbratsk

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
171 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 224
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal