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

Хранилище

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

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




Свернуть

> Добро пожаловать на наш форум

Здравствуйте уважаемый посетитель. К сожалению вы не были распознаны форумом как зарегистрированный пользователь. Для полноценного использования возможностей нашего форума вам необходимо зарегистрироваться. Если вы уже зарегистрированы на форуме, то вам необходимо пройти авторизацию, используя Ваш логин и пароль.

Логин:   
Пароль:
 

Форум:

Новые темы (за 20 дней):

Последние сообщения:

Наши сервисы:

Дополнительно:

Новости для бухгалтера:

 
Проблема несоответствия кодировок MS SQL 2014 [раздел Базы данных]
Автор CapitalistOleg — 02.06.23, 11:01 — 1 комментариев
Создал базу с кодировкой "Cyrillic_General_CI_AS".

Загрузил туда dt. Запускаю. Получаю ошибку

Microsoft SQL Server Native Client 11.0: Cannot resolve collation conflict between "Cyrillic_General_CI_AS" and "Latin1_General_CI_AS" in UNION ALL operator occurring in SELECT statement column 3.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=10, native=451, line=1

ругается на выборку поля с неограниченной длинной. ПОДСТРОКА в запросе использую, не помогает.
Изменить кодировку
ALTER DATABASE
на загруженной базе нельзя. Ладно, хорошо.

Удаляю, создаю новую базу с кодировкой "Latin1_General_CI_AS"
Загружаю туда dt. Смотрю: кодировка снова стала "Cyrillic_General_CI_AS"
Ошибку получаю ту же самую.

Загадка для меня, как это работает на источнике. Посмотреть нет возможности. Мне присылают только dt.
Как такое починить?

Просмотров: 47, последний комментарий от zay   
Маршрутный лист берет ненужные накладные [раздел Программирование в 1С Предприятие 8.3]
Автор burza — 01.06.23, 13:21 — 7 комментариев
Есть маршрутный лист на сегодня выделяеться жирным сколько нужно денег за него, а есть долги до сегодня вот бы их в одну строку а не все накладные с сумами. подскажите как реализовать,уже голову сломил)
Если удалить само поле наклданая тогда да будет одна строка. но тут нужно имено которая жырная а остальные уже нет



