Продажа собственной фирме (интеркомпани) - заполнение отрицательными остатками

06.05.12

Задачи пользователя - Адаптация типовых решений

В документе "Продажа собственной фирме" приходится добавлять номенклатуру вручную через подбор. А ведь можно сэкономить время и заполнить спецификацию документа на основании отрицательных остатков фирмы. Все просто...


1. Открываем конфигуратор. Документы --> Быстрая продажа --> Форма --> Модуль
2. Идем в конец модуля, после последней строки вставляем код

	 // Предопределенная процедура
//sw
Процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора)
   //есть ставки налогов, есть скидка
   глОбработкаПодбора(Контекст, ВыбЗнач, 1, 1, 1);
КонецПроцедуры // ОбработкаПодбора()

	 Процедура ЗаполнитьПоОстаткам()
   //проверки
   Если Форма.Параметр <> "Перемещение" Тогда
      Предупреждение("Только для внутрифирменных продаж");
      Возврат;
   ИначеЕсли КоличествоСтрок() <> 0 Тогда
      Если Вопрос("Заполнить по отрицательным остаткам склада покупателя (перед заполнением табличная часть будет очищена)?", "Да+Нет", 60) <> "Да" Тогда
         Возврат;
      КонецЕсли;
      Сообщить("заполняю");
      УдалитьСтроки();
   КонецЕсли;
   //конец проверок

   ТекстЗапросаОстатков="
   |ФирмаПокупат = Регистр.ОстаткиТМЦ.Фирма;
   |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
   |СкладПокупат = Регистр.ОстаткиТМЦ.Склад;
   |Количество = Регистр.ОстаткиТМЦ.Количество;
   |Функция КоличествоКонОст = КонОст(Количество);
   |Группировка Номенклатура без групп;
   |Условие(ФирмаПокупат=ФирмаПокупателя);
   |Условие(СкладПокупат=СкладПокупателя);";

   ЗапросПоОстаткам = СоздатьОбъект("Запрос");
   Если ЗапросПоОстаткам.Выполнить(ТекстЗапросаОстатков) = 0 Тогда
      Возврат;
   КонецЕсли;
   флаг=0; // для отслеживания того что отбор был

   СписокНоменклатуры =СоздатьОбъект("СписокЗначений"); // думаю пригодится.

   Пока ЗапросПоОстаткам.Группировка(1) = 1 Цикл
      Если ЗапросПоОстаткам.КоличествоКонОст < 0 Тогда //нам нужны отрицательные остатки
         флаг=1;
         НоваяСтрока();
         Номенклатура=ЗапросПоОстаткам.Номенклатура;
         Количество=-ЗапросПоОстаткам.КоличествоКонОст;
         глПересчетТаблЧасти(Контекст,"Номенклатура");
         глПересчетТаблЧасти(Контекст,"Количество");
      КонецЕсли;
   КонецЦикла;

   Если флаг=0 Тогда
      Сообщить("У организации " + ФирмаПокупателя + " по складу " + СкладПокупателя + " не найдено отрицательных остатков");
      Возврат;
   КонецЕсли;
КонецПроцедуры

3. Переходим в диалог формы (слой табличная часть). Вставляем кнопку (Главное меню --> Вставка --> Кнопка).

4. Переходим на кнопке на вкладку "Дополнительно" и заполняем формулу вписанной в модуль процедурой: ЗаполнитьПоОстаткам()

 Заполнить по остаткам
5. Сохраняем изменения конфигурации. Запускаем 1С.

Кнопка заполнить работает и экономит время. 5 минут работы ))

 

зы. спасибо этим публикациям

http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3432 

http://forum.infostart.ru/forum11/topic42164/

 

См. также

Улучшенная обработка "Внешние печатные формы" для типовых конфигураций на базе 1С 7.7

Печатные формы Адаптация типовых решений Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Приятное улучшение обработки "Внешние печатные формы" для типовых конфигураций на базе 1С 7.7 для более комфортной работы с "любимой семерочкой".

1 стартмани

04.02.2022    3200    1    igor7777    0    

3

Расчет страховых взносов в 1С 7.7 "Учет и отчетность предпринимателя, ред. 1.2" с апреля 2020

Адаптация типовых решений Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

В этой статье описано, какие небольшие изменения можно внести в модуль документа Начисление налогов с ФОТ, чтобы правильно рассчитывались страховые взносы с 1 апреля 2020 г.

09.04.2020    19676    Юджин58    39    

5

Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки.

Адаптация типовых решений Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Управленческий учет Бесплатно (free)

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    6009    ksnik    14    

3

Как в торговле 7.7 печатать код ТНВЭД в счет-фактуре

Операции по ВЭД Адаптация типовых решений Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет НДС Бесплатно (free)

В данной статье хотел поделиться опытом, как в Торговле 7.7 ( релиз 994) сделать возможность выводить код ТНВЭД в печатную форму счета-фактуры. Сразу скажу, что нужно это только тем, кто осуществляет экспорт в страны таможенного союза. Остальные могут не волноваться.

15.11.2017    11816    AndKovalchuk    0    

1

Предельные базы взносов в ПФР, ФСС, ФФОМС 2015 в 1С: Бухгалтерия 7.7

Зарплата Адаптация типовых решений Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Абонемент ($m)

Реализация Постановления Правительства РФ 1316 от 04.12.14 для типовой конфигурации "Бухгалтерский учет 7.7" рел. 7.70.590

1 стартмани

31.12.2014    23928    9    Sergey1CSpb    2    

0
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Фред 09.05.12 08:27 Сейчас в теме
Эх! Опять куда-то в модуль послали...)) Я в модуль ходить давно боюсь....как за три месяца первичку ручками восстановил...((
2. eleonora 02.12.14 23:54 Сейчас в теме
Спасибо! А можно получить остатки на определенную дату?
3. Vesna789 07.12.15 22:47 Сейчас в теме
Добрый вечер, не могли помочь? Сделала все как вы описали, работает но выдает ошибку:
ЗаполнитьПоОстаткам<<?>>()
Процедура вызывается как функция (ЗаполнитьПоОстаткам)
Что я не правильно сделала?
Оставьте свое сообщение