Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )

6 страниц V   1 2 3 > » 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 10.05.18, 10:56


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Vidocq05
Извините тупанул, не там номер записывал. Все работает СПАСИБО)
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141439 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 10.05.18, 10:38


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Vidocq05 @ Сегодня, 11:25 * ,
Этот код взял и просто создал все документы по новому(они уже есть)! Мне не нужно загружать документы каждый раз новые.
Мне чтобы менялись только данные в документе а документы оставались прежние.
То есть так нету проверки на уже имеющиеся документы.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141435 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 10.05.18, 10:09


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Vidocq05 @ Сегодня, 11:06 * ,
&НаСервере
Процедура ПровестиИмпортВходящихПлатежей()
    
    ВыборкаБазДляИмпорта = РегистрыСведений.СоединенияСБазамиДанныхУТ.Выбрать();
    
    Пока ВыборкаБазДляИмпорта.Следующий() Цикл
        Если (ВыборкаБазДляИмпорта.ЗагружатьПриходБезналичный) Тогда
            Сообщить(ВыборкаБазДляИмпорта.СтрокаСоединения);
            
            СоединениеБух = СоединитьсяСБазой(ВыборкаБазДляИмпорта.СтрокаСоединения);
            Если СоединениеБух = неопределено тогда
                Сообщить("Произошла ошибка при соединении с базой предприятия " + ВыборкаБазДляИмпорта.СтрокаСоединения, СтатусСообщения.Внимание);
            Продолжить;
            иначе
                Сообщить("Успешно соединились с базой предприятия " + ВыборкаБазДляИмпорта.СтрокаСоединения, СтатусСообщения.Информация);
            конецЕсли;

            // Создаём запрос для выборки всех исходящих платежей за период
            запр =  СоединениеБух.NewObject("Запрос");
            запр.Текст = "ВЫБРАТЬ
            |    ЗаказКлиента.Номер КАК Номер,
            |    ЗаказКлиента.Дата,
            |    ЗаказКлиента.СуммаОплаты КАК СуммаОплаты,
            |    ЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
            |    ЗаказКлиента.ЧислоПутевок КАК ЧислоПутевок,
            |    ЗаказКлиента.Санаторий.Наименование КАК Санаторий,
            |    ЗаказКлиента.Партнер.Наименование КАК Партнер,
            |    ЗаказКлиента.РуководительГруппы.Наименование КАК РуководительГруппы,
            |    ЗаказКлиента.Контрагент.Наименование КАК  Контрагент
            |ИЗ
            |    Документ.ЗаказКлиента КАК ЗаказКлиента
            |ГДЕ
            |    ЗаказКлиента.Дата МЕЖДУ &НачалоПериода И &КонецПериода
            |    И ЗаказКлиента.Проведен = ИСТИНА
            |    И ЗаказКлиента.ПометкаУдаления = ЛОЖЬ
            |   И НЕ ЗаказКлиента.СуммаДокумента = &СуммаДокумента";
            
            запр.УстановитьПараметр("НачалоПериода", Объект.НачалоПериода);
            запр.УстановитьПараметр("КонецПериода", Объект.КонецПериода);
            запр.УстановитьПараметр("СуммаДокумента", 0);
        

            Выборка = запр.Выполнить().Выбрать();
            
                        
            Пока Выборка.Следующий() Цикл
                Сообщить("Загрузка документа №" + Выборка.Номер);
                Если ПроверитьСуществованиеДокумента(Выборка.Номер, Выборка.СуммаДокумента, НачалоГода(Выборка.Дата), КонецГода(Выборка.Дата)) тогда
                        Сообщить("Загрузка №" + Выборка.Номер + " невозможна, поскольку документ уже был загружен");
                        
                
                    Иначе    
        

                        
                    НачатьТранзакцию();
                    Док = Документы.СписокЗаявокУТ.НайтиПоНомеру(Выборка.Номер);
                    Док = Док.ПолучитьОбъект();
                    Док.Контрагент = Выборка.Контрагент;
                    Док.ЧислоПутевок = Выборка.ЧислоПутевок;
                    Док.СуммаДокумента = Выборка.СуммаДокумента;
                    Док.НомерЗаявки = Выборка.Номер;
                    Док.Санаторий =  ПодобратьСанаторий(Выборка.Санаторий);
                    Док.РуководительГруппы = Выборка.РуководительГруппы;
                    Док.Партнер   = Выборка.Партнер;
                    Док.Дата  = Выборка.Дата;
                    Док.Оплачено  = Выборка.СуммаОплаты;
                    Док.Записать();
                    ЗафиксироватьТранзакцию();

                КонецЕсли;

            КонецЦикла;
            

        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры


&НаСервере
Функция ПроверитьСуществованиеДокумента(Номер,СуммаДокумента, НачалоИнтервала, КонецИнтервала)
    Запрос = новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
        |СписокЗаявокУТ.Ссылка
        |ИЗ
        |Документ.СписокЗаявокУТ КАК СписокЗаявокУТ
        |ГДЕ
        |СписокЗаявокУТ.НомерЗаявки = &ПараметрСправочныйНомер
        |И СписокЗаявокУТ.Дата МЕЖДУ &ПараметрНачалоИнтервала И &ПараметрКонецИнтервала
        |И СписокЗаявокУТ.СуммаДокумента = &СуммаДокумента";
                  
    Запрос.УстановитьПараметр("СуммаДокумента", СуммаДокумента);
    Запрос.УстановитьПараметр("ПараметрСправочныйНомер", Номер);
    Запрос.УстановитьПараметр("ПараметрНачалоИнтервала", НачалоИнтервала);
    Запрос.УстановитьПараметр("ПараметрКонецИнтервала",  КонецИнтервала);    
    Результат = Запрос.Выполнить().Выбрать();

             Если Результат.Количество() = 0 Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;

    
КонецФункции
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141431 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 10.05.18, 10:02


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Vidocq05 @ Сегодня, 10:59 * ,
не работает(
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141429 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 10.05.18, 9:37


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Что не так?
{Обработка.ОбменДаннымиСТорговлей.Форма.Форма.Форма(150)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
Док = Док.ПолучитьОбъект();
по причине:
Элемент не выбран!

НачатьТранзакцию();
                    Док = Документы.СписокЗаявокУТ.НайтиПоНомеру(Выборка.Номер);
                    Док = Док.ПолучитьОбъект();
                    Док.Контрагент = Выборка.Контрагент;
                    Док.ЧислоПутевок = Выборка.ЧислоПутевок;
                    Док.СуммаДокумента = Выборка.СуммаДокумента;
                    Док.НомерЗаявки = Выборка.Номер;
                    Док.Санаторий =  ПодобратьСанаторий(Выборка.Санаторий);
                    Док.РуководительГруппы = Выборка.РуководительГруппы;
                    Док.Партнер   = Выборка.Партнер;
                    Док.Дата  = Выборка.Дата;
                    Док.Оплачено  = Выборка.СуммаОплаты;
                    Док.Записать();
                    ЗафиксироватьТранзакцию();
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141427 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 10.05.18, 8:07


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Никто больше не поможет. Только саркастические сообщение и все?!
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141426 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 08.05.18, 15:04


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


sava1 @ Сегодня, 15:59 * ,
вот что вылазит {Обработка.ОбменДаннымиСТорговлей.Форма.Форма.Форма(148)}: Поле объекта недоступно для записи (СуммаДокумента)
НовыйСписокЗаявокУТ.СуммаДокумента = Выборка.СуммаДокумента;
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141391 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 08.05.18, 14:53


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


burza @ Сегодня, 13:50 * ,
{Обработка.ОбменДаннымиСТорговлей.Форма.Форма.Форма(145)}: Метод объекта не обнаружен (ПолучитьОбъект)
НовыйСписокЗаявокУТ = Документы.СписокЗаявокУТ.ПолучитьОбъект();
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141389 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 08.05.18, 12:50


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


logist @ Сегодня, 13:46 * ,

какой код и где нужно дописать?)
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141385 · Ответов: 20 · Просмотров: 582
 

>  Обработка для выгрузки документов с УТ в самописную базу
burza
Отправлено: 08.05.18, 10:23


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Здравствуйте! Есть обработка для втягивание документов из одной базы в другую.
Проблема в том как перезаписывать уже имеющиеся документы при выгрузке если там есть изменения.
Сейчас я просто сравниваю на изменение по сумме ну и по коду чтобы дублей не было.Если сумма разная делается новый документ.
То есть номер не меняется, меняться может только сумма, и если она изменилась значит перезаписываем только сумму в уже созданном.


Тут проверка
&НаСервере
Функция ПроверитьСуществованиеДокумента(Номер,СуммаДокумента, НачалоИнтервала, КонецИнтервала)
    Запрос = новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
        |СписокЗаявокУТ.Ссылка
        |ИЗ
        |Документ.СписокЗаявокУТ КАК СписокЗаявокУТ
        |ГДЕ
        |СписокЗаявокУТ.НомерЗаявки = &ПараметрСправочныйНомер
        |И СписокЗаявокУТ.Дата МЕЖДУ &ПараметрНачалоИнтервала И &ПараметрКонецИнтервала
        |И СписокЗаявокУТ.СуммаДокумента = &СуммаДокумента";
                  
    Запрос.УстановитьПараметр("СуммаДокумента", СуммаДокумента);
    Запрос.УстановитьПараметр("ПараметрСправочныйНомер", Номер);
    Запрос.УстановитьПараметр("ПараметрНачалоИнтервала", НачалоИнтервала);
    Запрос.УстановитьПараметр("ПараметрКонецИнтервала",  КонецИнтервала);    
    Результат = Запрос.Выполнить().Выбрать();
    
      Если Результат.Количество() = 0 Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
    
КонецФункции


Запрос
    запр =  СоединениеБух.NewObject("Запрос");
            запр.Текст = "ВЫБРАТЬ
            |    ЗаказКлиента.Номер КАК Номер,
            |    ЗаказКлиента.Дата,
            |    ЗаказКлиента.СуммаОплаты КАК СуммаОплаты,
            |    ЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
            |    ЗаказКлиента.ЧислоПутевок КАК ЧислоПутевок,
            |    ЗаказКлиента.Санаторий.Наименование КАК Санаторий,
            |    ЗаказКлиента.Партнер.Наименование КАК Партнер,
            |    ЗаказКлиента.РуководительГруппы.Наименование КАК РуководительГруппы,
            |    ЗаказКлиента.Контрагент.Наименование КАК  Контрагент
            |ИЗ
            |    Документ.ЗаказКлиента КАК ЗаказКлиента
            |ГДЕ
            |    ЗаказКлиента.Дата МЕЖДУ &НачалоПериода И &КонецПериода
            |    И ЗаказКлиента.Проведен = ИСТИНА
            |    И ЗаказКлиента.ПометкаУдаления = ЛОЖЬ";
            
            запр.УстановитьПараметр("НачалоПериода", Объект.НачалоПериода);
            запр.УстановитьПараметр("КонецПериода", Объект.КонецПериода);
            

            Выборка = запр.Выполнить().Выбрать();
            
                        
            Пока Выборка.Следующий() Цикл
                Сообщить("Загрузка документа №" + Выборка.Номер);
                Если ПроверитьСуществованиеДокумента(Выборка.Номер, Выборка.СуммаДокумента, НачалоГода(Выборка.Дата), КонецГода(Выборка.Дата)) тогда
                        Сообщить("Загрузка №" + Выборка.Номер + " невозможна, поскольку документ уже был загружен");                
                    Иначе    
                    НачатьТранзакцию();
                    НовыйСписокЗаявокУТ = Документы.СписокЗаявокУТ.СоздатьДокумент();
                    НовыйСписокЗаявокУТ.Контрагент = Выборка.Контрагент;
                    НовыйСписокЗаявокУТ.ЧислоПутевок = Выборка.ЧислоПутевок;
                    НовыйСписокЗаявокУТ.СуммаДокумента = Выборка.СуммаДокумента;
                    НовыйСписокЗаявокУТ.НомерЗаявки = Выборка.Номер;
                    НовыйСписокЗаявокУТ.Санаторий =  ПодобратьСанаторий(Выборка.Санаторий);
                    НовыйСписокЗаявокУТ.РуководительГруппы = Выборка.РуководительГруппы;
                    НовыйСписокЗаявокУТ.Партнер   = Выборка.Партнер;
                    НовыйСписокЗаявокУТ.Дата  = Выборка.Дата;
                    НовыйСписокЗаявокУТ.Оплачено  = Выборка.СуммаОплаты;
                    НовыйСписокЗаявокУТ.Записать();
                    ЗафиксироватьТранзакцию();
                КонецЕсли;

            КонецЦикла;
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141381 · Ответов: 20 · Просмотров: 582
 

>  Нарастающие итоги документа Бюджет
burza
Отправлено: 02.05.18, 14:29


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Есть документ бюджет, при его создание заносим сумму остатка по кассам на первое число.(бюджет делается каждого месяца 1 числа)

Вот есть отчет
Как сделать чтобы отчет брал один раз с документа остаток а потом по нарастающему итогу и в следующую неделю.Начальный остаток - расход+приход=ОСТАТОК и его нужно переносить в начальный на каждую неделю, а сейчас берет одну и туже сумму.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #141196 · Ответов: 1 · Просмотров: 242
 

>  Как передать параметр с формы в отчет на СКД
burza
Отправлено: 25.04.18, 13:48


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


sava1 @ Сегодня, 14:44 * ,
значение могут быть разные до 3.

Как тогда это сделать через компоновщика?
  Форум: Система компоновки данных · Просмотр сообщения: #141073 · Ответов: 7 · Просмотров: 324
 

>  Как передать параметр с формы в отчет на СКД
burza
Отправлено: 25.04.18, 13:21


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


что еще можно дописать подсоветуйте
  Форум: Система компоновки данных · Просмотр сообщения: #141071 · Ответов: 7 · Просмотров: 324
 

>  Как передать параметр с формы в отчет на СКД
burza
Отправлено: 25.04.18, 13:06


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Vofka @ Сегодня, 13:47 * ,
не помогает(
  Форум: Система компоновки данных · Просмотр сообщения: #141069 · Ответов: 7 · Просмотров: 324
 

>  Как передать параметр с формы в отчет на СКД
burza
Отправлено: 25.04.18, 12:09


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Нужно при нажатие кнопки с документа брать его объект и передать в отчет для авто формирования на СКД. Вот что наваял.
Это форма
&НаКлиенте
Процедура ПоказатьОстатки(Команда)
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Подразделение", Объект.Подразделения);
    
    ОткрытьФорму("Отчет.ФПиФЗ.Форма.ФормаОтчета", ПараметрыФормы);
    
КонецПроцедуры

Это в отчете
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Подразделение"));
    Параметр.Значение = Параметры.Подразделение;
        
КонецПроцедуры


&НаКлиенте
Процедура ПриОткрытии(Отказ)
        
    Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Подразделение"));
    
КонецПроцедуры

Ну нечего не заполняет. Помогите.
  Форум: Система компоновки данных · Просмотр сообщения: #141066 · Ответов: 7 · Просмотров: 324
 

>  Отчет СКД вычисляемое поле
burza
Отправлено: 13.04.18, 9:19


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Не пойму почему не считает вычисляемое поле по суммам.



ВЫБРАТЬ
    ФинПлан.Статья,
    НАЧАЛОПЕРИОДА(ФинПлан.Дата, ДЕНЬ) КАК Дата,
    ФинПлан.Подразделение КАК Подразделения,
    СУММА(ФинПлан.СуммаФинПлана) КАК СуммаФинПлана,
    NULL КАК СуммаФинЗаявка,
    NULL КАК СуммаФакт
ИЗ
    (ВЫБРАТЬ
        БюджетРасходовИПриходовРасходыПоСтатьям.Дата КАК Дата,
        БюджетРасходовИПриходовРасходыПоСтатьям.Ссылка.Подразделение КАК Подразделение,
        БюджетРасходовИПриходовРасходыПоСтатьям.Статья КАК Статья,
        СУММА(БюджетРасходовИПриходовРасходыПоСтатьям.Сумма) КАК СуммаФинПлана
    ИЗ
        Документ.БюджетРасходовИПриходов.РасходыПоСтатьям КАК БюджетРасходовИПриходовРасходыПоСтатьям
    ГДЕ
        БюджетРасходовИПриходовРасходыПоСтатьям.Ссылка.Подразделение = &Подразделение
    
    СГРУППИРОВАТЬ ПО
        БюджетРасходовИПриходовРасходыПоСтатьям.Ссылка.Подразделение,
        БюджетРасходовИПриходовРасходыПоСтатьям.Дата,
        БюджетРасходовИПриходовРасходыПоСтатьям.Статья) КАК ФинПлан
ГДЕ
    ФинПлан.Подразделение = &Подразделение
    И ФинПлан.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
    ФинПлан.Статья,
    ФинПлан.Подразделение,
    НАЧАЛОПЕРИОДА(ФинПлан.Дата, ДЕНЬ)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗаявкаНаРасходованиеФинЗаявка.Статья,
    НАЧАЛОПЕРИОДА(ЗаявкаНаРасходованиеФинЗаявка.Дата, ДЕНЬ),
    ЗаявкаНаРасходованиеФинЗаявка.Ссылка.Подразделения,
    NULL,
    СУММА(ЗаявкаНаРасходованиеФинЗаявка.Сумма),
    NULL
ИЗ
    Документ.ЗаявкаНаРасходование.ФинЗаявка КАК ЗаявкаНаРасходованиеФинЗаявка
ГДЕ
    ЗаявкаНаРасходованиеФинЗаявка.Ссылка.Подразделения = &Подразделение
    И ЗаявкаНаРасходованиеФинЗаявка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
    ЗаявкаНаРасходованиеФинЗаявка.Ссылка.Подразделения,
    ЗаявкаНаРасходованиеФинЗаявка.Статья,
    НАЧАЛОПЕРИОДА(ЗаявкаНаРасходованиеФинЗаявка.Дата, ДЕНЬ)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Платеж.СтатьяДвиженияДенежныхСредств,
    НАЧАЛОПЕРИОДА(Платеж.Дата, ДЕНЬ),
    Платеж.Подразделение,
    NULL,
    NULL,
    СУММА(Платеж.СуммаВБазовойВалюте)
ИЗ
    Документ.Платеж КАК Платеж
ГДЕ
    Платеж.Подразделение = &Подразделение
    И Платеж.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
    Платеж.Подразделение,
    Платеж.СтатьяДвиженияДенежныхСредств,
    НАЧАЛОПЕРИОДА(Платеж.Дата, ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    Дата
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140697 · Ответов: 2 · Просмотров: 189
 

>  Нужно сравнить дынные с двух разных регистров накопления
burza
Отправлено: 12.04.18, 9:48


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Petre @ Сегодня, 10:20 * ,
Можно код?))
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140655 · Ответов: 5 · Просмотров: 178
 

>  Нужно сравнить дынные с двух разных регистров накопления
burza
Отправлено: 12.04.18, 8:53


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Есть 2 регистра в них записываются данные с 2х документов, Бюджет и заявка. Стоит задача сравнивать регистры,есть бюджет там есть статья и суммы и нужно при создании заявки чтобы она лезла в бюджет и смотрела можно ли провести сумму по статье. Иными словами проверка на расход.
Сделал так, но почему то сравнивается только одна статья а не по каждой, сейчас только админ работает.Что не так?


 Запрос = Новый Запрос;
  Запрос.Текст = "ВЫБРАТЬ
    |ФинЗаявкаОстатки.СуммаОстаток КАК СуммаФинЗаявка,
    |ФинЗаявкаОстатки.Статья КАК Статья,
    |БюджетРасходовИПриходовОстатки.СуммаОстаток КАК СуммаФинПлана
    |ИЗ
    |РегистрНакопления.ФинЗаявка.Остатки КАК ФинЗаявкаОстатки
    |ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.БюджетРасходовИПриходов.Остатки КАК БюджетРасходовИПриходовОстатки
    |ПО ФинЗаявкаОстатки.Подразделение = БюджетРасходовИПриходовОстатки.Подразделение
    |И ФинЗаявкаОстатки.Статья = БюджетРасходовИПриходовОстатки.СтатьяРасхода
    |ГДЕ
    |ФинЗаявкаОстатки.Подразделение = &Подразделение";
    
    Запрос.УстановитьПараметр("Подразделение", Объект.Подразделения);

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();
Выборка.Следующий();

    Для Каждого Строка Из Объект.ФинЗаявка Цикл
        
    Если Выборка.СуммаФинПлана < Выборка.СуммаФинЗаявка Тогда
Отказ = Истина;
Сообщить("Сумма больше чем ФинПлан на " + (Выборка.СуммаФинЗаявка - Выборка.СуммаФинПлана)+ " по статье " + Выборка.Статья )
КонецЕсли;
            
КонецЦикла;
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140651 · Ответов: 5 · Просмотров: 178
 

>  Вычислить общую сумму в табличной части
burza
Отправлено: 12.04.18, 8:41


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Petre @ 10.04.18, 11:06 * ,
Не добавил обнулить перед циклом) тупанул. Спасибо.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140650 · Ответов: 6 · Просмотров: 211
 

