sia_1980, так можно в конце то концов описать проблему внятно? Проблема в том, что ругается где-то или в том, что не работает как вы хотите или сейчас выяснится что проблема вообще в чем-то другом?
обработка ставит флаг Покрытие на документ Реализация товаров что отображается в форме списка в виде флажка, нужно добавить флаг Покрытия в Документы Акт Разногласия и Возврат товаров от покупателя, чтоб тоже отображался в форме списка флажок. при добавлении в эту обработку Ссылок на данные документы она не работает.
Если некий оригинал отличается от кода, который вы привели в начальном посте, как вам можно помочь? Гадалки в отпусках...
Оригинал кода
Перем мИзменениеСтатусаДоступно;
Процедура КнопкаВыполнитьНажатие(Кнопка)
ОчиститьСообщения();
// Прописать в регистр владельца документов НаборЗаписей = РегистрыСведений.ВладельцыДокументов.СоздатьНаборЗаписей(); Период = ТекущаяДата(); Для каждого Документ Из СканированныеДокументы Цикл Если НЕ Документ.Обработать Тогда Продолжить; КонецЕсли; НоваяСтрока = НаборЗаписей.Добавить(); НоваяСтрока.ДокументСсылка = Документ.Документ; НоваяСтрока.Пользователь =глЗначениеПеременной("глТекущийПользователь"); НоваяСтрока.Период = Период; Если ТоварОтгружен = 1 Тогда Состояние = Перечисления.СостоянияРеализаций.ТоварОтгружен; ИначеЕсли ТоварОтгружен = 2 Тогда Состояние = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа; ИначеЕсли ТоварОтгружен = 3 Тогда Состояние = Перечисления.СостоянияРеализаций.ВозвратНаСклад; Иначе Состояние = Перечисления.СостоянияРеализаций.Покрытие; КонецЕсли;
// меняем статус документа реализации Если мИзменениеСтатусаДоступно Тогда НаборЗаписейСостоянияРеализация = РегистрыСведений.СостоянияРеализацийТоваровУслуг.СоздатьНаборЗаписей(); Отбор = НаборЗаписейСостоянияРеализация.Отбор; Отбор.Документ.Установить(Документ.Документ); Отбор.Состояние.Установить(Состояние); Отбор.Период.Установить(Период);
НаборЗаписейСостоянияРеализация.Записать(Истина); Если ОтменитьПокрытие = Истина Тогда Рег = РегистрыСведений.СостоянияРеализацийТоваровУслуг; Выборка = Рег.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияРеализаций.Покрытие Тогда Выборка.ПолучитьМенеджерЗаписи().Удалить(); КонецЕсли; КонецЦикла; Сообщить("Покрытие снято! Документ:"+Документ.Документ ,СтатусСообщения.Внимание); Иначе Сообщить("Покрытие установлено! Документ:"+Документ.Документ ,СтатусСообщения.Внимание); КонецЕсли;
Если НЕ ЗначениеЗаполнено(Сообщение) Тогда Возврат; КонецЕсли;
Попытка ИД = Новый УникальныйИдентификатор(Сообщение); Исключение Предупреждение("Ошибка считывания штрихкода. Пересканируйте последний документ."); Возврат; КонецПопытки;
Для Каждого ТекСтрока Из Метаданные.Документы Цикл
СсылкаНаДокумент = Документы[ТекСтрока.Имя].ПолучитьСсылку(ИД); Объект = СсылкаНаДокумент.ПолучитьОбъект();
Если Объект <> Неопределено Тогда
РезПоиска = СканированныеДокументы.Найти(Объект.Ссылка,"Документ"); Если НЕ РезПоиска = Неопределено Тогда НоваяСтрока = РезПоиска; Сообщить("Документ "+Объект.Ссылка+" уже присутствует в таблице. Запись обновлена. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация); Иначе НоваяСтрока = СканированныеДокументы.Добавить(); Сообщить("Документ "+Объект.Ссылка+" добавлен в таблицу. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация); КонецЕсли;
НоваяСтрока.Документ = Объект.Ссылка; НоваяСтрока.Контрагент = Объект.Ссылка.Контрагент; Если мИзменениеСтатусаДоступно Тогда
Если ТоварОтгружен = 1 Тогда НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ТоварОтгружен; ИначеЕсли ТоварОтгружен = 2 Тогда НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа; ИначеЕсли ТоварОтгружен = 3 Тогда НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ВозвратНаСклад; Иначе НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.Покрытие; КонецЕсли;
СостояниеПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОсновноеСостояниеРеализации"); Если СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ТоварОтгружен Тогда ТоварОтгружен = 1; ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа Тогда ТоварОтгружен = 2; ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ВозвратНаСклад Тогда ТоварОтгружен = 3; Иначе ТоварОтгружен = 4; КонецЕсли;
ЭлементыФормы.ТоварОтгружен.Доступность = ДоступнаЭкспедиция; ЭлементыФормы.ОжиданеДозаказа.Доступность = ДоступнаЭкспедиция; ЭлементыФормы.ВозвратНаСклад.Доступность = ДоступнаЭкспедиция; ЭлементыФормы.Покрытие.Доступность = ДоступнаПокрытие; Если Не ДоступнаЭкспедиция И Не ДоступнаПокрытие Тогда Сообщить("У Вас нет прав устанавливать статус документа. Если Вам необходимы такие правта, то обратитесь к программисту!!!"); ЭтаФорма.Закрыть(); КонецЕсли; КонецПроцедуры
Функция ПоддерживаетсяВидТО(Вид) Экспорт
Результат = Ложь;
Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода Тогда Результат = Истина; КонецЕсли;
Возврат Результат;
КонецФункции // ПоддерживаетсяВидТО()
Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт
Возврат Ложь;
КонецФункции // СШКНеизвестныйКод()
// Процедура осуществляет обработку ошибки, произошедшей при работе со сканером // штрихкода. // // Параметры: // Ошибка - <ПеречислениеСсылка.ТООшибки*> // - Возникшая ошибка. // // Штрихкод - <Строка> // - Считанный штрихкод или пустая строка, если штрихкод не был // считан. // // ТипШК - <ПланыВидовХарактеристикСсылка.ТипыШтрихкодов> // - Тип штрихкода или пустая ссылка в случае, если тип не определён. // // СШК - <Строка> // - Идентификатор сканера штрихкода, с которым связано данное // событие. // Процедура СШКОшибка(Ошибка, Штрихкод, ТипШК, СШК) Экспорт
Текст = ПолучитьСерверТО().ПолучитьТекстОшибкиСШКТО(Ошибка, Штрихкод, ТипШК); Предупреждение(Текст);
Доброго времени суток. есть задача в список выбора документов Акт разногласия и Возврат от покупателя вставить колонку с флагом покрытие. есть обработка которая ставит єтот флаг для Реализации.
по аналоги в список выбора Возврат от покупателя была добавлена колонка Покрытие
в обработку добавлены ссылки на эти документы
Перем мИзменениеСтатусаДоступно;
Процедура КнопкаВыполнитьНажатие(Кнопка)
ОчиститьСообщения();
// Прописать в регистр владельца документов НаборЗаписей = РегистрыСведений.ВладельцыДокументов.СоздатьНаборЗаписей(); Период = ТекущаяДата(); Для каждого Документ Из СканированныеДокументы Цикл Если НЕ Документ.Обработать Тогда Продолжить; КонецЕсли; НоваяСтрока = НаборЗаписей.Добавить(); НоваяСтрока.ДокументСсылка = Документ.Документ; НоваяСтрока.Пользователь =глЗначениеПеременной("глТекущийПользователь"); НоваяСтрока.Период = Период; Если ТоварОтгружен = 1 Тогда Состояние = Перечисления.СостоянияРеализаций.ТоварОтгружен; ИначеЕсли ТоварОтгружен = 2 Тогда Состояние = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа; ИначеЕсли ТоварОтгружен = 3 Тогда Состояние = Перечисления.СостоянияРеализаций.ВозвратНаСклад; Иначе Состояние = Перечисления.СостоянияРеализаций.Покрытие; Состояние = Перечисления.СостоянияАктРазногласия.Покрытие; Состояние = Перечисления.СостоянияВозвратТоваровОтПокупателя.Покрытие; КонецЕсли;
// меняем статус документа реализации Если мИзменениеСтатусаДоступно Тогда НаборЗаписейСостоянияРеализация = РегистрыСведений.СостоянияРеализацийТоваровУслуг.СоздатьНаборЗаписей(); НаборЗаписейСостоянияАктРазногласия = РегистрыСведений.СостоянияАктРазногласия.СоздатьНаборЗаписей(); НаборЗаписейСостоянияВозвратТоваровОтПокупателя = РегистрыСведений.СостоянияВозвратТоваровОтПокупателя.СоздатьНаборЗаписей(); Отбор = НаборЗаписейСостоянияРеализация.Отбор; Отбор = НаборЗаписейСостоянияАктРазногласия.Отбор; Отбор = НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Отбор; Отбор.Документ.Установить(Документ.Документ); Отбор.Состояние.Установить(Состояние); Отбор.Период.Установить(Период);
Запись = НаборЗаписейСостоянияРеализация.Добавить(); Запись = НаборЗаписейСостоянияАктРазногласия.Добавить(); Запись = НаборЗаписейСостоянияВозвратТоваровОтПокупателя.Добавить(); Запись.Период = Период; Запись.Пользователь =глЗначениеПеременной("глТекущийПользователь"); Запись.Документ = Документ.Документ; Запись.Состояние = Состояние;
Если ОтменитьПокрытие = Истина Тогда Рег = РегистрыСведений.СостоянияРеализацийТоваровУслуг; Рег = РегистрыСведений.СостоянияАктРазногласия; Рег = РегистрыСведений.СостоянияВозвратТоваровОтПокупателя;
Выборка = Рег.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияРеализаций.Покрытие Тогда Выборка.ПолучитьМенеджерЗаписи().Удалить(); КонецЕсли;
Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияАктРазногласия.Покрытие Тогда Выборка.ПолучитьМенеджерЗаписи().Удалить(); КонецЕсли;
Если Выборка.Документ = Документ.Документ И Выборка.Состояние = Перечисления.СостоянияВозвратТоваровОтПокупателя.Покрытие Тогда Выборка.ПолучитьМенеджерЗаписи().Удалить(); КонецЕсли;
Если НЕ ЗначениеЗаполнено(Сообщение) Тогда Возврат; КонецЕсли;
Попытка ИД = Новый УникальныйИдентификатор(Сообщение); Исключение Предупреждение("Ошибка считывания штрихкода. Пересканируйте последний документ."); Возврат; КонецПопытки;
Для Каждого ТекСтрока Из Метаданные.Документы Цикл
СсылкаНаДокумент = Документы[ТекСтрока.Имя].ПолучитьСсылку(ИД); Объект = СсылкаНаДокумент.ПолучитьОбъект();
Если Объект <> Неопределено Тогда
РезПоиска = СканированныеДокументы.Найти(Объект.Ссылка,"Документ"); Если НЕ РезПоиска = Неопределено Тогда НоваяСтрока = РезПоиска; Сообщить("Документ "+Объект.Ссылка+" уже присутствует в таблице. Запись обновлена. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация); Иначе НоваяСтрока = СканированныеДокументы.Добавить(); Сообщить("Документ "+Объект.Ссылка+" добавлен в таблицу. Тек. дата/время: " + ТекущаяДата(), СтатусСообщения.Информация); КонецЕсли;
НоваяСтрока.Документ = Объект.Ссылка; НоваяСтрока.Контрагент = Объект.Ссылка.Контрагент; Если мИзменениеСтатусаДоступно Тогда
Если ТоварОтгружен = 1 Тогда НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ТоварОтгружен; ИначеЕсли ТоварОтгружен = 2 Тогда НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа; ИначеЕсли ТоварОтгружен = 3 Тогда НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.ВозвратНаСклад; Иначе НоваяСтрока.СостояниеДокумента = Перечисления.СостоянияРеализаций.Покрытие; КонецЕсли;
СостояниеПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОсновноеСостояниеРеализации"); Если СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ТоварОтгружен Тогда ТоварОтгружен = 1; ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ОжиданиеДозаказа Тогда ТоварОтгружен = 2; ИначеЕсли СостояниеПоУмолчанию = Перечисления.СостоянияРеализаций.ВозвратНаСклад Тогда ТоварОтгружен = 3; Иначе ТоварОтгружен = 4; КонецЕсли;
ЭлементыФормы.ТоварОтгружен.Доступность = ДоступнаЭкспедиция; ЭлементыФормы.ОжиданеДозаказа.Доступность = ДоступнаЭкспедиция; ЭлементыФормы.ВозвратНаСклад.Доступность = ДоступнаЭкспедиция; ЭлементыФормы.Покрытие.Доступность = ДоступнаПокрытие; Если Не ДоступнаЭкспедиция И Не ДоступнаПокрытие Тогда Сообщить("У Вас нет прав устанавливать статус документа. Если Вам необходимы такие правта, то обратитесь к программисту!!!"); ЭтаФорма.Закрыть(); КонецЕсли; КонецПроцедуры
Функция ПоддерживаетсяВидТО(Вид) Экспорт
Результат = Ложь;
Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода Тогда Результат = Истина; КонецЕсли;
Возврат Результат;
КонецФункции // ПоддерживаетсяВидТО()
Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт
Возврат Ложь;
КонецФункции // СШКНеизвестныйКод()
// Процедура осуществляет обработку ошибки, произошедшей при работе со сканером // штрихкода. // // Параметры: // Ошибка - <ПеречислениеСсылка.ТООшибки*> // - Возникшая ошибка. // // Штрихкод - <Строка> // - Считанный штрихкод или пустая строка, если штрихкод не был // считан. // // ТипШК - <ПланыВидовХарактеристикСсылка.ТипыШтрихкодов> // - Тип штрихкода или пустая ссылка в случае, если тип не определён. // // СШК - <Строка> // - Идентификатор сканера штрихкода, с которым связано данное // событие. // Процедура СШКОшибка(Ошибка, Штрихкод, ТипШК, СШК) Экспорт
Текст = ПолучитьСерверТО().ПолучитьТекстОшибкиСШКТО(Ошибка, Штрихкод, ТипШК); Предупреждение(Текст);
Обработка.СчитываниеШтрихкода.Форма.Форма(50)}: Ошибка при вызове метода контекста (Записать) НаборЗаписейСостоянияРеализация.Записать(Истина); по причине: Запись не верна! Период не может быть пустым!: СостоянияРеализацийТоваровУслуг: 01.01.0001 00:00:00, , (Регистр сведений: Состояния реализаций товаров услуг; Номер строки: 1)
Как это вылечить ?
Обработку писал не я, досталась в наследство от програмера он уволился и контакта с ним нет.
Добрый день возникла проблема в НН при выгрузке в xml формате вид договора оставляет пустым. в печатной форме вид договора присутствует. Сверял модули формирования НН и набора данных для выгрузки с базовой конфой никаких отличий не нашол.
Как исправить нумерацию документа товарищи поломали нумерацию П2 к налоговым попробовал исправить через стандартные настройки документа не получилось
дописал в документ код для нумерации но всё равно нумерует не правильно
номер следующий номер должен начинаться УТР1250 а тянет УТР966 авто нумерацию отключил.
Процедура ПриОткрытии()
//МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю1,ЭлементыФормы.Номер = "УТрей" + "д"); МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера(Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю1,ЭлементыФормы.Номер); //Константа = Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МАКСИМУМ(Приложение2КНалоговойНакладной.Номер) КАК Номер |ИЗ | Документ.Приложение2КНалоговойНакладной КАК Приложение2КНалоговойНакладной |ГДЕ | Приложение2КНалоговойНакладной.Дата МЕЖДУ &НачГода И &КонГода | И Приложение2КНалоговойНакладной.Ссылка <> &Ссылка";
Запрос.УстановитьПараметр("КонГода", КонецГода(Дата)); Запрос.УстановитьПараметр("НачГода", НачалоГода(Дата)); Запрос.УстановитьПараметр("Ссылка",Ссылка); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Номер) тогда Номер=ВыборкаДетальныеЗаписи.Номер+2222; Иначе Номер=1; КонецЕсли;
//Номер = "УТРей1250"; //номер = Номер +1;
подскажите как правильно сделать этот нумератор
!
Правила, п.5. И пожалуйста ознакомьтесь с правилами форума, это уже третье подряд предупреждение. Больше предупреждений не будет, темы будут сразу удалятся!
Доброго времени суток. Подскажите как разобратся/исправить в 8.1 бух есть документ "Закрытие месяца" при попытке провести документ он просто зависает, нет ни сообщений об ошибке ни выброса из базы. База на SQL стандарт, свободного места валом, опера 3 гига.
А сразу об этом сказать самоуверенность не позволяет? Код от 7.7 так просто не подходит для 8.1, то шо вы делаете - это занятие фигней, надо переписывать код под 8-ку, а не исправлять ошибки
Если Н = 1 Тогда Окончание = "D"; Н1 = 2; ИначеЕсли (Н =2) или (Н = 3) или (Н = 5) Тогда Окончание = "S"; Н1 = Н + 1; Если Н = 5 Тогда Н1 = 5; КонецЕсли; ИначеЕсли (Н =12) Тогда Окончание = ""; Н1 = 4; Иначе Окончание = ""; Если Н = 4 Тогда Н1 = 5 Иначе Н1 = Н; КонецЕсли; КонецЕсли;
Проблема с авто обменом (умер старый сервер переключил на новый; обмен между РИБ через файловый ресурс) на главном сервере перестал работать обмен в режиме автомата не помогает ни расписание ни создание задачи по новой. При просмотре лога регламентных задач показывает что задача выполняется но обмена сообщениями между базами нет. в сервере 1с не стоит блокировка регламентных задач. В ручном режиме обмен проходит нормально.
ПОДСКАЖИТЕ что за трабла
1С Управление торговлей 8.1 (8.1.15.14)
Просьба не удалять в амин ветке не помогли может здесь помогут !
Проблема с авто обменом (умер старый сервер переключил на новый; обмен между РИБ через файловый ресурс) на главном сервере перестал работать обмен в режиме автомата не помогает ни расписание ни создание задачи по новой. При просмотре лога регламентных задач показывает что задача выполняется но обмена сообщениями между базами нет. в сервере 1с не стоит блокировка регламентных задач. В ручном режиме обмен проходит нормально.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!