Код
    ТабличныйДокумент = Новый ТабличныйДокумент;
    
    Если ИмяМакета="МаршрутныйЛист" Тогда
        
        ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_МаршрутныйЛистПродажи";
        
        ПервыйДокумент = Истина;
        
        Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.МаршрутныйЛистПродажи.ПФ_MXL_МаршрутныйЛистПродажи");
        
        КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм();    
        Макет.КодЯзыкаМакета = КодЯзыкаПечать;
    
        Запрос = Новый Запрос();
        Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
        Запрос.Текст =
        "ВЫБРАТЬ
        |    МаршрутныйЛистПродажи.Ссылка КАК Ссылка,
        |    МаршрутныйЛистПродажи.Дата КАК ДатаДокумента,
        |    МаршрутныйЛистПродажи.Номер КАК Номер,
        |    МаршрутныйЛистПродажи.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
        |    МаршрутныйЛистПродажи.ГруппаКлиентов КАК ГруппаКлиентов
        |ИЗ
        |    Документ.МаршрутныйЛистПродажи КАК МаршрутныйЛистПродажи
        |ГДЕ
        |    МаршрутныйЛистПродажи.Ссылка В(&МассивОбъектов)
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    МаршрутныйЛистПродажиЗаказы.Ссылка КАК Ссылка,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная КАК РасходнаяНакладная,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Номер КАК НомерРН,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Дата КАК ДатаРН,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Вес КАК Вес,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Объем КАК Объем,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.Контрагент КАК Контрагент,
        |    0 КАК СуммаДолга,
        |    1 КАК ПринадлежитМаршруту,
        |    МаршрутныйЛистПродажиЗаказы.РасходнаяНакладная.СуммаДокумента КАК СуммаОтгрузки,
        |    МаршрутныйЛистПродажиЗаказы.Ссылка.ГруппаКлиентов КАК ГруппаКлиентов
        |ПОМЕСТИТЬ ВТ_Маршрут
        |ИЗ
        |    Документ.МаршрутныйЛистПродажи.Заказы КАК МаршрутныйЛистПродажиЗаказы
        |ГДЕ
        |    МаршрутныйЛистПродажиЗаказы.Ссылка В(&МассивОбъектов)
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    Контрагенты.Ссылка КАК Контрагент,
        |    МаршрутныйЛистПродажи.Ссылка КАК МЛист
        |ПОМЕСТИТЬ ВТ_КлиентыМЛиста
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПродажи КАК МаршрутныйЛистПродажи
        |        ПО (МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель
        |                ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель
        |                ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель.Родитель
        |                ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель.Родитель.Родитель
        |                ИЛИ МаршрутныйЛистПродажи.ГруппаКлиентов = Контрагенты.Родитель.Родитель.Родитель.Родитель.Родитель)
        |ГДЕ
        |    Контрагенты.ЭтоГруппа = ЛОЖЬ
        |    И МаршрутныйЛистПродажи.Ссылка В(&МассивОбъектов)
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    РасчетыСПокупателямиОстатки.Контрагент КАК Контрагент,
        |    РасчетыСПокупателямиОстатки.Документ КАК Документ,
        |    МАКСИМУМ(РасчетыСПокупателямиОстатки.СуммаОстаток) КАК СуммаОстаток,
        |    СУММА(0) КАК Вес,
        |    СУММА(0) КАК Объем,
        |    СУММА(0) КАК ПринадлежитМаршруту,
        |    СУММА(0) КАК СуммаОтгрузки,
        |    ВТ_КлиентыМЛиста.МЛист КАК Ссылка
        |ПОМЕСТИТЬ ВТ_Долги
        |ИЗ
        |    ВТ_КлиентыМЛиста КАК ВТ_КлиентыМЛиста
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПокупателями.Остатки(, ) КАК РасчетыСПокупателямиОстатки
        |        ПО ВТ_КлиентыМЛиста.Контрагент = РасчетыСПокупателямиОстатки.Контрагент
        |
        |СГРУППИРОВАТЬ ПО
        |    РасчетыСПокупателямиОстатки.Контрагент,
        |    РасчетыСПокупателямиОстатки.Документ,
        |    ВТ_КлиентыМЛиста.МЛист
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_Маршрут.Ссылка КАК Ссылка,
        |    ВТ_Маршрут.РасходнаяНакладная КАК РасходнаяНакладная,
        |    СУММА(ВТ_Маршрут.Вес) КАК Вес,
        |    СУММА(ВТ_Маршрут.Объем) КАК Объем,
        |    ВТ_Маршрут.СуммаДолга КАК СуммаДолга,
        |    ВТ_Маршрут.Контрагент КАК Контрагент,
        |    ВТ_Маршрут.ПринадлежитМаршруту КАК ПринадлежитМаршруту,
        |    ВТ_Маршрут.СуммаОтгрузки КАК СуммаОтгрузки
        |ПОМЕСТИТЬ ВТ
        |ИЗ
        |    ВТ_Маршрут КАК ВТ_Маршрут
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ_Маршрут.Ссылка,
        |    ВТ_Маршрут.РасходнаяНакладная,
        |    ВТ_Маршрут.Контрагент,
        |    ВТ_Маршрут.СуммаДолга,
        |    ВТ_Маршрут.ПринадлежитМаршруту,
        |    ВТ_Маршрут.СуммаОтгрузки
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    ВТ_Долги.Ссылка,
        |    ВТ_Долги.Документ,
        |    ВТ_Долги.Вес,
        |    ВТ_Долги.Объем,
        |    ВТ_Долги.СуммаОстаток,
        |    ВТ_Долги.Контрагент,
        |    ВТ_Долги.ПринадлежитМаршруту,
        |    ВТ_Долги.СуммаОтгрузки
        |ИЗ
        |    ВТ_Долги КАК ВТ_Долги
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ.Ссылка КАК Ссылка,
        |    ВТ.Ссылка.Дата КАК ДатаДок,
        |    ВТ.РасходнаяНакладная КАК РасходнаяНакладная,
        |    СУММА(ВТ.Вес) КАК Вес,
        |    СУММА(ВТ.Объем) КАК Объем,
        |    СУММА(ВТ.СуммаДолга) КАК СуммаКОплате,
        |    ВТ.Контрагент КАК Контрагент,
        |    СУММА(ВТ.ПринадлежитМаршруту) КАК ПринадлежитМаршруту,
        |    СУММА(ВТ.СуммаОтгрузки) КАК СуммаОтгрузки
//        |    ВТ.РасходнаяНакладная.Дата КАК ДатаНакладной
        |ИЗ
        |    ВТ КАК ВТ
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ.Ссылка,
        |    ВТ.РасходнаяНакладная,
        |    ВТ.Контрагент,
        |    ВТ.Ссылка.Дата
        |
        |УПОРЯДОЧИТЬ ПО
        |    Ссылка,
        |    Контрагент,
//        |    ДатаНакладной УБЫВ,
        |    РасходнаяНакладная УБЫВ";
        
        Результат = Запрос.ВыполнитьПакет();
        ВыборкаДокументов = Результат[0].Выбрать();
        ТаблицаЗаказов = Результат[5].Выгрузить();
        
        ТаблицаЗаказов.Колонки.Добавить("ДатаНакладной");
        Для каждого СтрокаЗаказ Из ТаблицаЗаказов Цикл
            Попытка
                СтрокаЗаказ.ДатаНакладной = СтрокаЗаказ.РасходнаяНакладная.Дата;
            Исключение
                СтрокаЗаказ.ДатаНакладной = Дата(2020,01,01);
            КонецПопытки;
        КонецЦикла;
        ТаблицаЗаказов.Сортировать("Ссылка,Контрагент,ДатаНакладной Убыв,РасходнаяНакладная Убыв");
        
        
        списокВидДок = Новый Соответствие;
        списокВидДок.Вставить(Тип("ДокументСсылка.РасходнаяНакладная"),"Расх.Накл. №");
        списокВидДок.Вставить(Тип("ДокументСсылка.ПоступлениеВКассу"),"Пост. в Кассу №");
        списокВидДок.Вставить(Тип("ДокументСсылка.ПоступлениеНаСчет"),"Пост. в Банк №");
        списокВидДок.Вставить(Тип("ДокументСсылка.ПриходнаяНакладная"),"Возвр.Накл. №");
        
        
        Пока ВыборкаДокументов.Следующий() Цикл
            ТекущийДокумент = ВыборкаДокументов.Ссылка;
            
            Если НЕ ПервыйДокумент Тогда
                ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
            КонецЕсли;
            ПервыйДокумент = Ложь;
            
            НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
            
            
            НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ВыборкаДокументов.Номер, Истина, Истина);
            
            ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокДокумента");
            ОбластьМакета.Параметры.ЗаголовокДокумента = НСтр("ru='Маршрутный лист № ';uk='Маршрутний лист № '", КодЯзыкаПечать)
                + НомерДокумента
                + НСтр("ru=' от ';uk=' від '", КодЯзыкаПечать)
                + Формат(ВыборкаДокументов.ДатаДокумента, "Л="+КодЯзыкаПечать+"; ДЛФ=DD");
                
            ТабличныйДокумент.Вывести(ОбластьМакета);
            
            ОбластьМакета = Макет.ПолучитьОбласть("НаправлениеДоставки");
            ОбластьМакета.Параметры.печНаправление = ВыборкаДокументов.ГруппаКлиентов;                
            ТабличныйДокумент.Вывести(ОбластьМакета);
            
            ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
            ТабличныйДокумент.Вывести(ОбластьМакета);
            ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
            
            СтруктураОтбора = Новый Структура;
            СтруктураОтбора.Вставить("Ссылка", ВыборкаДокументов.Ссылка);
            СтрокиЗаказы = ТаблицаЗаказов.НайтиСтроки(СтруктураОтбора);
            
            ТаблицаДолгиКлиентов = ТаблицаЗаказов.Скопировать();
            ТаблицаДолгиКлиентов.Свернуть("Контрагент,Ссылка","СуммаКОплате");
            
            
            Вес = 0;
            Объем = 0;
            СуммаОтгрузки=0;
            КвоНакладных=0;
            ЖирныйШрифт = Новый Шрифт(, , Истина);
            Обычный = Новый Шрифт(, , Ложь);
            НачКлиент = Справочники.Контрагенты.ПустаяСсылка();
            ПерваяСтрока = Истина;
            Для каждого СтрокаЗаказ Из СтрокиЗаказы Цикл
                Если НЕ ЗначениеЗаполнено(СтрокаЗаказ.Контрагент) Тогда
                    Продолжить;
                КонецЕсли;
                ПараметрыОтбора = Новый Структура;
                ПараметрыОтбора.Вставить("Контрагент", СтрокаЗаказ.Контрагент);
                ПараметрыОтбора.Вставить("Ссылка",ВыборкаДокументов.Ссылка);
                НайденныеДолги = ТаблицаДолгиКлиентов.НайтиСтроки(ПараметрыОтбора);  
                ДолгКлиента=0;
                Для каждого СтрокаДолга Из НайденныеДолги Цикл
                    ДолгКлиента = СтрокаДолга.СуммаКОплате;
                КонецЦикла;
                //ДолгКлиента = ТаблицаДолгиКлиентов.Найти(СтрокаЗаказ.Контрагент,"Контрагент").СуммаКОплате;
                Если НЕ НачКлиент = СтрокаЗаказ.Контрагент И НЕ ПерваяСтрока Тогда
                    ОбластьМакета.Параметры.Заполнить(Новый Структура("печКлиент,НомерНакладной,ДатаНакладной,СуммаКОплате"));
                    ТабличныйДокумент.Вывести(ОбластьМакета);
                    
                    
                    Если СтрокаЗаказ.ПринадлежитМаршруту = 1 Тогда
                        ОбластьМакета.Область("СтрокаТаблицы").Шрифт = ЖирныйШрифт;
                    Иначе
                        ОбластьМакета.Область("СтрокаТаблицы").Шрифт = Обычный;
                    КонецЕсли;

                    ОбластьМакета.Параметры.печКлиент = СтрокаЗаказ.Контрагент;
                    ОбластьМакета.Параметры.НомерНакладной = "Общий долг на:";
                    ОбластьМакета.Параметры.ДатаНакладной = ВыборкаДокументов.ДатаДокумента;
                    ОбластьМакета.Параметры.СуммаКОплате = ДолгКлиента;
                    ТабличныйДокумент.Вывести(ОбластьМакета);
                    НачКлиент = СтрокаЗаказ.Контрагент;
                    
                КонецЕсли;
                Если ПерваяСтрока Тогда
                    Если СтрокаЗаказ.ПринадлежитМаршруту = 1 Тогда
                        ОбластьМакета.Область("СтрокаТаблицы").Шрифт = ЖирныйШрифт;
                    Иначе
                        ОбластьМакета.Область("СтрокаТаблицы").Шрифт = Обычный;
                    КонецЕсли;
                    ОбластьМакета.Параметры.печКлиент = СтрокаЗаказ.Контрагент;
                    ОбластьМакета.Параметры.НомерНакладной = "Общий долг на:";
                    ОбластьМакета.Параметры.ДатаНакладной = ВыборкаДокументов.ДатаДокумента;
                    ОбластьМакета.Параметры.СуммаКОплате = ДолгКлиента;
                    ТабличныйДокумент.Вывести(ОбластьМакета);
                    НачКлиент = СтрокаЗаказ.Контрагент;
                КонецЕсли;
                ПерваяСтрока = ЛОЖЬ;
                
                //КОплатеПоЗаказу = ?(СтрокаЗаказ.КОплате<0, 0, СтрокаЗаказ.КОплате);
                Если СтрокаЗаказ.ПринадлежитМаршруту = 1 Тогда
                    ОбластьМакета.Область("СтрокаТаблицы").Шрифт = ЖирныйШрифт;
                    //ОбластьМакета.Параметры.Заполнить(СтрокаЗаказ);
                    //ОбластьМакета.Параметры.НомерНакладной = "Расх.Накладная №"+СтрокаЗаказ.НомерРН;
                    //ОбластьМакета.Параметры.ДатаНакладной = СтрокаЗаказ.ДатаРН;
                    Вес = Вес + СтрокаЗаказ.Вес;
                    Объем = Объем + СтрокаЗаказ.Объем;
                    СуммаОтгрузки = СуммаОтгрузки + СтрокаЗаказ.СуммаОтгрузки;
                    КвоНакладных = КвоНакладных + 1;
                Иначе
                    //ОбластьМакета.Параметры.НомерНакладной = "Расх.Накладная №"+СтрокаЗаказ.НомерЗаказа;
                    //ОбластьМакета.Параметры.ДатаНакладной = СтрокаЗаказ.ДатаЗаказа;
                    ОбластьМакета.Область("СтрокаТаблицы").Шрифт = Обычный;
                    //ОбластьМакета.Параметры.Заполнить(СтрокаЗаказ);
                КонецЕсли;
                ОбластьМакета.Параметры.Заполнить(СтрокаЗаказ);
                ВидДокСтр = списокВидДок.Получить(ТипЗнч(СтрокаЗаказ.РасходнаяНакладная));
                Если ВидДокСтр = Неопределено Тогда
                    ВидДокСтр = "";
                КонецЕсли;
                Попытка
                    ОбластьМакета.Параметры.НомерНакладной = ВидДокСтр+СтрокаЗаказ.РасходнаяНакладная.Номер;
                Исключение
                    ОбластьМакета.Параметры.НомерНакладной = ВидДокСтр+"";
                КонецПопытки;
                Попытка
                    ОбластьМакета.Параметры.ДатаНакладной = СтрокаЗаказ.РасходнаяНакладная.Дата;
                Исключение
                    ОбластьМакета.Параметры.ДатаНакладной = "";
                КонецПопытки;
                ОбластьМакета.Параметры.РасшифровкаНакладная = СтрокаЗаказ.РасходнаяНакладная.Ссылка;
            
                Если НачКлиент = СтрокаЗаказ.Контрагент Тогда
                    ОбластьМакета.Параметры.печКлиент = "";
                Иначе
                    НачКлиент=СтрокаЗаказ.Контрагент;
                    Попытка
                        ОбластьМакета.Параметры.печКлиент = СокрЛП(СтрокаЗаказ.Контрагент)+" ("+СокрЛП(СтрокаЗаказ.РасходнаяНакладная.АдресДоставки)+")";
                    Исключение
                        ОбластьМакета.Параметры.печКлиент = СокрЛП(СтрокаЗаказ.Контрагент);
                    КонецПопытки;
                КонецЕсли;
                

                
            КонецЦикла;
            ОбластьМакета.Параметры.Заполнить(Новый Структура("печКлиент,НомерНакладной,ДатаНакладной,СуммаКОплате"));
            ТабличныйДокумент.Вывести(ОбластьМакета);
            
            ОбластьМакета = Макет.ПолучитьОбласть("Итоги");
            
            ОбластьМакета.Параметры.КвоНакладных = КвоНакладных;
            ОбластьМакета.Параметры.Вес = Вес;
            ОбластьМакета.Параметры.СуммаОтгрузки = СуммаОтгрузки;
            
            ТабличныйДокумент.Вывести(ОбластьМакета);
            

            
            УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ТекущийДокумент);
        КонецЦикла;
        
    КонецЕсли;
    
    ТабличныйДокумент.АвтоМасштаб = Истина;
    ТабличныйДокумент.ТолькоПросмотр = Истина;
    
    Возврат ТабличныйДокумент;
