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

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

tyes4

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: lll
1.5
« : Июль 12, 2010, 10:05:38 am »
Посмотрите, пожалуйста, кому не лень=)
Вложения:
1_5_tyes4.dt

1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
1.5
« Ответ #1 : Июль 16, 2010, 05:09:52 pm »
Quote
//Проблема копеек
 СуммаСписания = ?(Движение.Количество = Выборка.КоличествоОстаток,
 Выборка.СуммаОстаток,
 Выборка.СуммаОстаток / Выборка.КоличествоОстаток * Движение.Количество);

Можно так:
 

Code
СуммаСписания = Движение.Количество / Выборка.КоличествоОстаток * Выборка.СуммаОстаток

Не совсем понял зачем нужно это:

Quote
Движение.СуммаПродажи = Выборка.Цена*КоличествоСписания;

Почему нельзя было в запросе сразу выбрать сумму?

Но, в целом, вроде хорошо! Лично мне понравилось wink



tyes4

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: lll
1.5
« Ответ #2 : Июль 16, 2010, 05:18:46 pm »
На курсах особо обращали внимание на "проблему копеек", что всегда и везде, поэтому и написала =)

1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
1.5
« Ответ #3 : Июль 21, 2010, 11:03:27 am »
Вот оно, на мой скромный взгляд, идеальное решение!!! cool Шучу, но задача - отрыв башки........

Особую роль здесь играет восстановление последовательности, т.к. при перепроведении документа задним числом могут влегкую полететь все остатки, последовательное-же перепроведение всех документов ставит 1С с головы обратно на ноги))

P.S.Очень и очень прошу оставить свои комментарии, т.к. ошибки там стопроцентно есть, но я эту задачу уже видеть не хочу.... и искать там ошибки тоже, но если кто-то найдет, с огромным удовольствием исправлю! wink

Добавлено (21.07.2010, 11:03)
---------------------------------------------
Опять никого...... sad

Да помогите-же вы человеку, посмотрите ДТ'шник, оставьте пару комментариев, это займет всего 10 минут)) Вам не сложно, а мне приятно wink


Вложения:
105_1CCoder.dt

Bepa

  • Модератор
  • Новичок
  • *****
  • Сообщений: 0
  • ФИО: Вера
1.5
« Ответ #4 : Июль 22, 2010, 04:33:37 pm »
сегодня посмотрю.
 Только не поняла, зачем перепроводить доки задним числом?
 Вообще, задачка широко обсуждалась и на этом форуме, и на одноэсовском форуме.
 И, если не ошибаюсь, для 8.1 на инфостарте Павел выкладывал решение.

1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
1.5
« Ответ #5 : Июль 22, 2010, 05:14:39 pm »
Quote (Bepa)
Только не поняла, зачем перепроводить доки задним числом?

 Так сказано в условиях задачи, если учетная политика меняется задним числом (а по условию задачи это может быть сделано), то должны быть восстановлены все последующие движения

Bepa

  • Модератор
  • Новичок
  • *****
  • Сообщений: 0
  • ФИО: Вера
1.5
« Ответ #6 : Июль 22, 2010, 06:02:54 pm »
у меня сборник старый (новый возьму только завтра), так в нем нет ничего о том, что политика изменяется задним числом. Каждый день - да, но не задним.

1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
1.5
« Ответ #7 : Июль 22, 2010, 06:20:19 pm »
Quote (Bepa)
у меня сборник старый (новый возьму только завтра), так в нем нет ничего о том, что политика изменяется задним числом. Каждый день - да, но не задним.

Вот выдержка из сборника 8.2
 

Quote
Считается, что документы задним числом не вводятся, но старые документы могут неоперативно проводится

А это выдержка из старого сборник 8.1
 

Quote
Считается, что документы задним числом не вводятся, но старые документы могут неоперативно проводится

Одно и тоже, хотя не исключено, что я не так понял смысл этой фразы, но поскольку уважаемая 1С не уточняет какие именно документы могут неоперативно проводится, то я сделал так, как оно есть сейчас))


Bepa

  • Модератор
  • Новичок
  • *****
  • Сообщений: 0
  • ФИО: Вера