>  Вычислить общую сумму в табличной части
burza
Отправлено: 10.04.18, 8:35


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Petre @ Сегодня, 9:30 * ,
Да все работает но немного не так. Если например мы открываем документ и меняем там сумму или провели закрыли например 10 зашли удалил поле а 10 все ровно осталось.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140590 · Ответов: 6 · Просмотров: 211
 

>  Вычислить общую сумму в табличной части
burza
Отправлено: 10.04.18, 8:15


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Как в этой таблице найти общую сумму по типам платежа.Сейчас берет только первое число.


    Для Каждого Строка Из Объект.ФинЗаявка Цикл
        
        Если Строка.ТипПлатежа = Перечисления.ТипПлатежаФин.РасходПоКассе тогда
            
            Объект.Нал = Строка.Сумма;
            
        ИНАЧЕЕСЛИ Строка.ТипПлатежа = Перечисления.ТипПлатежаФин.РасходБезналичный тогда
            
         Объект.БезНал = Строка.Сумма;
        
     КонецЕсли;
            
КонецЦикла;
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140587 · Ответов: 6 · Просмотров: 211
 

>  Отчет регистра считает неправельно
burza
Отправлено: 04.04.18, 12:36


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


сделал так.Спасибо что подсказаи сделать обьединение)
ВЫБРАТЬ
    |ДенежныеСредстваНаличные.Сумма КАК СуммаПоСчету,
    |ДенежныеСредстваНаличные.Заказ.Контрагент КАК Контрагент,
    |ДенежныеСредстваНаличные.Заказ.Номер КАК НомерСчета
    |ИЗ
    |РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредстваНаличные
    |ГДЕ
    |ДенежныеСредстваНаличные.Заказ.Номер = &НомерСчета
    |ОБЪЕДИНИТЬ
    |ВЫБРАТЬ
    |ДенежныеСредстваКПоступлениюБезналичные.Сумма,
    |ДенежныеСредстваКПоступлениюБезналичные.Заказ.Контрагент,
    |ДенежныеСредстваКПоступлениюБезналичные.Заказ.Номер
    |ИЗ
    |РегистрНакопления.ДенежныеСредстваКПоступлениюБезналичные КАК ДенежныеСредстваКПоступлениюБезналичные
    |ГДЕ
    |ДенежныеСредстваКПоступлениюБезналичные.Заказ.Номер = &НомерСчета
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140408 · Ответов: 4 · Просмотров: 181
 

