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

Автор Тема: Флуд по Экзамену  (Прочитано 17774 раз)

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

Оффлайн sergathome

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 4
  • КПД: 15%
  • Регистрация: 2010-11-02
  • Сайт: 
Сергей, Вам ещё интересна эта тема ? Я просмотрел Ваше решение первой задачи и был удивлён подходом к проведению документа по варианту 8.2 с управляемыми блокировками. Во-первых создание объекта Блокировка является избыточным, так как существует специальный параметр Движение.Регистр.БлокироватьДляИзменения, во-вторых не понял, какой смысл отменять руками движения если есть возможность просто сменить модель проведения - Ваше решение имитирует технологию 8.1 с её контролем остатков до проведения, тогда как технология 8.2 предполагает контроль после. На экзамене за это убьют однозначно. Я сам в растерянности ибо не могу придумать простого способа выкрутиться при партионном списании. На имеющейся у меня демо-базе к радченковской книге этот вопрос тупо обойдён. Чешу репу...


Оффлайн Vdeg

Флуд по Экзамену
« Ответ #1: 18 Янв 2011, 17:47 »
На экзамене за это убьют однозначно.

Откуда информация?  :mellow:
Житель района Восточное Дегунино (Москва, Россия)
Мой блог программиста

Оффлайн pershinsergei

  • *
  • Сообщений: 42
  • РЕПУТАЦИЯ: 47
  • КПД: 112%
  • Регистрация: 2010-02-04
  • Сайт: 
  • Профессия: Программист 1С
Флуд по Экзамену
« Ответ #2: 19 Янв 2011, 06:20 »
если мы хотим проводить документ так, как это делалось в 8.1 , то используется эта конструкция
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.Управленческий");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура");

Блокировка.Заблокировать();

а если проводим по новому методу, то
Движения.ТоварныеЗапасы.БлокироватьДляИзменения = Истина;

а вообще по новому методу задач 10 и то не наберется из оперативного учета, да и из бух всего пока мне пару встретилось
1С:Специалист по платформе 8.2
1С:Специалист по ЗУП
1С:Специалист-Консультант ЗУП
1С:Специалист-Консультант БУХ
1С:Специалист-Консультант УПП

Оффлайн sergathome

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 4
  • КПД: 15%
  • Регистрация: 2010-11-02
  • Сайт: 
Флуд по Экзамену
« Ответ #3: 19 Янв 2011, 09:30 »
"а вообще по новому методу задач 10 и то не наберется из оперативного учета, да и из бух всего пока мне пару встретилось"

Я вообще-то так понимаю, что все задачи, для которых в явном виде не указано, что они должны решаться под 8.1 решаются под текущую 8.2 платформу. К тому же технология 8.1 всё равно использована Вами неверно. Предполагается использование конструкции ДЛЯ ИЗМЕНЕНИЯ в запросе по остаткам ;) что вобщем-то гораздо проще и быстрее нежели создание объекта блокировки.
Ошибки технологии разработки считаются самыми грубыми. (это для Вам, Vdeg)

Оффлайн sergathome

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 4
  • КПД: 15%
  • Регистрация: 2010-11-02
  • Сайт: 
Флуд по Экзамену
« Ответ #4: 19 Янв 2011, 15:06 »
Короче я придумал как, но приходится обращаться к лишней таблице - из основной таблицы регистра остатков выбирать движения текущего документа и плюсовать их к текущим остаткам... Теоретически это должно работать быстрее чем полная отмена проведения, но как-то это ... непривычно, что ли. При этом постконтроль есстно теряет смысл. Если интересно - пишите, выложу.

Оффлайн Vdeg

Флуд по Экзамену
« Ответ #5: 19 Янв 2011, 15:42 »
Короче я придумал как, но приходится обращаться к лишней таблице - из основной таблицы регистра остатков выбирать движения текущего документа и плюсовать их к текущим остаткам...

Зачем??
Житель района Восточное Дегунино (Москва, Россия)
Мой блог программиста

Оффлайн pershinsergei

  • *
  • Сообщений: 42
  • РЕПУТАЦИЯ: 47
  • КПД: 112%
  • Регистрация: 2010-02-04
  • Сайт: 
  • Профессия: Программист 1С
Флуд по Экзамену
« Ответ #6: 20 Янв 2011, 06:29 »
ДЛЯ ИЗМЕНЕНИЯ в запросе по остаткам
это как раз и будет ошибкой на экзамене
каким методом решать нигде не говориться, а про блокировки мне люди поведали которые уже прошли атестацию
1С:Специалист по платформе 8.2
1С:Специалист по ЗУП
1С:Специалист-Консультант ЗУП
1С:Специалист-Консультант БУХ
1С:Специалист-Консультант УПП

Оффлайн sergathome

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 4
  • КПД: 15%
  • Регистрация: 2010-11-02
  • Сайт: 
Re: Флуд по Экзамену
« Ответ #7: 20 Янв 2011, 09:20 »
Я не совсем точно описал проблему. Уточняю. Технология 8.1 предполагает использование автоматических блокировок, соответственно конструкции ДЛЯ ИЗМЕНЕНИЯ. Естественно можно использовать и управляемые, как и смешанные, но тогда нужно объяснить с какой целью это делается. Думаю в Вашем случае это будет затруднительно.
Ваше решение 1 задачи - гибрид гориллы с крокодиллой - вся настройка конфигурации выполнена под 8.2, а технология проведения имитирует 8.1 на управляемых блокировках, при этом вместо использования БлокироватьДляИзменения зачем-то создаётся отдельный объект.  Кстати там есть ещё ошибка - Вы используете ЭтоНовый() для определения наличия движений... ай-яй-яй, а если документ был записан, но не проведён ? А если проведение было отменено ? ;)

Оффлайн Vdeg

Re: Флуд по Экзамену
« Ответ #8: 20 Янв 2011, 11:49 »
Кстати там есть ещё ошибка - Вы используете ЭтоНовый() для определения наличия движений... ай-яй-яй, а если документ был записан, но не проведён ? А если проведение было отменено ? ;)
Где эта ошибка?
Житель района Восточное Дегунино (Москва, Россия)
Мой блог программиста

Оффлайн sergathome

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 4
  • КПД: 15%
  • Регистрация: 2010-11-02
  • Сайт: 
Re: Флуд по Экзамену
« Ответ #9: 20 Янв 2011, 12:31 »
Процедура ОбработкаПроведения(Отказ, Режим)

....
//устанавливаем блокировку на рег остатки номенклатуры
Блокировка=новый БлокировкаДанных;
ЭлементБлокировки=Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.Режим=РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных=СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

Блокировка.Заблокировать();


//если документ перепроводится, то удаляем старые движения
Если НЕ ЭтоНовый() Тогда
Движения.ОстаткиНоменклатуры.Очистить();
КонецЕсли;
....

Весь этот кусок - сплошная ошибка. А надо-то всего лишь было :
РегистрНакопления.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;
Если Проведен Тогда
Хотя я повторюсь - ручная отмена проведение это нарушение технологии.


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
176 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
AIFrame
41 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal