Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
отрывки:примеры_заполнения_сертификата [2018/07/26 15:51] andrewu |
отрывки:примеры_заполнения_сертификата [2018/10/25 18:52] (текущий) asp |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
<1c> | <1c> | ||
+ | Процедура ДействияПослеПроведенияВетСертификата(Объект, Движения) Экспорт | ||
+ | ... | ||
Если Найти(Ссылка.Комментарий, "Накладная создана на основании Заказа")>0 Тогда | Если Найти(Ссылка.Комментарий, "Накладная создана на основании Заказа")>0 Тогда | ||
ОбъектСертификата.Документы.Очистить(); | ОбъектСертификата.Документы.Очистить(); | ||
Строка 15: | Строка 17: | ||
НовСтрТД.Дата = Дата(Сред(Ссылка.Комментарий, Поз2+4, Поз3-Поз2-4+8)); | НовСтрТД.Дата = Дата(Сред(Ссылка.Комментарий, Поз2+4, Поз3-Поз2-4+8)); | ||
КонецЕсли; | КонецЕсли; | ||
+ | КонецПроцедуры | ||
</1c> | </1c> | ||
Строка 20: | Строка 23: | ||
Порядок изменений:\\ | Порядок изменений:\\ | ||
- Добавить элементы в справочник **АСП_ВидыДокументов1С**:<WRAP> | - Добавить элементы в справочник **АСП_ВидыДокументов1С**:<WRAP> | ||
- | ^ Наименование ^ Вид документа ^ Тип операции ^ Код операции ^ | + | ^ Наименование ^ Вид документа ^ Тип операции ^ |
| Реализация на покупателя| РеализацияТоваровУслуг| Синхронизация остатков| | | | Реализация на покупателя| РеализацияТоваровУслуг| Синхронизация остатков| | | ||
</WRAP> | </WRAP> | ||
Строка 45: | Строка 48: | ||
КонецЦикла; | КонецЦикла; | ||
Объект.Записать(); | Объект.Записать(); | ||
+ | КонецЕсли; | ||
+ | КонецПроцедуры | ||
+ | </1c> | ||
+ | |||
+ | ===== Поднадзорный контрагента является партнер ===== | ||
+ | |||
+ | <1c> | ||
+ | Процедура АСП_ЗаписьСправочниковПриЗаписи(Источник, Отказ) Экспорт | ||
+ | ... | ||
+ | Если ТипЗнч(Источник) = Тип("СправочникОбъект.Организации") ИЛИ ТипЗнч(Источник) = Тип("СправочникОбъект.Контрагенты") Тогда | ||
+ | ... | ||
+ | ИначеЕсли ТипЗнч(Источник) = Тип("СправочникОбъект.Партнеры") Тогда | ||
+ | Запрос = Новый Запрос; | ||
+ | Запрос.Текст = "ВЫБРАТЬ | ||
+ | | Контрагенты.Ссылка КАК Ссылка | ||
+ | |ИЗ | ||
+ | | Справочник.Контрагенты КАК Контрагенты | ||
+ | |ГДЕ | ||
+ | | Контрагенты.Партнер = (&Партнер)"; | ||
+ | |||
+ | Ссылка = Источник.Ссылка; | ||
+ | Пока ЗначениеЗаполнено(Ссылка.Родитель) Цикл | ||
+ | Ссылка = Ссылка.Родитель; | ||
+ | КонецЦикла; | ||
+ | Запрос.УстановитьПараметр("Партнер",Ссылка); | ||
+ | |||
+ | Для каждого ТекСтр из Запрос.Выполнить().Выгрузить() цикл | ||
+ | Запись = АСП_Функции.ПолучитьЗапись(Источник.Ссылка, 1); | ||
+ | Запись.Владелец = ТекСтр.Ссылка; | ||
+ | Запись.Адрес = ПолучитьАдрес(Источник.Ссылка, "Фактический"); | ||
+ | Запись.Записать(); | ||
+ | КонецЦикла; | ||
+ | ИначеЕсли ТипЗнч(Источник) = Тип("СправочникОбъект.Номенклатура") Тогда | ||
+ | ... | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | </1c> | ||
+ | |||
+ | ===== Производителя отображать в маркировках ===== | ||
+ | Пример для статики. | ||
+ | |||
+ | <1c> | ||
+ | Процедура ДействияПослеПроведенияВетСертификата(Объект, Движения) Экспорт | ||
+ | ... | ||
+ | Если Объект.ВидДокумента.ТипСертификата = Перечисления.АСП_ТипВетСертификата.Исходящий Тогда | ||
+ | Запрос = Новый Запрос; | ||
+ | Запрос.Текст = | ||
+ | "ВЫБРАТЬ | ||
+ | | ВП.Производитель | ||
+ | |ИЗ | ||
+ | | РегистрСведений.АСП_ВходящиеПартии КАК ВП | ||
+ | |ГДЕ | ||
+ | | ВП.Регистратор = &Регистратор | ||
+ | | И ВП.НомерСтрокиТЧ = &НомерСтрокиТЧ"; | ||
+ | Спис = Новый Массив; | ||
+ | Для Каждого Движение Из Движения.АСП_СкладскиеЗаписи Цикл | ||
+ | Запрос.УстановитьПараметр("НомерСтрокиТЧ", Движение.НомерСтрокиТЧ); | ||
+ | Запрос.УстановитьПараметр("Регистратор", Движение.Сертификат); | ||
+ | |||
+ | РЗ = Запрос.Выполнить().Выбрать(); | ||
+ | Если РЗ.Следующий() И Спис.Найти(РЗ.Производитель) = Неопределено Тогда | ||
+ | Спис.Добавить(РЗ.Производитель.Наименование); | ||
+ | КонецЕсли; | ||
+ | КонецЦикла; | ||
+ | |||
+ | Маркировка = "UNDEFINED:"+СтрСоединить(Спис, ","); | ||
+ | Для Каждого Движение ИЗ Движения.АСП_СкладскиеЗаписи Цикл | ||
+ | ТабФас = АСП_Функции.ФасовкаТаблицей(Движение.Фасовка); | ||
+ | Для Каждого Фас Из ТабФас Цикл | ||
+ | Фас.Маркировки = Маркировка; | ||
+ | КонецЦикла; | ||
+ | Движение.Фасовка = ЗначениеВСтрокуВнутр(ТабФас); | ||
+ | КонецЦикла; | ||
+ | КонецЕсли; | ||
+ | |||
+ | КонецПроцедуры | ||
+ | </1c> | ||
+ | |||
+ | ===== Номер заказа для сетей ===== | ||
+ | <1c> | ||
+ | Процедура ДозаполнитьПоляВетСертификата1С(Ссылка, ОбъектСертификата) Экспорт | ||
+ | ... | ||
+ | Если ЗначениеЗаполнено(Ссылка.НомерЗаказаПокупателя) Тогда | ||
+ | Нов = ОбъектСертификата.Документы.Добавить(); | ||
+ | Нов.Тип = Справочники.АСП_ТипыДокументов.DOC16; | ||
+ | Нов.Связь = Справочники.АСП_ТипыСвязейДокументов.REF6; | ||
+ | Нов.Номер = Ссылка.НомерЗаказаПокупателя; | ||
+ | Нов.Дата = Ссылка.Дата; | ||
+ | КонецЕсли; | ||
+ | ... | ||
+ | КонецПроцедуры | ||
+ | </1c> | ||
+ | |||
+ | ===== Артикул для сетей ===== | ||
+ | <1c> | ||
+ | Процедура ДозаполнитьПоляВетСертификата1С(Ссылка, ОбъектСертификата) Экспорт | ||
+ | ... | ||
+ | Запрос = Новый Запрос( | ||
+ | "ВЫБРАТЬ | ||
+ | | НоменклатураКонтрагентов.АртикулНоменклатурыКонтрагента | ||
+ | |ИЗ | ||
+ | | РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов | ||
+ | |ГДЕ | ||
+ | | НоменклатураКонтрагентов.Номенклатура = &Номенклатура | ||
+ | | И НоменклатураКонтрагентов.Контрагент = &Контрагент"); | ||
+ | Запрос.УстановитьПараметр("Контрагент", Ссылка.Контрагент); | ||
+ | Для Каждого Товар Из ОбъектСертификата.Товары Цикл | ||
+ | Запрос.УстановитьПараметр("Номенклатура",Товар.Номенклатура); | ||
+ | Выбор = Запрос.Выполнить().Выбрать(); | ||
+ | Если Выбор.Следующий() Тогда | ||
+ | Товар.Артикул = Выбор.АртикулНоменклатурыКонтрагента; | ||
+ | КонецЕсли; | ||
+ | КонецЦикла; | ||
+ | ... | ||
+ | КонецПроцедуры | ||
+ | </1c> | ||
+ | |||
+ | ===== Спецификация для УПП ===== | ||
+ | Для УПП Спецификация берется из РегистрСведений.ОсновныеСпецификацииНоменклатуры | ||
+ | <1c> | ||
+ | Функция ЗапросТаблицыСырья(ВидДокумента = Неопределено) Экспорт | ||
+ | ... | ||
+ | Если ВидДокумента.ВидДокумента = "ОтчетПроизводстваЗаСмену" Тогда | ||
+ | Возврат "ВЫБРАТЬ | ||
+ | | Ссылки.Ссылка КАК Ссылка, | ||
+ | | Н.Номенклатура КАК Номенклатура, | ||
+ | | СУММА(Н.Количество/ВИ.Количество*Т.Количество) КАК Количество, | ||
+ | | СУММА(0) КАК Сумма | ||
+ | |ИЗ | ||
+ | | СсылкиВет КАК Ссылки | ||
+ | | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК Т | ||
+ | | ПО (Т.Ссылка = Ссылки.Ссылка) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АСП_Товары КАК Р | ||
+ | | ПО (Т.Номенклатура = Р.Ссылка) | ||
+ | | И (НЕ Р.Категория = ЗНАЧЕНИЕ(Справочник.АСП_КатегорииНоменклатуры.ПустаяСсылка)) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(, ) КАК Осн | ||
+ | | ПО (Т.Номенклатура = Осн.Номенклатура) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК Н | ||
+ | | ПО (Осн.СпецификацияНоменклатуры = Н.Ссылка) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВИ | ||
+ | | ПО (Осн.СпецификацияНоменклатуры = ВИ.Ссылка) | ||
+ | | | ||
+ | |СГРУППИРОВАТЬ ПО | ||
+ | | Ссылки.Ссылка, | ||
+ | | Т.Номенклатура, | ||
+ | | Н.Номенклатура | ||
+ | |УПОРЯДОЧИТЬ ПО | ||
+ | | Ссылки.Ссылка.МоментВремени"; | ||
+ | КонецЕсли; | ||
+ | |||
+ | ... | ||
+ | КонецФункции | ||
+ | </1c> | ||
+ | |||
+ | ===== Спецификация для БП 2.0 ===== | ||
+ | Для БП 2.0 Спецификация берется из ОсновнойСпецификации.Реквизит Номенклатуры | ||
+ | <1c> | ||
+ | Функция ЗапросТаблицыСырья(ВидДокумента = Неопределено) Экспорт | ||
+ | ... | ||
+ | Если ВидДокумента.ВидДокумента = "ОтчетПроизводстваЗаСмену" Тогда | ||
+ | Возврат " | ||
+ | |ВЫБРАТЬ | ||
+ | | Ссылки.Ссылка КАК Ссылка, | ||
+ | | ИК.Номенклатура КАК Номенклатура, | ||
+ | | СУММА(ИК.Количество/ИК.Ссылка.Количество*Т.Количество) КАК Количество, | ||
+ | | СУММА(0) КАК Сумма | ||
+ | |ИЗ | ||
+ | | СсылкиВет КАК Ссылки | ||
+ | | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПроизводстваЗаСмену.Продукция КАК Т | ||
+ | | ПО (Т.Ссылка = Ссылки.Ссылка) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК ИК | ||
+ | | ПО (Т.Номенклатура = ИК.Ссылка.Владелец) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АСП_Товары КАК Р | ||
+ | | ПО ИК.Номенклатура = Р.Ссылка | ||
+ | | И (НЕ Р.Категория = ЗНАЧЕНИЕ(Справочник.АСП_КатегорииНоменклатуры.ПустаяСсылка)) | ||
+ | | | ||
+ | |СГРУППИРОВАТЬ ПО | ||
+ | | Ссылки.Ссылка, | ||
+ | | Т.Номенклатура, | ||
+ | | ИК.Номенклатура | ||
+ | | | ||
+ | |УПОРЯДОЧИТЬ ПО | ||
+ | | Ссылки.Ссылка.МоментВремени"; | ||
+ | КонецЕсли; | ||
+ | ... | ||
+ | КонецФункции | ||
+ | </1c> | ||
+ | |||
+ | ===== Заполнить по документу Комплектация номенклатуры ===== | ||
+ | <1c> | ||
+ | Функция ЗапросТаблицыСырья(ВидДокумента = Неопределено) Экспорт | ||
+ | Если ВидДокумента.ВидДокумента = "КомплектацияНоменклатуры" Тогда | ||
+ | ТЗ= " | ||
+ | //"ВЫБРАТЬ | ||
+ | //| РеализацияТоваровУслуг.Ссылка | ||
+ | //|ПОМЕСТИТЬ СсылкиВет | ||
+ | //|ИЗ | ||
+ | //| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ||
+ | //|; | ||
+ | //| | ||
+ | //|//////////////////////////////////////////////////////////////////////////////// | ||
+ | |ВЫБРАТЬ | ||
+ | | Ссылки.Ссылка КАК Ссылка, | ||
+ | | Т.Номенклатура КАК Номенклатура, | ||
+ | | СУММА(ВЫБОР | ||
+ | | КОГДА Р.Вес = 0 | ||
+ | | ТОГДА Т.Количество | ||
+ | | ИНАЧЕ Р.Вес * Т.Количество | ||
+ | | КОНЕЦ) КАК Количество, | ||
+ | | СУММА(ВЫБОР | ||
+ | | КОГДА Р.Вес = 0 | ||
+ | | ТОГДА ВЫБОР | ||
+ | | КОГДА Р.ОбъемУпаковки = 0 | ||
+ | | ТОГДА ВЫРАЗИТЬ(Т.Количество + 0.4999999 КАК ЧИСЛО(15, 0)) | ||
+ | | ИНАЧЕ ВЫРАЗИТЬ(Т.Количество / Р.ОбъемУпаковки + 0.4999999 КАК ЧИСЛО(15, 0)) | ||
+ | | КОНЕЦ | ||
+ | | ИНАЧЕ Т.Количество | ||
+ | | КОНЕЦ) КАК КоличествоУпаковок | ||
+ | |ИЗ | ||
+ | | СсылкиВет КАК Ссылки | ||
+ | | ЛЕВОЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры.Комплектующие КАК Т | ||
+ | | ПО (Т.Ссылка = Ссылки.Ссылка) | ||
+ | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АСП_Товары КАК Р | ||
+ | | ПО (Т.Номенклатура = Р.Ссылка) | ||
+ | | И (НЕ Р.Категория = ЗНАЧЕНИЕ(Справочник.АСП_КатегорииНоменклатуры.ПустаяСсылка)) | ||
+ | | | ||
+ | |СГРУППИРОВАТЬ ПО | ||
+ | | Ссылки.Ссылка, | ||
+ | | Т.Номенклатура | ||
+ | | | ||
+ | |УПОРЯДОЧИТЬ ПО | ||
+ | | Ссылки.Ссылка.МоментВремени"; | ||
+ | Возврат ТЗ | ||
КонецЕсли; | КонецЕсли; | ||
КонецПроцедуры | КонецПроцедуры | ||
</1c> | </1c> |