Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 15:43

проверка созданного документа на основании

Автор serq82, 02 сен 2011, 16:05

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

serq82

Добрый день!
1С 8.2 Управление Торговлей
Создал документ ЗаданиеНаПроизводство
Создал справочник ВидПрофиля
В документе ЗаказПокупателя добавил кнопку СформироватьЗаданиеНаПроизводство,документы создаются для каждого ВидаПрофиля отдельный документ
вот код:
Процедура СформироватьЗПНажатие(Элемент)
Если Не Проведен Тогда
Предупреждение("Сформировать можно только после его проведения!");
Возврат;
КонецЕсли;
МассивВидовПрофилей = Новый Массив;

Для Каждого СтрокаТЧ Из Товары Цикл
НайденныйВидПрофиля = МассивВидовПрофилей.Найти(СтрокаТЧ.Номенклатура.ВидПрофиля);
Если НайденныйВидПрофиля = Неопределено Тогда
МассивВидовПрофилей.Добавить(СтрокаТЧ.Номенклатура.ВидПрофиля);
КонецЕсли;
КонецЦикла;

Для Каждого ЭлементМассива Из МассивВидовПрофилей Цикл
СоздатьДокументЗаданиеНаПроизводство(ЭлементМассива);
КонецЦикла;
КонецПроцедуры

Процедура СоздатьДокументЗаданиеНаПроизводство(ЭлементМассива)

ЗаданиеНаПроизводство = Документы.ЗаданиеНаПроизводство.СоздатьДокумент();
//ЗаданиеНаПроизводство.Номер  = Номер;
ЗаданиеНаПроизводство.Дата = ТекущаяДата();
ЗаданиеНаПроизводство.ДокументОснование = Ссылка;
ЗаданиеНаПроизводство.ДатаОтгрузки = ДатаОтгрузки;
ЗаданиеНаПроизводство.Контрагент = Контрагент;
//ЗаданиеНаПроизводство.Организация = Организация;
ЗаданиеНаПроизводство.Подразделение = Подразделение;
ЗаданиеНаПроизводство.Комментарий = Комментарий;
Для Каждого СтрокаТЧ Из Товары Цикл

Если СтрокаТЧ.Номенклатура.ВидПрофиля <> ЭлементМассива Тогда
Продолжить;
КонецЕсли;

СтрокиТабл = ЗаданиеНаПроизводство.Товары.Добавить();
СтрокиТабл.Номенклатура = СтрокаТЧ.Номенклатура;
СтрокиТабл.Длина = СтрокаТЧ.Длина;
СтрокиТабл.Ширина = СтрокаТЧ.Ширина;
СтрокиТабл.КоличествоЛистов = СтрокаТЧ.Количество;
СтрокиТабл.Количество = СтрокаТЧ.Количество;

КонецЦикла;

ЗаданиеНаПроизводство.Записать(РежимЗаписиДокумента.Запись);

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

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

Андрей Федотов

Можно запросом вытащить есть ли документ "ЗаданиеНаПроизводство", у которого "ДокументОснование" = Ссылка.
А дальше в запросе вытащить параметры "Проведен", "ПометкаНаУдаление" и всё остальное. Ну и обработать в результате запросе.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск