УНФ. Партионный учет для списания материалов в документе "Сборка заказов". Версия 0.01

24.12.09

Разработка - Механизмы типовых конфигураций

Документ заполняется материалами по спецификации, но графа партии не заполняется. Теперь под словом Партия 1с понимает чисто управленческий учет. Партия как качество или особенность номенклатуры. Поэтому даже не планируется списание этих управленческих партий каким либо автоматическим методом. Партию надо выбирать вручную ! Данная доработка заполняет табличную часть документа Сборка заказов по спецификации методом ФИФО.

Жду ваших комментариев и предложений по совершенствованию

Алгоритм пока не рабочий. Остатки по документу поступления (регистратору) не видны.

 

Документ заполняется материалами по спецификации, но графа партии не заполняется. Теперь под словом Партия 1с понимает чисто управленческий учет. Партия как качество или особенность номенклатуры. Поэтому даже не планируется списание этих управленческих партий каким либо автоматическим методом. Партию надо выбирать вручную ! Данная доработка заполняет табличную часть документа Сборка заказов по спецификации методом ФИФО.

 

Жду ваших комментариев и предложений по совершенствованию.

Алгоритм пока не рабочий. Остатки по документу поступления (регистратору) не видны.

 

  1. Изменил процедуру формы документа.

 

&НаСервере

// Процедура заполняет Запасы по спецификации.

//

Процедура ЗаполнитьПоСпецификацииНаСервере()

           

            Документ = РеквизитФормыВЗначение("Объект");

            Документ.ЗаполнитьТабличнуюЧастьПоСпецификации();

           

            //изменено нач

            ТЗМатериаловДляСписания = Документ.Запасы.Выгрузить(,"Номенклатура,Количество,ЕдиницаИзмерения");

           

            Запрос = Новый Запрос;

    МенеджерВТ = Новый МенеджерВременныхТаблиц;

    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

           

            Запрос.УстановитьПараметр("Организация", Документ.Организация);

            Запрос.УстановитьПараметр("СтруктурнаяЕдиница", Документ.СтруктурнаяЕдиница);

            Запрос.УстановитьПараметр("СчетУчета", ПланыСчетов.Управленческий.СырьеИМатериалы);

            Запрос.УстановитьПараметр("МоментВремени", Документ.МоментВремени());

            Запрос.УстановитьПараметр("ТЗМатериаловДляСписания", ТЗМатериаловДляСписания);

           

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |           ТЗ.Номенклатура КАК Номенклатура,

                        |           ТЗ.Количество КАК Количество,

                        |           ТЗ.ЕдиницаИзмерения

                        |ПОМЕСТИТЬ Номенклатурка

                        |ИЗ

                        |           &ТЗМатериаловДляСписания КАК ТЗ

                        |

                        |ИНДЕКСИРОВАТЬ ПО

                        |           Номенклатура";

            Запрос.Выполнить();

                       

            Документ.ЗапасыОчистить();

                       

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |           МАКСИМУМ(ВложенныйЗапрос.КолДляСписания) КАК КолДляСписания,

                        |           ВложенныйЗапрос.Регистратор КАК Регистратор,

                        |           ВложенныйЗапрос.Номенклатура КАК Номенклатура,

                        |           ВложенныйЗапрос.Партия КАК Партия,

                        |           МАКСИМУМ(ВложенныйЗапрос.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,

                        |           ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения

                        |ИЗ

                        |           (ВЫБРАТЬ

                        |                       МАКСИМУМ(ВложенныйЗапрос.Количество) КАК КолДляСписания,

                        |                       ЗапасыОстаткиИОбороты.Регистратор КАК Регистратор,

                        |                       ЗапасыОстаткиИОбороты.Номенклатура КАК Номенклатура,

                        |                       ЗапасыОстаткиИОбороты.Партия КАК Партия,

                        |                       МАКСИМУМ(ЗапасыОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,

                        |                       ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения

                        |           ИЗ

                        |                       (ВЫБРАТЬ

                        |                                   Номенклатурка.Номенклатура КАК Номенклатура,

                        |                                   Номенклатурка.Количество КАК Количество,

                        |                                   Номенклатурка.ЕдиницаИзмерения КАК ЕдиницаИзмерения

                        |                       ИЗ

                        |                                   Номенклатурка КАК Номенклатурка) КАК ВложенныйЗапрос

                        |                                   ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.ОстаткиИОбороты(, &МоментВремени, Регистратор, ДвиженияИГраницыПериода, Номенклатура В (&ТЗМатериаловДляСписания)) КАК ЗапасыОстаткиИОбороты

                        |                                   ПО ВложенныйЗапрос.Номенклатура = ЗапасыОстаткиИОбороты.Номенклатура

                        |          

                        |           СГРУППИРОВАТЬ ПО

                        |                       ЗапасыОстаткиИОбороты.Регистратор,

                        |                       ЗапасыОстаткиИОбороты.Номенклатура,

                        |                       ЗапасыОстаткиИОбороты.Партия,

                        |                       ВложенныйЗапрос.ЕдиницаИзмерения) КАК ВложенныйЗапрос

                        |

                        |СГРУППИРОВАТЬ ПО

                        |           ВложенныйЗапрос.Номенклатура,

                        |           ВложенныйЗапрос.Регистратор,

                        |           ВложенныйЗапрос.Партия,

                        |           ВложенныйЗапрос.ЕдиницаИзмерения

                        |ИТОГИ ПО

                        |           Номенклатура,

                        |           Регистратор,

                        |           Партия,

                        |           ЕдиницаИзмерения";

 

            //Запрос.УстановитьПараметр("Номенклатура", ТЗМатериаловДляСписания);

           

            Результат = Запрос.Выполнить();

 

           

            ВыбНом = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

            Пока ВыбНом.Следующий() Цикл

                       

                        Нужно = ВыбНом.КолДляСписания;

                       

                        ВыбРег = ВыбНом.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

                        Пока ВыбРег.Следующий() Цикл

                                  

                                   Если Нужно <=  0 Тогда

                                               Продолжить;   

                                   КонецЕсли;

                                  

                                   ВыбПартия = ВыбРег.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

                                   Пока ВыбПартия.Следующий() Цикл

 

                                               ВыбПартияЕдИзм = ВыбПартия.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

                                       ВыбПартияЕдИзм.Следующий();

                                              

                                               ДоступноДляСписания = ВыбПартияЕдИзм.КоличествоКонечныйОстаток;

                                               Если Нужно >  ДоступноДляСписания Тогда

                                                           Документ.ДобавляемСтрокуЗатратПартия(ВыбПартияЕдИзм,ДоступноДляСписания);

                                                           Нужно = Нужно - ДоступноДляСписания;        

                                               Иначе

                                                           //списываем остаток

                                                           ДоступноДляСписания = Нужно;

                                                           Документ.ДобавляемСтрокуЗатратПартия(ВыбПартияЕдИзм,ДоступноДляСписания);

                                                           Нужно = 0;

                                               КонецЕсли;

                                              

                                   КонецЦикла;

                                  

                        КонецЦикла;

                       

            КонецЦикла;

            //изменено Кон

           

            ЗначениеВРеквизитФормы(Документ, "Объект");

            Модифицированность = Истина;

           

 

КонецПроцедуры // ЗаполнитьМатериальныеЗатратыПоСпецификацииНаСервере()    

 

  1. Добавил свои процедуры в модуль документа

 

//изменено

Процедура ДобавляемСтрокуЗатратПартия(СтрокаВыборки, КолДляСписания) Экспорт

           

            НоваяСтрока = Запасы.Добавить();

                                  

            ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);

            НоваяСтрока.Количество = КолДляСписания;

           

КонецПроцедуры

 

Процедура ЗапасыОчистить() Экспорт

            Запасы.Очистить();

КонецПроцедуры

 

 

См. также

Ценовая власть. Выносим из цикла схему СКД

Механизмы типовых конфигураций Ценообразование, анализ цен Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Продолжение темы вынесения кусков повторно-используемого кода в запрос. В прошлый раз мы сделали это с вычислением пользовательских формул. Здесь замахнулись на формулы, задаваемые пользователем запросами.

1 стартмани

11.04.2024    545    tango    0    

3

Формула в реквизите. Приквелл к сериалу "Ценовая власть"

Механизмы типовых конфигураций Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Какому-либо элементу списка сопоставляется числовое значение, зависящее от других значений, причем эта зависимость изменяется от элемента к элементу. Так, в справочнике "Валюты" курс какой-либо валюты может быть задан формулой (или даже запросом) от значения другой валюты. А в справочнике "Виды цен" формула определяет расчет цены для товарной позиции, т.е. элементов справочника "Номенклатура", у которых в карточке указан этот вид цены. А в 1С:ERP, например, этот механизм используется в ресурсной спецификации.

10 стартмани

11.04.2024    423    tango    5    

4

Ценовая власть. Второй сезон

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Бесплатно (free)

В первом сезоне мы рассмотрели (с точки зрения программиста) внутренний механизм, помещающий цены в регистр "Цены". Из этого регистра цена попадает в исходящие УПД (в продажи). Но эта цена (в прайс-листе) дифференцирована (ценообразована) в разрезах свойств самой номенклатуры. Но стратегия ценообразования, ценовая власть - это в первую очередь о работе с ценами для клиента. И тут вступает в дело второй акт марлезонского, Скидки (наценки) и кешбек.

08.04.2024    792    tango    0    

2

Ценовая власть (УТ 11.5) - 2

Механизмы типовых конфигураций Платформа 1С v8.3 1С:Управление торговлей 11 Бесплатно (free)

В прошлый раз специальной обработкой мы выбрали объекты УТ 1.5, группируя по подсистемам. Оказалось, что состав подсистем не вполне корректно отображает функциональную структуру, но зато мы нашли процедуру, которая, вроде бы, должна содержать в себе всё, что нас интересует. Обновление цен должно ведь следовать выбранной стратегии ценообразования, верно? Иначе что она обновляет...

06.04.2024    484    tango    1    

1

Ценовая власть или Управление ценообразованием (УТ 11.5)

Ценообразование, анализ цен Механизмы типовых конфигураций Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Ценовая власть - это способность (возможность) компании изменять в некоторых пределах отпускную цену своего товара (услуг, продукции). Чем в более широких пределах вы можете играть в цену продажи, тем больше этой власти у вас. Если вы не можете управлять отпускной ценой, то это или не ваш бизнес, или не бизнес вовсе. Здесь в рубрике "База знаний аналитика и руководителя проекта" слово проект не ограничено "проектом в 1С". Посмотрим, что для этого есть в УТ 11.5.

1 стартмани

05.04.2024    606    tango    12    

2

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2688    YA_418728146    11    

45

Регистры накопления в 1С:КА2 и 1С:ERP для расчета НДФЛ, страховых взносов и взаиморасчетов с сотрудниками на январь 2024 года. Краткое описание

Зарплата Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Для расчета зарплаты и соответствующих налогов в конфигурациях 1С:КА2 и 1С:ERP используется 22 регистра накопления, 7 регистров сведений, 1 регистр расчета и бухгалтерские проводки. В таблице приведены названия этих регистров, указаны основные регистраторы и виды движений приход/расход. В описании приводится краткое функциональное назначение регистров в основных зарплатных процессах. Описание регистров родилось из черновиков при написании различных отчетов и обработок при эксплуатации 1С-овских конфигураций и исправлении ошибок по НДФЛ, взаиморасчетов с сотрудниками и прочих. Информация не претендует на полноценное описание работы регистров, скорее это дискуссионный материал. Но, возможно, кому-то пригодится и сократит время при подготовке отчетности за непростой (в плане учета зарплаты) 2023 год. А возможно, кто-то поделится своим опытом.

1 стартмани

10.01.2024    1219    8    2ncom    6    

8

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    5045    mrXoxot    11    

101
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. scanner1980 266 12.10.22 13:47 Сейчас в теме
хороший пример, только привязки к продукции нет в итоговой таблице запасы
Оставьте свое сообщение