1.5
« Ответ #8 : Июль 22, 2010, 06:36:07 pm »
Документы - расходные.
 не надо усложнять ничего smile

Zhora_Vlg

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Георгий
1.5
« Ответ #9 : Август 17, 2010, 04:48:09 pm »
Quote (Bepa)
Документы - расходные.
 не надо усложнять ничего

 Поясните почему Вы так уверены, что только расходные?

Добавлено (17.08.2010, 16:29)
---------------------------------------------
Подскажите, пожалуйста, можно ли данный код      
 

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

 заменить предложением "ДЛЯ ИЗМЕНЕНИЯ РегистрНакопления.ОстаткиНоменклатуры.Остатки" в запросе?

Добавлено (17.08.2010, 16:48)
---------------------------------------------
Ещё вопрос.
 Проверять, что новый документ вводится задним числом, нужно в "ОбработкаПроверкиЗаполнения", или как все делают в "ПередЗаписью"?


old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
1.5
« Ответ #10 : Август 17, 2010, 05:56:37 pm »
Zhora_Vlg, имхо блокировку лучше в запросе делать.

1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
1.5
« Ответ #11 : Август 17, 2010, 06:08:33 pm »
Quote (Zhora_Vlg)
или как все делают

 если все так делают, то это еще не значит что это правильно wink

на самом деле, можешь делать там, где тебе удобно, главное чтобы правильно сработало и эффективно по ресурсоемкости cool


napan

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Alexey
1.5
« Ответ #12 : Август 18, 2010, 10:29:13 pm »
Решил так....Может кто проверит (интересует в основном списание по средней, там же партии все таки в одном регистре) . Спасибо заранее
Вложения:
3400157.dt

aworld

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Хасанов Амир Ринатович
1.5
« Ответ #13 : Август 20, 2010, 02:07:47 pm »
1C_CoderVamp, при проведении документа ИзменениеМетодаСписания когда делаешь приход по регистру остатков то лучше наверно группировать строки по номенклатуре ?

Добавлено (20.08.2010, 13:03)
 ---------------------------------------------
 

Code
  Пока Выборка.Следующий() Цикл
       
     Движение = Движения.ОстаткиНоменклатуры.ДобавитьРасход();
     ЗаполнитьЗначенияСвойств(Движение,Выборка);
       
     //Движение = Движения.ОстаткиНоменклатуры.ДобавитьПриход();
     //ЗаполнитьЗначенияСвойств(Движение,Выборка);
     //Движение.Партия = Ссылка;
       
    КонецЦикла;
      
    ТЗ = Движения.ОстаткиНоменклатуры.Выгрузить();
    ТЗ.ЗаполнитьЗначения(Ссылка,"Партия");
    ТЗ.Свернуть("Период, Партия, Номенклатура","Количество, Сумма");
    Для Каждого Строка Из ТЗ Цикл
     Движение = Движения.ОстаткиНоменклатуры.ДобавитьПриход();
     ЗаполнитьЗначенияСвойств(Движение,Строка);
    КонецЦикла;
 
« Последнее редактирование: Август 20, 2010, 02:13:02 pm от Хасанов Амир Ринатович »

aworld

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Хасанов Амир Ринатович
1.5
« Ответ #14 : Август 20, 2010, 03:42:46 pm »
napan, решение не верное, прикрепляю твою конфу, глянь отчет по остаткам на 20 августа
 имхо надо делать как у вампкодера smile

Добавлено (20.08.2010, 15:42)
 ---------------------------------------------
 Только мне кажется, что не ссылку нужно в качестве партии прописывать, а пустую ссылку, чтобы потом все строки нормально сложились, и можно было списывать по средней.
 На это можно сказать, что тогда это уже не будет партионным учетом, как якобы требуется в задаче, потому что какая партия может быть без даты? Но обращаю внимание на цитату Белоусова П. из ветки форума 1с по задаче 1.5:
 

Quote

 В Вашем решении в один момент времени должен существовать или учет по партиям, или учет по средней с соответствующими данными регистра накопления.

Вложения:
napan15.dt
« Последнее редактирование: Август 20, 2010, 03:44:41 pm от Хасанов Амир Ринатович »