>  Отчет регистра считает неправельно
burza
Отправлено: 04.04.18, 12:21


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


cos12 @ Сегодня, 13:16 * ,
Без связей тоже не работает

cos12 @ Сегодня, 13:16 * ,
нет. ДенежныеСредстваНаличные и ДенежныеСредстваКПоступлениюБезналичные. с безнала я только сумму беру.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140406 · Ответов: 4 · Просмотров: 181
 

>  Отчет регистра считает неправельно
burza
Отправлено: 04.04.18, 12:00


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


Здравствуйте! Есть 2 документа приход по кассе нал и безнал. В запросе нужно считать общую сумму с 2 документов.Проблема в том что если нету одного прихода то и второй не считает, выводит сумму только если есть приход и там и там.Как мне сделать чтобы если нету прихода нал показывал только безнал и на оборот.
ВЫБРАТЬ
    ДенежныеСредстваНаличные.Заказ.Номер КАК НомерСчета,
    ДенежныеСредстваНаличные.Заказ.Контрагент КАК Контрагент,
    ДенежныеСредстваНаличные.Сумма КАК СуммаНал,
    ДенежныеСредстваКПоступлениюБезналичные.Сумма КАК СумаБезнал,
    ДенежныеСредстваНаличные.Сумма + ДенежныеСредстваКПоступлениюБезналичные.Сумма КАК СуммаПоСчету