Просмотров: 225, последний комментарий от andreydv87   
СКД - как оформить вывод колонки в общем итоге [раздел Система компоновки данных]
Автор kserg2012 — 24.05.23, 9:44 — 5 комментариев
1С:Предприятие 8.3.14.1854
Управление торговым предприятием для Украины", редакция 1.2. (1.2.69.2)
Обычный формы

Имеется отчет на СКД, в котором данные выводятся по ряду группировок + в разрезе месяцев(колонки)


столкнулся с непонимаем как оформить ряд моментов при выводе данных

1. имеется колонка-ресурс "Кол-во абонентов" - мне надо чтобы эта колонка не выводилась в Общем итоге, т.к. здесь эти итоги не имеют смысла
2. как в заголовке колонки общего итога установить свое оформление (выделить и отцентрировать слово "Итого")

Подскажите пож-та какие есть способы решения этих задач
Спасибо
Просмотров: 283, последний комментарий от AnryMc   
Запрос к регистру бухгалтерии [раздел Программирование обычных форм 1С 8.2 и не интерфейсной логики]
Автор kostya77 — 23.05.23, 10:02 — 11 комментариев
Добрый день. Подскажите. как в запросе к регистру бухгалтерии отобрать только дебетовый оборот?
Просмотров: 277, последний комментарий от Talkman   
Відбір записів регістра по регістратору [раздел Программирование в 1С Предприятие 8.3]
Автор ZenBi — 23.05.23, 8:35 — 2 комментариев
Доброго дня Шановні.
Маю питання - Чи є нормальна можливість В ЗАПИТІ відбирати записи по певному регістратору?
Наводжу приклад:
Маю регістр накопичень. Він веде запис приблизно з десяти документів (писаний до мене).
Потрібно відібрати записи лише по одному документу (він же один із регістраторів).
Резістр підтягую як "залишки та обороти".
Так, я можу витягнути необхідне мені, при налаштуванні періодичності по регістратору, та задавши необхідну умову після строки ГДЕ... (наприклад "Регистратор ССЫЛКА Документ.КакойТоДокумент")
Але хотілося б це зробити на етапі відбору записів з самого регістру, а не ставити умову на вже відыбрані запитом записи.
Питання оптимізації.

