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

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

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

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

Оффлайн mixqn

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

Оффлайн AlexKag

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

Оффлайн mixqn

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

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

Оффлайн AlexKag

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

Оффлайн mixqn

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

Оффлайн AlexKag

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

Оффлайн mixqn

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

Оффлайн AlexKag

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
164 Сообщений
alex0402
72 Сообщений
oleg-x
63 Сообщений
AIFrame AIFrame
54 Сообщений
buketov.av buketov.av
47 Сообщений
wise wise
41 Сообщений
ilyay ilyay
39 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
KOI8-R
31 Сообщений

* Кто онлайн

  • Точка Гостей: 315
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal