Автор Тема: 1.21  (Прочитано 16270 раз)

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

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
1.21
« Ответ #30 : Июнь 20, 2013, 01:40:29 am »
Мой вариант решения данной задачи
Вложения:
KTT_1_21.dt

bilateral

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
1.21
« Ответ #31 : Июль 03, 2013, 04:13:34 pm »
Цитата (TuMyP1985)
Мой вариант решения данной задачи

 В стандартной каркасной есть кроме режима блокировок Автоматический, который надо менять на Управляемый еще 1 прикол:

 у регистра "Остатки Номенклатуры" нужно включать галку "Разделение итогов" на вкладке Прочее smile Это еще один подводный камень, любезно оставленный 1С для сдающих.

 З.Ы. Когда создаете новый регистр, флаг проставляется автоматически, потому то 1С так любезно и создали для нас этот регистр.
 Не забывайте об их щедрости и проставляйте флаг каждый раз, что бы не забыть на экзамене.

 -----------------------------------------------------------------------------------------------------------------------------
 Задача вроде простая, аж не хочется на нее время тратить. Партию заменили на склад, и засунули подводный камень с менеджером (вдруг кто воткнет его в качестве измерения в остаточный регистр). А ну еще расчет показателей. Но не стану набивать задачу ради этого ...
« Последнее редактирование: Июль 03, 2013, 04:15:38 pm от Алексей »


fimanich

  • Пользователь
  • **
  • Сообщений: 49
1.21
« Ответ #32 : Июль 03, 2013, 05:29:25 pm »
Цитата (bilateral)
Задача вроде простая, аж не хочется на нее время тратить. Партию заменили на склад, и засунули подводный камень с менеджером (вдруг кто воткнет его в качестве измерения в остаточный регистр). А ну еще расчет показателей. Но не стану набивать задачу ради этого ...
Согласен в целом, новшеств в этой задаче не много. Все же прикреплю решение, критика приветствуется
Вложения:
fimanich_01_21.dt
« Последнее редактирование: Июль 04, 2013, 04:30:57 pm от Смирнов Валерий »

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
1.21
« Ответ #33 : Июль 03, 2013, 05:32:54 pm »
Цитата (bilateral)
у регистра "Остатки Номенклатуры" нужно включать галку "Разделение итогов" на вкладке Прочее Это еще один подводный камень, любезно оставленный 1С для сдающих.
Вот тут http://forum.chistov.pro/index.php?topic=1999.msg3#msg3 касаются при обсуждении этого вопроса, и пишут:
 
Цитата (saferНа)
На сдаче экзамена оба экзаменатора за этот флаг драли(имеется ввиду Движения.__.БлокироватьДляИзменения = Истина). Если в регистре стоит разделение итогов - при очистки движений нужно флаг возводить в ИСТИНА. До экзамена такой же ответ получил от Гилёва ( но без объяснений) =(((. Белоусов объяснял так же, как nodalt . Как всё это выглядит технически - НЕПОНЯТНО! Надо смоделировать ситуацию.

 т.е. как я понимаю, если ставить в регистре галку "Разделение итогов", то при блокировке нужно обязательно писать "Движения.__.БлокироватьДляИзменения = Истина"?  Может тогда не ставить эту галку, и не заморачиваться с "Блокировать для изменения", как считаете?  smile Чем дальше, тем больше вопросов, а это еще первый раздел (оперативный учет).))

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
1.21
« Ответ #34 : Июль 03, 2013, 05:33:16 pm »
задача не трудная, единственное с чем повозился - отчет Продажи, спасибо TuMyP1985 у вас продглядел, за это я у вас нашел ошибки: у вас неправильно настроен алгоритм в расходной - позволяет списать отсутствующий на складе товар, еще совет - используйте перечисление ВидыНоменклатуры (имеется в каркасной конфигурации) вместо флага Булево для обозначения Услуги, используйте СообщениеПользователю вместо Сообщить.
 
Цитата (TuMyP1985)
т.е. как я понимаю, если ставить в регистре галку "Разделение итогов", то при блокировке нужно обязательно писать "Движения.__.БлокироватьДляИзменения = Истина"?  Может тогда не ставить эту галку, и не заморачиваться с "Блокировать для изменения", как считаете?  Чем дальше, тем больше вопросов, а это еще первый раздел (оперативный учет).))

 если у вас используется "Движения.__.БлокироватьДляИзменения = Истина", тогда обязательно ставить режим РазделениеИтогов в Истину, иначе такая блокировка не будет работать, я так понял
Вложения:
1.21.dt
« Последнее редактирование: Июль 03, 2013, 05:57:06 pm от Артур »

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
1.21
« Ответ #35 : Июль 03, 2013, 08:24:30 pm »
Да, за замечания спасибо, глянул ваше решение)
 1)Приходная накладная - вместо 2 циклов (обход по табличной части), можно все запихнуть в 1 цикл (движения по двум регистрам)
 2)Расходная накладная - вы в запросе сразу исключаете услуги, и они не попадают в отчет продажи. А если мы посмотрим в необходимый
  отчет "Продажи" - то там увидим, что там выводятся услуги.
 3)Расходная накладкая две последней строчки: 
 а)Движения.Продажи.Записать();- зачем эти строчка, у вас в начале написано уже Движения.Продажи.Записывать = Истина;по моему этого достаточно
 и если отказ=истина, то движения и так не запишутся, а если отказ = ложь - то движения запишутся за счет  
 б)Движения.ОстаткиНоменклатуры.Записать(); - я бы в начале просто написал Движения.ОстаткиНоменклатуры.Записывать = Истина; (как у вас
 сделано для продаж), но это мое мнение.

 4)Себестоимость: Движение.Сумма = Количество * ВыборкаДетальныеЗаписи.Сумма / ВыборкаДетальныеЗаписи.Количество;    
 в каком то курсе я узнал, что нужно Движение.Сумма = Количество /ВыборкаДетальныеЗаписи.Количество* ВыборкаДетальныеЗаписи.Сумма;   
 (т.е. если у нас количество для списания = количесту остаток, то деление даст 1, и мы спишем всю стоимость остаток).

 теперь по моему решению:
 1)у вас неправильно настроен алгоритм в расходной - надеюсь это вы имели ввиду запрос, а именно соединение с остатками 
 (ЛЕВОЕ СОЕДИНЕНИЕ ... ПО ВТ.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура), больше ничего не нашел ))
 2)"еще совет - используйте перечисление ВидыНоменклатуры" - то же прочитал что 
 "... Конечно, в каркасной конфигурации есть подходящее перечисление ВидыНоменклатуры, но использовать его менее удобно. 
 Например, придется потратить драгоценные минуты для того, чтобы в режиме 1С:Предприятия пробежаться по списку элементов справочника, 
 и каждому проставить вид ВидыНоменклатуры.Товар. Для типа Булево всем автоматом проставится значение Услуга = Ложь. ..."
 3)"используйте СообщениеПользователю вместо Сообщить" - я спрашивал где-то тут не будел ли являтся ошибкой, если на экзамене вместо
 Новый сообщение использовать Сообщить - мне сказали нет, вот и использую то, что проще))

Добавлено (03.07.2013, 20:24)
---------------------------------------------
Хотя я спрашивал не про "Сообщить", а про Сообщение без привязки к данным
  
 "Сообщение = Новый СообщениеПользователю; 
 Сообщение.Текст = "Списываем " + Строка(ВыборкаТовары.Количество) + " на остатке " + Строка(ВыборкаТовары.КоличествоОстаток); 
 Сообщение.Сообщить();"


 Теперь так и буду выводить в след. задачах


artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
1.21
« Ответ #36 : Июль 03, 2013, 08:51:57 pm »
спасибо TuMyP1985 че то я запарился и проглядел услуги в отчете Продажи, и Движения.ОстаткиНоменклатуры.Записать() забыл удалить, добавил еще последовательность

 Добавлено (03.07.2013, 20:51)
 ---------------------------------------------
 
Цитата (TuMyP1985)
в каком то курсе я узнал, что нужно Движение.Сумма = Количество /ВыборкаДетальныеЗаписи.Количество* ВыборкаДетальныеЗаписи.Сумма;
насчет этого в курсах Гилева говорится что нужно делать сначала умножение, это для того чтобы не терялись цифры после запятой, например 3*1/3 будет <> 1/3 *3, попробуйте в отладчике посмотреть результат
Вложения:
8710496.dt
« Последнее редактирование: Июль 03, 2013, 08:52:43 pm от Артур »

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
1.21
« Ответ #37 : Июль 03, 2013, 09:00:55 pm »
Цитата (TuMyP1985)
надеюсь это вы имели ввиду запрос, а именно соединение с остатками 
 (ЛЕВОЕ СОЕДИНЕНИЕ ... ПО ВТ.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура), больше ничего не нашел ))
вы забыли настроить связь ЛЕВОЕ СОЕДИНЕНИЕ ВТ.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура, исправленную базу возращаю
Вложения:
1.21vozvrat.dt

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
1.21
« Ответ #38 : Июль 03, 2013, 11:16:37 pm »
Цитата (artfa)
насчет этого в курсах Гилева говорится
))) - а я по курсу Чистова вам рассказал о расчете себестоимости номенклатуры. 
 Вот тут, в первой части на 32 минуте 30 секунды он об этом говорит.
 И вот по какому принципу списывать - Галиева, или Чистова?
 Я думаю по принципу Чистова:
 
Цитата (TuMyP1985)
если у нас количество для списания = количесту остаток, то деление даст 1, и мы спишем всю стоимость остаток

 а при списывании 1/3 *3 - при округлении это и будет единица.

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
1.21
« Ответ #39 : Июль 04, 2013, 12:01:58 am »
Цитата (TuMyP1985)
а при списывании 1/3 *3 - при округлении это и будет единица.
ну так это дополнительный код, и можно так до округляться что в оконцовке у вас повиснет колчество 0 с какой-нибудь себестоимостью, может вы что-то путаете в курсах Чистова завтра посмотрю, но не помню что такое было
« Последнее редактирование: Июль 04, 2013, 12:02:35 am от Артур »

TuMyP1985

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Тимур
1.21
« Ответ #40 : Июль 04, 2013, 01:35:04 am »
Блин, написал даже на какой минуте в видеоуроке это обсуждается (списание себестоимости), а ссылку на видео не написал)) вот ссылка:

 http://chistov.spb.ru/publ/free_webinar/6-1-0-20

 (1 часть, 32 мин. 30 сек)

 про округление я имел ввиду, если мы будем записывать в переменную (число-2 знака после запятой) выражение 1/3*3, то туда запишется 1 (платформа сама округлит), как на рисунке ниже

 
Вложения:
s2536393.jpg
« Последнее редактирование: Июль 04, 2013, 01:44:21 am от Тимур »

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
1.21
« Ответ #41 : Июль 04, 2013, 01:45:20 pm »
глянул, но там ни чего про это Павел не говорит, видиимо не обратил на это внимание, а в курсах Гилева это особо оговаривается - что умножение оябзательно нужно делать перед делением.

artfa

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Артур
1.21
« Ответ #42 : Июль 30, 2013, 04:15:59 pm »
подправил
Вложения:
5644034.dt

AlexJas25

  • Новичок
  • *
  • Сообщений: 1
1.21
« Ответ #43 : Август 30, 2013, 11:31:23 am »
Еще один вариант
Вложения:
3231042.dt

ksandr

  • Проверенный
  • ***
  • Сообщений: 138
  • ФИО: ksandr
Re: 1.21
« Ответ #44 : Декабрь 06, 2014, 01:37:22 pm »
3. БлокировкаДанных блокирует услуги.
Задача в принципе простая, все знакомо, а вот по вопросу блокировки услуг как-то даже и не задумывался никогда, система при отладке не ругается, вот и думаю надо или нет.
Кто что скажет по этому вопросу.