Поправте або доповніть мене якщо я десь допустив помилку. Конструктивна критика вітається. Поради накшталп "перша ссилка в Гуглях" - ідіть лісом, там радять робити через умови.
Просмотров: 194, последний комментарий от alex-l1904   
Войти в IT и выйти из 1С [раздел Тематическое общение]
Автор CapitalistOleg — 19.05.23, 11:27 — 13 комментариев
Доброго дня, коллеги.
В этой статье, я хотел бы открыть обсуждения перехода из 1С на что-то, где платят более достойно и не так относятся к программистам.
Предлагаю вам пару ссылок. Наверняка у большинства из вас мысли такие же

1С. Злое видео
1С. Злое видео. Продолжение

Я в 1С уже 13 лет и со всем, о чем говорит спикер я сталкивался. Были и хорошие компании. Крайне большая редкость.

Выучился на курсах на С#. Думал, мой богатый опыт будет интересен новым работодателям. Сначала попробовал в украинские компании. Оказалось, что для них 1С-ный опыт вообще ничего не значит. Максимум предлагают на трейни. А в большинстве случаев узнают про 1С и заканчивают разговор.
Попробовал в зарубежные компании. Там наш опыт признается. Там смотрят, как ты умеешь писать алгоритмы. Но там я столкнулся с другой проблемой. Там обязательное требование, чтобы ты писал код при них в браузере. Без возможности запуска и отладки.
Тут человеческий фактор. Не все умеют писать код под надзором. Задачи простейшие, на уровне школьных. Обработка коллекций. Но я забываю все на свете в таких условиях biggrin.gif Путаю равно и не равно))

Английский язык. В украинских компаниях требование - upper-intermediate.
В зарубежных попроще. Главное, чтоб вас понять можно было. Очень повезет, если интервьюер не нейтив-спикер. Понять его можно. Нейтивы же тараторят себе под нос, съедают слова. Добавьте сюда еще искажение его микрофона и ваших наушников. В общем понять их крайне сложно.

Какие у вас мысли на этот счет? Кто уже пытался. Давайте делиться опытом))
Просмотров: 409, последний комментарий от Bernet   
Добавляем реквизит для Номенклатуры в расширении [раздел Программирование в 1С Предприятие 8.3]
Автор CapitalistOleg — 18.05.23, 12:23 — 0 комментариев
Платформа 8.3.12. УНФ для Грузии (ERP Solutions, Edition 1.6 (1.6.10.44))
Назначение расширения - дополнение

Номенклатура -> Добавить в расширение. Аналогично с Формой элемента и списка.
Добавил реквизит. Добавил его на форму элемента. В форме списка добавил его в запрос СписокЗапасы, перетащил на форму. Запускаю
В форме элемента он присутствует. На форме списка нет. В списке "Изменить форму" тоже нет. Да вообще в списке маловато реквизитов. Чтобы убедиться, что это та форма, подкрасил колонку Ед.изм. и свою. Запускаю
Форма та. Колонка Ед.изм цветная, моей колонки нет. Добавил на форму еще колонку из имеющихся в СписокЗапасы. Запускаю, эта колонка отобразилась. Моей колонки нет.
Создаю в расширении обработчик события ПриОткрытииПосле. Ставлю точку останова. Смотрю - Видимость моей колонки установлена.

Что еще я забыл сделать?
Просмотров: 163, оставить комментарий   
Как програмно можно ввести на основании счета расходную накладную [раздел Программирование в 1С Предприятие 7.7]
Автор kostya77 — 18.05.23, 8:04 — 2 комментариев
Добрый день. Подскажите, как програмно можно ввести на основании счета расходную накладную? Это нужно сделать обрабокой сразу для нескольких счетов
Просмотров: 188, последний комментарий от denis84   
Виконання запиту в циклі... в яких випадках можна ? [раздел Программирование в 1С Предприятие 8.3]
Автор alex-l1904 — 12.05.23, 8:46 — 5 комментариев
Доброго дня,
всім відомо, що запит в циклі це погано...

Але... якщо обробка результату кожного запиту триває по кілька хвилин,
то можна вважати, що це просто послідовне виконання запитів?

Як вважаєте ?
Просмотров: 266, последний комментарий от Batchir   
Использование Google Maps API [раздел Программирование в 1С Предприятие 8.3]
Автор sunion — 05.05.23, 13:32 — 4 комментариев
Доброго всем дня!

1С:Предприятие 8.3 (8.3.19.1726)
УТП для Украины, редакция 1.2. (1.2.43.1)