ИЗ
    РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредстваНаличные
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваКПоступлениюБезналичные КАК ДенежныеСредстваКПоступлениюБезналичные
        ПО ДенежныеСредстваНаличные.Заказ.Номер = ДенежныеСредстваКПоступлениюБезналичные.Заказ.Номер
            И ДенежныеСредстваНаличные.Заказ.Контрагент = ДенежныеСредстваКПоступлениюБезналичные.Заказ.Контрагент
ГДЕ
    ДенежныеСредстваНаличные.Заказ.Номер = &НомерСчета
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140404 · Ответов: 4 · Просмотров: 181
 

>  Правильный расчет через цикл
burza
Отправлено: 28.03.18, 13:55


Завсегдатай
****

Группа: Пользователи
Сообщений: 138
Регистрация: 02.08.15
Пользователь №: 45113


В табличной части например 5 полей а СуммаПоСчету ставит на каждое поле (20 процентов), как эту сумму разбить на количество полей и добавить в СуммаПоСчету уже посредственно для самой строки.
Для Каждого Строка Из Объект.ОписаниеПутевки Цикл
    Строка.Количество = Окр(Строка.Количество / 100 * 20 + 0.5, 0, 0);
    Строка.СуммаПоСчету = Объект.СуммаПоСчетуБезСкидок / 100 * 20;
     Строка.ЦенаПутевки = Строка.СуммаПоСчету / Строка.Количество;
КонецЦикла;

Тоесть сейчас

А надо

  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #140173 · Ответов: 5 · Просмотров: 238
 

6 страниц V   1 2 3 > » 

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 22.06.18, 21:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне