Автоматическое создание типов цен при сохранении нового товара.
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Мне надоело создавать каждый тип цен для товара... И вышло что-то вот такое. Приведенный код вставить в справочник "Номенклатура" между функцией СохранитьЕдиницы() и процедурой ДобавитьВТаблицу(Табл, Товар, ТипЦены). После этого при сохранении нового товара для него создаются типы цен с нулевой ценой.
!
! Вложенная обработка создает типы цен для товара, который уже сохранен в базе.
!
//автоматическое создание типов цен
Функция СоздатьТипыЦен()
Если Выбран() = 0 Тогда
Возврат 0;
КонецЕсли;
С = СоздатьОбъект("Справочник.Цены");
СТЦ = СоздатьОбъект("Справочник.ТипыЦен");
СТЦ.ВыбратьЭлементы();
Пока СТЦ.ПолучитьЭлемент() = 1 Цикл
С.ИспользоватьВладельца(ТекущийЭлемент());
Если С.НайтиПоРеквизиту("ТипЦен", СТЦ.ТекущийЭлемент(), 0) = 0 Тогда
С.Новый();
С.ТипЦен = СТЦ.ТекущийЭлемент();
С.Валюта = Константа.ВалютаБухУчета;
С.Записать();
П = СоздатьОбъект("Периодический");
П.ИспользоватьОбъект("Единица", С.ТекущийЭлемент());
П.ДатаЗнач = '01.01.1980';
П.Значение = БазоваяЕдиница;
П.Записать();
П.ИспользоватьОбъект("Цена", С.ТекущийЭлемент());
П.ДатаЗнач = '01.01.1980';
П.Значение = 99999999;
П.Записать();
Рез = 1;
Иначе
Рез = 1;
КонецЕсли;
КонецЦикла;
Возврат Рез;
КонецФункции
//------------------------
Может кому и пригодиться.
Вступайте в нашу телеграмм-группу Инфостарт