Где - то с конца апреля абсолютно рабочая обработка собственного авторства по нанесению маркеров торговых точек и маршрутов без всякого внесения в нее изменений перестала отображать маркеры.
Я упростил задачу, убрал весь функционал и оставил только вывод одного маркера по фиксированным координатам. В 1с не отображается. а в браузере (что FireFox, что Chrome) - работает.
Более того, продолжает работать весь функционал по прокладке маршрута. Версия платформы и УТП была опробована разная (но 8.3 и там и там).

Собственно, хотелось бы узнать, кто-то столкнулся с этим в последние дни? Если бы маркеры не работали в браузере, то был бы материал для поиска проблемы, а так непонятно, куда копать.
Просмотров: 325, последний комментарий от Bernet   
Як користуватися функцією НайтиПоСсылкам [раздел Программирование в 1С Предприятие 8.3]
Автор alex-l1904 — 05.05.23, 9:21 — 4 комментариев
Доброго дня,
підкажіть як користуватися функцією НайтиПоСсылкам,
треба аналізувати чи можна видаляти помічений на видалення документ.

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

    ВыборкаЗапроса = Запрос.Выполнить().Выбрать();
    
    Пока ВыборкаЗапроса.Следующий() Цикл
        
        
        
                Если ПроверкаВозможностиУдаления(ВыборкаЗапроса.Ссылка) Тогда
          
                      ТекОб =  ВыборкаЗапроса.Ссылка.ПолучитьОбъект();
                     ТекОб.удалить();
              
                  КонецЕсли;
        
        КолвоУд = КолвоУд + 1;


    КонецЦикла;
    
    Если КолвоУд > 0 Тогда
         Сообщить("Видалено "+Имя +" " +Строка(КолвоУд));
    КонецЕсли;
    
    Возврат КолвоУд
КонецФункции


допоможіть з кодом для ПроверкаВозможностиУдаления(ТекДокумент)

В СП
НайтиПоСсылкам(<СписокСсылок>, <ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты>)

Возвращаемое значение:
Тип: ТаблицаЗначений.
Возвращает ссылки на найденные объекты в виде ТаблицаЗначений.
Первая колонка - исходная ссылка.
Вторая колонка - ссылка на объект, если найденная ссылка соответствует объектной таблице, или значение, олицетворяющее запись необъектной таблицы.
Третья колонка - объект метаданных, которому соответствуют данные, в которых найдена ссылка.

Просмотров: 264, последний комментарий от sunion   
Як знайти дату найпершого документа на видалення [раздел Программирование в 1С Предприятие 8.3]
Автор alex-l1904 — 05.05.23, 8:21 — 1 комментариев
Доброго дня,
якщо треба знайти серед всіх типів документів дату найпершого з поміткою на видалення,
пропоную варіант рішення.

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

        КонецЕсли
    
    КонецЦикла;
    
    ТекстЗапроса = ТекстЗапроса + "
                            |ВЫБРАТЬ
                            |    &текДата; // ";

           ТекстЗапроса = ТекстЗапроса + "
          | ВЫБРАТЬ
          |    МИНИМУМ(ТаблДат.Дата) КАК Дата
          |ИЗ
          |    ТаблДат КАК ТаблДат";
          
    ЗапросПервогоДокумента.Текст =     ТекстЗапроса;
    ЗапросПервогоДокумента.УстановитьПараметр("текДата", ТекущаяДата());
    
    Выб = ЗапросПервогоДокумента.Выполнить().Выбрать();
    Выб.Следующий();
    
    ДатаПервого = Выб.Дата;


може хто запропонує як покращити ?
Просмотров: 228, последний комментарий от Vofka   
що виведе запит до регістру накопичень? [раздел Программирование в 1С Предприятие 8.3]
Автор ZenBi — 04.05.23, 15:28 — 6 комментариев
Дня доброго!
Коли звертаєшся до регістру накопичень "ОстаткиИОбороты" в налаштуваннях (параметры виртуальной таблицы) Можна вказати: Дату початку відбору, дату кінця відбору, періодичність, тощо...
Питання - з якого моменту запит почне збирати інформацію по регістру? (по ідеї від мершого запису, але це не точно)
(симулюємо ситуацію коли умові відбору не вказано, маємо лише дату закінчення відбору, та періодичність по регістратору)
Просмотров: 328, последний комментарий от ZenBi   
Не записався регістр при проведенні документа [раздел Программирование обычных форм 1С 8.2 и не интерфейсной логики]
Автор zay — 02.05.23, 12:57 — 3 комментариев
Доброго дня
Управління торговим підприємством для України 1.2.69.1
SQL Server 2019

  1. Користувач розрахував і провів нарахування відпуски з одним співробітником
  2. Потім замінив співробітника на іншого і провів документ
  3. У регістрі розрахунку залишився перший співробітник

Відповідно нарахування і виплата відпуски відбулася з помилковим співробітником, який був у регістрі розрахунку

Відтворити помилку на копії бази не вийшло. При проведенні документу нарахування відпуски у регістр записується правильний співробітник, із документа

Тобто на момент запису документа щось таке відбулося, що сам документ був записаний, але при цьому не відбувся запис у регістр розрахунку

Що могло спричинити таку ситуацію?
Просмотров: 240, последний комментарий от Batchir   
Как отправить сообщение пользователю? [раздел Программирование в 1С Предприятие 7.7]
Автор kostya77 — 01.05.23, 8:57 — 13 комментариев
Добрий день. В базе есть Документ1, его создает один пользователь №1, подскажите, как отправить сообщение пользователю №2, о создании этого документа ?
Просмотров: 410, последний комментарий от kostya77   
Неоперативное проведение документов при перезде на sql [раздел Программирование обычных форм 1С 8.2 и не интерфейсной логики]
Автор roman457 — 25.04.23, 19:43 — 1 комментариев
Доброго времени суток. Платформа 8,3,22 Конфигурация УТП Доработаная замерла в 8,2,55 версии .
Суть проблемs в том была файловая версия всё работало ( из слов заказчика) . А при смене файловой на серверную пересталм все документы отбивать оперативное время проведения.
Остановимся на одном документе "Заказ поставщику". по разным организациям у разнызх пользовалей ставилось разное время. В константах нашёл время начало и окончания работы . интервал .
Поигрался и был проигнорирован программой ( не дали изменения ни каких изменений). предполагаю что время как -то управляется sql севрером .
Задача . сделать так чтобы все документы проводились например 6.00 ( утра ). Можно допилить по строке все докумеенты , но уверен что так не правильно и должно быть решение .
Вопрос к знатокам . можно как-то это решить без изменения конфигурации .
И если не сложно ткнуть ссылку почему смена клиент серверной работы существенно помеяло устой всей логики . Спасбио .
Просмотров: 251, последний комментарий от andreydv87   
При оновленні конфігурації через підтримку пропонує починати оновлення з старшого релізу [раздел Программирование в 1С Предприятие 8.3]
Автор chernomoretc_cn — 25.04.23, 15:28 — 8 комментариев
Платформа:
1С:Підприємство 8.3 (8.3.16.1876)
Конфігурація:
"Управление торговым предприятием для Украины", редакция 1.2. (1.2.63.1) (http://1c.ua/v8/RegionalSolutions_UA_UTP.php)
Copyright © Molenari OU, 2017-2023. All rights reserved. На підтримці, із змінами.

При оновленні конфігурації через підтримку пропонує починати оговлення з 1.2.53.1
Зробив усі оновлення на тестовій базі (крпії), вніс зміни і спробував оновити. Знову пропонує почати з 1.2.53.1

Що я міг зробити? І чи можна якось це виправити?
Просмотров: 1399, последний комментарий от alex-l1904   
Подписка на событие для отчетов [раздел Программирование в 1С Предприятие 8.3]
Автор Talkman — 25.04.23, 14:58 — 5 комментариев
Добрый день. Стоит задача сделать интерактивную возможность разрешать/запрещать пользователям открывать различные отчеты. Думал сделать данный функционал через подписку на событие и проверку по справочнику, куда вносить данные по названию отчета и перечню пользователей с доступом. 1С 8.3.16.1659 УТ 2.3. В перечне подписок на событие есть событие ОтчетМенеджер.ОбработкаПолученияФормы. По смыслу вроде как подходит. При получении формы проверяю можно или нет пользователю открывать отчет и соответственно даю добро на открытие формы или нет. Но при отладке открытия отчета 1С-ка не прыгает в процедуру, описанную в обработчике. Где я просчитался и правильная ли моя логике в принципе?
Просмотров: 287, последний комментарий от andreydv87   
При создании справочника брать данные из реквизита на форме [раздел Программирование в 1С Предприятие 8.3]
Автор burza — 25.04.23, 13:58 — 4 комментариев
может конечно баян но всё же прошу помочь)

есть форма там заполняется покупатель и у него есть машина которую тоже нужно создать, нужно чтобы при создании машины в форму уже справочника втягивался покупатель из формы документа( в справочники это хозяин)
Просмотров: 237, последний комментарий от burza   
RSS Текстовая версия Сейчас: 04.06.23, 9:40
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!